use leptos::prelude::*; use crate::backend::company::get_company; use crate::backend::data::{ApiResponse, Company}; use crate::components::modal_box::DialogOpener; use crate::locales::trl; use crate::pages::company_edit::CompanyEdit; #[component] pub fn CompanyInfo() -> impl IntoView { let editor = DialogOpener::new(); let company = Resource::new_blocking(move|| editor.visible(), move |_| { get_company() }); let (cmp, set_cmp) = signal(Company::default()); view! {
" "{trl("Company info")}
{trl("Loading...")}

}> {move || { company.get().map(|c| match c { Err(e) => {view! {

{trl("Error loading data")}

{e.to_string()}

}.into_any()} Ok(c) => { match c { ApiResponse::Data(d) => {set_cmp.update(|cmp| *cmp = d.clone()); view! {

{d.name}

{d.street}" "{d.house_number}
{d.zip_code}" "{d.city}

{trl("Customers can cancel a booking until (hours before its start)")}": "{d.cancel_hours}

}.into_any() } ApiResponse::Error(_) => {view! {

{trl("Error loading data")}

}.into_any()} } } }) }}
} }