From 427ce16023613536b8176e6dee7c1580a5980c97 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 23 Oct 2025 02:24:29 +0200 Subject: feat(treewide): Make usage more intuitive --- src/pages/inventory.rs | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/pages/inventory.rs (limited to 'src/pages/inventory.rs') diff --git a/src/pages/inventory.rs b/src/pages/inventory.rs new file mode 100644 index 0000000..e5ff6ae --- /dev/null +++ b/src/pages/inventory.rs @@ -0,0 +1,54 @@ +use leptos::{ + IntoView, component, + prelude::{ClassAttribute, ElementChild}, + view, +}; +use rocie_client::models::{Product, ProductAmount, Unit}; + +use crate::{ + api::{get_full_product_by_id, get_products}, + components::{async_fetch::AsyncFetch, site_header::SiteHeader}, +}; + +#[component] +pub fn Inventory() -> impl IntoView { + view! { + + + + } +} + +fn render_products(products: Vec) -> impl IntoView { + products + .into_iter() + .map(|product| { + AsyncFetch! { + @map_error_in_producer + fetcher = get_full_product_by_id(product.id), + producer = format_full_product, + } + }) + .collect::>() +} + +fn format_full_product((product, amount, unit): (Product, ProductAmount, Unit)) -> impl IntoView { + view! { +
    +
  • {product.name}
  • +
  • + + {format!("{} {}", amount.amount.value, unit.short_name)} + +
  • +
+ } +} -- cgit 1.4.1