dialtone_yew 0.1.0

Dialtone Yew Webapp
use crate::AppPublicSiteInfo;
use bounce::use_atom_value;
use dialtone_common::rest::sites::site_data::SiteNames;
use yew::prelude::*;

#[derive(Properties, PartialEq)]
pub struct SiteNameProps {
    pub short: bool,
}

#[function_component(SiteName)]
pub fn site_name(SiteNameProps { short }: &SiteNameProps) -> Html {
    let public_site_info = use_atom_value::<AppPublicSiteInfo>();
    let names = match &public_site_info.0 {
        None => SiteNames {
            short_name: "Err!".to_string(),
            long_name: "!! Site Unavailable !!".to_string(),
        },
        Some(n) => n.names.clone(),
    };
    let html = if *short {
        html! {
            <><span>{names.short_name}</span></>
        }
    } else {
        html! {
            <><span class={"dt_long_site_name"}>{names.long_name}</span>
            <span class={"dt_short_site_name"}>{names.short_name}</span></>
        }
    };
    html
}