diff options
author | tempest <git@ashen.earth> | 2025-04-13 16:40:05 -0600 |
---|---|---|
committer | tempest <git@ashen.earth> | 2025-04-13 16:40:05 -0600 |
commit | 128cc42557c8d7da46c63a40ea4469ed0eb7f26d (patch) | |
tree | 6b70766ec46061240a1d42fde100187697d60bc8 /src/components/app.rs | |
parent | e487e052b3cfcf90f6b831052e30323d3e744526 (diff) |
Compiles, cannot find data context
Diffstat (limited to 'src/components/app.rs')
-rw-r--r-- | src/components/app.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/components/app.rs b/src/components/app.rs index 5033359..a7ac5bd 100644 --- a/src/components/app.rs +++ b/src/components/app.rs @@ -63,6 +63,8 @@ struct PageParams { // Renders a page #[component] fn PageRender() -> impl IntoView { + use crate::actions::page::get_page_content; + let params = use_params::<PageParams>(); let page_path = params.read() @@ -72,8 +74,23 @@ fn PageRender() -> impl IntoView { .unwrap_or("Unknown path".to_string())) .unwrap_or("Could not read params".to_string()); + let page_data = Resource::new( + move || page_path.clone(), + |page_path| get_page_content(page_path) + ); + view! { - <WikiPage url_path=page_path /> + <Suspense + fallback=move || view! { <p>"Loading..."</p> } + > + {move || Suspend::new(async move { + let data = page_data.await; + match data { + Ok(_) => view! {<p>Loaded</p>}.into_any(), + Err(_) => view! {<p>Error</p>}.into_any(), + } + })} + </Suspense> }.into_any() } |