use maud::{Markup, Render, html}; use crate::ui::UIWidget; #[allow(non_snake_case)] pub fn Header(inner: T) -> HeaderWidget { HeaderWidget(Box::new(inner)) } pub struct HeaderWidget(Box); impl Render for HeaderWidget { fn render(&self) -> Markup { self.render_with_class("") } } impl UIWidget for HeaderWidget { fn can_inherit(&self) -> bool { true } fn base_class(&self) -> Vec { vec![] } fn extended_class(&self) -> Vec { let mut c = self.base_class(); c.extend_from_slice(&self.0.extended_class()); c } fn render_with_class(&self, class: &str) -> Markup { html! { header class=(class) { (self.0.as_ref()) } } } }