diff --git a/src/components/edit_quote.rs b/src/components/edit_quote.rs new file mode 100644 index 0000000..6ef8ec7 --- /dev/null +++ b/src/components/edit_quote.rs @@ -0,0 +1,38 @@ +use crate::components::{ + date_picker::{DatePicker, DatePickerInput}, + Input, +}; +use dioxus::prelude::*; + +use time::{macros::offset, OffsetDateTime}; + +#[component] +pub fn EditQuote() -> Element { + let mut quote = use_signal(String::new); + let mut source = use_signal(String::new); + let mut date = use_signal(|| { + Some( + OffsetDateTime::now_local() + .unwrap_or_else(|_| OffsetDateTime::now_utc().to_offset(offset!(-6))) + .date(), + ) + }); + + rsx! { + Input { + oninput: move |e: FormEvent| quote.set(e.value()), + placeholder: "Enter the quote", + value: quote, + } + Input { + oninput: move |e: FormEvent| source.set(e.value()), + placeholder: "Enter who said this", + value: source, + } + DatePicker { + selected_date: date(), + on_value_change: move |v| date.set(v), + DatePickerInput {} + } + } +} diff --git a/src/components/mod.rs b/src/components/mod.rs index 17b6ea7..3c8ab79 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -11,6 +11,9 @@ pub use input::Input; mod echo; pub use echo::Echo; +mod edit_quote; +pub use edit_quote::EditQuote; + pub mod calendar; pub mod date_picker; pub mod popover;