summary refs log tree commit diff
path: root/src/components/app.rs
diff options
context:
space:
mode:
authortempest <git@ashen.earth>2025-04-13 16:40:05 -0600
committertempest <git@ashen.earth>2025-04-13 16:40:05 -0600
commit128cc42557c8d7da46c63a40ea4469ed0eb7f26d (patch)
tree6b70766ec46061240a1d42fde100187697d60bc8 /src/components/app.rs
parente487e052b3cfcf90f6b831052e30323d3e744526 (diff)
Compiles, cannot find data context
Diffstat (limited to 'src/components/app.rs')
-rw-r--r--src/components/app.rs19
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()
 }