Subscriptions for Lustre!
5

Configure Feed

Select the types of activity you want to include in your feed.

fix demos

rebecca (Apr 30, 2026, 10:30 PM +0200) e637f880 97a4b7ac

+22 -27
+10 -11
demos/src/demos.gleam
··· 1 1 import component 2 2 import gleam/list 3 3 import gleam/option.{type Option, Some} 4 + import gleam/result 4 5 import justin 5 6 import lustre 6 7 import lustre/attribute ··· 83 84 } 84 85 85 86 fn init(_) -> #(Model, Effect(Msg)) { 86 - #( 87 - Model( 88 - selected: case list.first(demos) { 89 - Ok(name) -> name 90 - Error(_) -> "" 91 - }, 92 - theme: Light, 93 - ), 94 - effect.none(), 95 - ) 87 + let model = 88 + Model(selected: result.unwrap(list.first(demos), ""), theme: Light) 89 + #(model, effect.none()) 96 90 } 97 91 98 92 fn subscriptions(_model: Model) -> Subscription(Msg) { ··· 106 100 case msg { 107 101 DemoSelected(name) -> #( 108 102 Model(..model, selected: name), 109 - off_topic.set_local_storage(key: selected_key, value: Some(name)), 103 + off_topic.set_local_storage( 104 + key: selected_key, 105 + value: Some(name), 106 + notify: False, 107 + ), 110 108 ) 111 109 112 110 ToggleTheme -> { ··· 121 119 off_topic.set_local_storage( 122 120 key: theme_key, 123 121 value: Some(theme_string(theme)), 122 + notify: False, 124 123 ), 125 124 ]), 126 125 )
+6 -8
demos/src/demos/local_storage.gleam
··· 45 45 46 46 UserClickedIncrement -> { 47 47 let count = model.count + 1 48 - #( 49 - Model(count:), 50 - off_topic.set_local_storage(key:, value: Some(int.to_string(count))), 51 - ) 48 + #(Model(count:), save(count)) 52 49 } 53 50 54 51 UserClickedDecrement -> { 55 52 let count = model.count - 1 56 - #( 57 - Model(count:), 58 - off_topic.set_local_storage(key:, value: Some(int.to_string(count))), 59 - ) 53 + #(Model(count:), save(count)) 60 54 } 61 55 } 56 + } 57 + 58 + fn save(count: Int) -> Effect(Message) { 59 + off_topic.set_local_storage(key:, value: Some(int.to_string(count)), notify: True) 62 60 } 63 61 64 62 fn subscriptions(_model: Model) -> Subscription(Message) {
+6 -8
demos/src/demos/session_storage.gleam
··· 45 45 46 46 UserClickedIncrement -> { 47 47 let count = model.count + 1 48 - #( 49 - Model(count:), 50 - off_topic.set_session_storage(key:, value: Some(int.to_string(count))), 51 - ) 48 + #(Model(count:), save(count)) 52 49 } 53 50 54 51 UserClickedDecrement -> { 55 52 let count = model.count - 1 56 - #( 57 - Model(count:), 58 - off_topic.set_session_storage(key:, value: Some(int.to_string(count))), 59 - ) 53 + #(Model(count:), save(count)) 60 54 } 61 55 } 56 + } 57 + 58 + fn save(count: Int) -> Effect(Message) { 59 + off_topic.set_session_storage(key:, value: Some(int.to_string(count)), notify: True) 62 60 } 63 61 64 62 fn subscriptions(_model: Model) -> Subscription(Message) {