use chrono::{Local, NaiveDate}; use leptos::*; use rust_decimal::Decimal; use crate::backend::data::ApiResponse; use crate::components::modal_box::{DialogOpener, ModalBody, ModalDialog, ModalFooter}; use crate::components::validation_err::ValidationErr; use crate::locales::{loc_date, trl}; use crate::validator::Validator; #[component] pub fn res_error(opener: DialogOpener, validator: Validator) -> impl IntoView { view! { {trl("Close")} } } #[component] pub fn res_saved( opener: DialogOpener, save_result: RwSignal, ServerFnError>>>, day: RwSignal, price: WriteSignal, slots: WriteSignal>) -> impl IntoView { view! {{move ||{ if let Some(r) = save_result.get() { match r { Ok(ar) => { match ar { ApiResponse::Data(d) => { view! { {trl("Your reservation has been successfully saved.")} {trl("We look forward to seeing you on")}" "{loc_date(d)} {trl("Ok")} } }, ApiResponse::Error(err) => { view! { {trl("Reservation cannot be saved.")}{trl(&err)} {trl("Close")} } } } } Err(err) => { view! { {trl("Error while saving reservation.")}{trl(&err.to_string())} {trl("Close")} } } } } else { view! {} } }} } }
{trl("Your reservation has been successfully saved.")}
{trl("We look forward to seeing you on")}" "{loc_date(d)}