summary refs log tree commit diff
path: root/src/components/app.rs
diff options
context:
space:
mode:
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()
 }