From 0564611c8e77e0f5791a3f4854bb456a8717e86a Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sun, 5 Oct 2025 13:21:31 +0200 Subject: feat(form): Provide basic form framework --- src/components/buy.rs | 56 ++++++++++++++++++++++++--------------------------- 1 file changed, 26 insertions(+), 30 deletions(-) (limited to 'src/components/buy.rs') diff --git a/src/components/buy.rs b/src/components/buy.rs index 86e9952..0c294ee 100644 --- a/src/components/buy.rs +++ b/src/components/buy.rs @@ -1,38 +1,34 @@ -use leptos::{ - IntoView, component, - html::Input, - prelude::{ClassAttribute, ElementChild, Get, NodeRef, OnAttribute, Set, signal}, - view, - web_sys::SubmitEvent, -}; +use leptos::{IntoView, component, view}; +use log::info; -use crate::components::{input_placeholder::InputPlaceholder, site_header::SiteHeader}; +use crate::components::{form::Form, input_placeholder::InputPlaceholder, site_header::SiteHeader}; #[component] pub fn Buy() -> impl IntoView { - let (product_barcode, set_product_barcode) = signal(String::new()); - - let input_element: NodeRef = NodeRef::new(); - - let on_submit = move |ev: SubmitEvent| { - // stop the page from reloading! - ev.prevent_default(); - - let value = input_element - .get() - // event handlers can only fire after the view - // is mounted to the DOM, so the `NodeRef` will be `Some` - .expect(" to exist") - .value(); - set_product_barcode.set(value); - }; - view! { -
- - - -

"Name is: " {product_barcode}

+ + {Form! { + on_submit = |Inputs {product_barcode, amount}| { + info!("Got product barcode: {product_barcode} with amount: {amount}"); + } + + + + }} } } -- cgit 1.4.1