summary refs log tree commit diff stats
path: root/src/components/product_overview.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-10-23 02:24:29 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-10-23 02:24:29 +0200
commit427ce16023613536b8176e6dee7c1580a5980c97 (patch)
treeab39dffcf89eacbcb19a251d540c46d9ee5b38d0 /src/components/product_overview.rs
parentfeat(buy): Provide basic buy interface (diff)
downloadweb-client-427ce16023613536b8176e6dee7c1580a5980c97.zip
feat(treewide): Make usage more intuitive
Diffstat (limited to 'src/components/product_overview.rs')
-rw-r--r--src/components/product_overview.rs38
1 files changed, 18 insertions, 20 deletions
diff --git a/src/components/product_overview.rs b/src/components/product_overview.rs
index 777baef..5413dc1 100644
--- a/src/components/product_overview.rs
+++ b/src/components/product_overview.rs
@@ -11,33 +11,31 @@ pub fn ProductOverview() -> impl IntoView {
         <Container
             header="Inventory"
             buttons=vec![
-                (
-                    view! { <IconP icon=icondata_io::IoClipboardOutline text="Inventory" /> },
-                    "inventory",
-                ),
+                (view! { <IconP icon=icondata_io::IoClipboard text="Inventory" /> }, "inventory"),
                 (view! { <IconP icon=icondata_io::IoPricetags text="Consume" /> }, "consume"),
                 (view! { <IconP icon=icondata_io::IoStorefront text="Buy" /> }, "buy"),
             ]
         >
             {
                 AsyncFetch! {
-                    fetcher = {get_products()}
-                producer = |products| {
-                  let products_num = products.len();
-                  let plural_s = if products_num == 1 { "" } else { "s" };
-                  let products_value = 2;
-                  let products_currency = "EUR";
+                    @map_error_in_producer
+                    fetcher = get_products(),
+                    producer = |products| {
+                        let products_num = products.len();
+                        let plural_s = if products_num == 1 { "" } else { "s" };
+                        let products_value = 2;
+                        let products_currency = "EUR";
 
-                  view! {
-                      <p>
-                          {format!(
-                              "You have {products_num} product{plural_s} \
-                                   in stock with a value \
-                                   of {products_value} {products_currency}.",
-                          )}
-                      </p>
-                  }
-            }
+                        view! {
+                            <p>
+                                {format!(
+                                    "You have {products_num} product{plural_s} \
+                                         in stock with a value \
+                                         of {products_value} {products_currency}.",
+                                )}
+                            </p>
+                        }
+                    }
                 }
             }
         </Container>