commit 1027e3b1cbd7b0fa96aa64538c6f29827f64be22 parent fa2b520c8d21cb04b2b857da7192529608d90870 Author: triesap <triesap@radroots.dev> Date: Mon, 19 Jan 2026 15:38:52 +0000 app: wire idb init into root component - create backends and error signals for app init state - provide init signals as leptos contexts - run app_init_backends on mount via spawn_local - store init results without changing the main view Diffstat:
| M | app/src/app.rs | | | 15 | +++++++++++++++ |
1 file changed, 15 insertions(+), 0 deletions(-)
diff --git a/app/src/app.rs b/app/src/app.rs @@ -1,7 +1,22 @@ use leptos::prelude::*; +use leptos::task::spawn_local; + +use crate::{app_init_backends, AppBackends, AppInitError}; #[component] pub fn App() -> impl IntoView { + let backends = RwSignal::new_local(None::<AppBackends>); + let init_error = RwSignal::new_local(None::<AppInitError>); + provide_context(backends); + provide_context(init_error); + Effect::new(move || { + spawn_local(async move { + match app_init_backends().await { + Ok(value) => backends.set(Some(value)), + Err(err) => init_error.set(Some(err)), + } + }) + }); view! { <main>"app"</main> }