use pagetop::prelude::*; static_files!(bulmix); pub struct Bulmix; impl PackageTrait for Bulmix { fn theme(&self) -> Option { Some(&Bulmix) } fn configure_service(&self, scfg: &mut service::web::ServiceConfig) { service_for_static_files!(scfg, bulmix => "/bulmix"); } } impl ThemeTrait for Bulmix { /* #[rustfmt::skip] fn builtin_classes(&self, builtin: ThemeBuiltInClasses) -> Option { match builtin { ThemeBuiltInClasses::BodyWrapper => Some(String::from("container")), ThemeBuiltInClasses::FlexWrapper => Some(String::from("container")), ThemeBuiltInClasses::RegionContainer => Some(String::from("container")), _ => Some(builtin.to_string()), } } */ fn after_prepare_body(&self, page: &mut Page) { page.alter_favicon(Some(Favicon::new().with_icon("/base/favicon.ico"))) .alter_assets(AssetsOp::AddStyleSheet( StyleSheet::at("/bulmix/css/bulma.min.css") .with_version("0.9.4") .with_weight(-99), )) .alter_assets(AssetsOp::AddBaseAssets) .alter_assets(AssetsOp::AddStyleSheet( StyleSheet::at("/bulmix/css/styles.css").with_version("0.0.1"), )); } #[rustfmt::skip] fn before_prepare_component(&self, component: &mut dyn ComponentTrait, _cx: &mut Context) { match component.type_id() { t if t == TypeId::of::() => { if let Some(i) = component_as_mut::(component) { i.alter_classes( ClassesOp::Replace(i.font_size().to_string()), with_font(i.font_size()), ); } } t if t == TypeId::of::