mail based rss feed aggregator
2
fork

Configure Feed

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

rename ui/main_ui to frontend. rename ui/toaster to frontend/toaster update usages

ollie fa9d5d90 47caed6e

+14 -10
+2
src/eater/backend.gleam
··· 124 124 } 125 125 126 126 /// add a new subscription for a user 127 + /// 128 + /// - check if feed is valid 127 129 /// - save to database 128 130 /// - notify backend processes 129 131 ///
+1 -1
src/eater/fetcher.gleam
··· 154 154 woof.str("pid", string.inspect(process.self())), 155 155 ]) 156 156 157 - process.send_after(self, 1000, StartAll) 157 + process.send_after(self, 5000, StartAll) 158 158 159 159 actor.initialised(ManagerState( 160 160 self:,
+2 -2
src/eater/ui/main_ui.gleam src/eater/frontend.gleam
··· 1 - //// main_ui 1 + //// frontend 2 2 //// the main lustre server component 3 3 4 4 // eater ··· 19 19 import eater/backend 20 20 import eater/configuration 21 21 import eater/feed/rss 22 + import eater/frontend/toaster 22 23 import eater/smtp 23 - import eater/ui/toaster 24 24 import eater/user 25 25 import formal/form.{type Form} 26 26 import gcourier
src/eater/ui/toaster.gleam src/eater/frontend/toaster.gleam
+9 -7
src/eater/webserver.gleam
··· 3 3 4 4 import eater/backend 5 5 import eater/configuration 6 + import eater/frontend 6 7 import eater/smtp 7 - import eater/ui/main_ui 8 8 import ewe 9 9 import gleam/bytes_tree 10 10 import gleam/erlang/application ··· 184 184 185 185 type LoginSocket { 186 186 UiSocket( 187 - component: lustre.Runtime(main_ui.Message), 188 - self: process.Subject(server_component.ClientMessage(main_ui.Message)), 187 + component: lustre.Runtime(frontend.Message), 188 + self: process.Subject(server_component.ClientMessage(frontend.Message)), 189 189 ) 190 190 } 191 191 ··· 214 214 // token matches what we expect, upgrade 215 215 Ok(token) if token == expected_csrf_token -> { 216 216 let on_init = fn(_websocket: ewe.WebsocketConnection, selector) { 217 - let login = main_ui.component() 217 + let login = frontend.component() 218 218 219 219 let assert Ok(component) = 220 220 lustre.start_server_component( 221 221 login, 222 - with: main_ui.new_context( 222 + with: frontend.new_context( 223 223 csrf_token: token, 224 224 backend:, 225 225 smtp_environment:, ··· 262 262 fn handle_lustre_websocket_message( 263 263 connection: ewe.WebsocketConnection, 264 264 state: LoginSocket, 265 - message: ewe.WebsocketMessage(server_component.ClientMessage(main_ui.Message)), 265 + message: ewe.WebsocketMessage( 266 + server_component.ClientMessage(frontend.Message), 267 + ), 266 268 ) -> ewe.WebsocketNext( 267 269 LoginSocket, 268 - server_component.ClientMessage(main_ui.Message), 270 + server_component.ClientMessage(frontend.Message), 269 271 ) { 270 272 case message { 271 273 ewe.Text(json) -> {