use super::*;
#[component]
pub(crate) fn nav_item(node: VirtualNode<NavItemProps>) -> VirtualNode {
let NavItemProps {
route_signal,
icon,
label,
target,
}: NavItemProps = node.try_get_props().unwrap_or_default();
html! {
euv_nav_item {
route_signal: route_signal
icon: icon
label: label
target: target
}
}
}
#[component]
pub(crate) fn mobile_nav_item(node: VirtualNode<MobileNavItemProps>) -> VirtualNode {
let MobileNavItemProps {
route_signal,
drawer_open,
icon,
label,
target,
}: MobileNavItemProps = node.try_get_props().unwrap_or_default();
html! {
euv_mobile_nav_item {
route_signal: route_signal
drawer_open: drawer_open
icon: icon
label: label
target: target
}
}
}
#[component]
pub(crate) fn build_desktop_nav_items(node: VirtualNode<BuildDesktopNavItemsProps>) -> VirtualNode {
let BuildDesktopNavItemsProps { route_signal }: BuildDesktopNavItemsProps =
node.try_get_props().unwrap_or_default();
html! {
div {
class: c_nav_items_scroll()
NAV_ITEMS.iter().map(|&(icon, label, target): &(&str, &str, &str)| {
html! {
nav_item {
route_signal: route_signal
icon: icon
label: label
target: target
}
}
}).collect::<Vec<_>>()
}
}
}
#[component]
pub(crate) fn build_mobile_nav_items(node: VirtualNode<BuildMobileNavItemsProps>) -> VirtualNode {
let BuildMobileNavItemsProps {
route_signal,
drawer_open,
}: BuildMobileNavItemsProps = node.try_get_props().unwrap_or_default();
html! {
div {
class: c_nav_items_scroll()
NAV_ITEMS.iter().map(|&(icon, label, target): &(&str, &str, &str)| {
html! {
mobile_nav_item {
route_signal: route_signal
drawer_open: drawer_open
icon: icon
label: label
target: target
}
}
}).collect::<Vec<_>>()
}
}
}