summary refs log tree commit diff stats
path: root/src/components/product_parent_overview.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-03-19 07:45:14 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-03-19 07:45:14 +0100
commitf6a3fb9c4d8dd86f78c9f75a23c1ac35bf35d4eb (patch)
tree5f28fbca03d83921b568f7cb1708374456d9ec42 /src/components/product_parent_overview.rs
parentfeat(treewide): Add further buttons (diff)
downloadweb-client-f6a3fb9c4d8dd86f78c9f75a23c1ac35bf35d4eb.zip
feat(treewide): Commit MVP
Diffstat (limited to 'src/components/product_parent_overview.rs')
-rw-r--r--src/components/product_parent_overview.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/components/product_parent_overview.rs b/src/components/product_parent_overview.rs
new file mode 100644
index 0000000..4aa2a0f
--- /dev/null
+++ b/src/components/product_parent_overview.rs
@@ -0,0 +1,37 @@
+use leptos::{IntoView, component, view};
+
+use crate::{
+    api::product_parents_wrapped,
+    components::{async_fetch::AsyncFetch, container::Container, icon_p::IconP},
+};
+
+#[component]
+pub fn ProductParentOverview() -> impl IntoView {
+    view! {
+        <Container
+            header="Products Parents"
+            buttons=vec![
+                (
+                    view! { <IconP icon=icondata_io::IoClipboard text="Show products" /> },
+                    "products",
+                ),
+                (
+                    view! { <IconP icon=icondata_io::IoPricetags text="Create product parent" /> },
+                    "create-product-parent",
+                ),
+            ]
+        >
+            {
+                AsyncFetch! {
+                    @map_error_in_producer
+                    fetcher = product_parents_wrapped(),
+                    producer = |product_parents| {
+                        view! {
+                            <p>{format!("You have {} product parents.", product_parents.len())}</p>
+                        }
+                    }
+                }
+            }
+        </Container>
+    }
+}