diff --git a/pagetop/src/core/theme/definition.rs b/pagetop/src/core/theme/definition.rs index 20ac8c33..9cba6852 100644 --- a/pagetop/src/core/theme/definition.rs +++ b/pagetop/src/core/theme/definition.rs @@ -1,4 +1,3 @@ -use crate::base::component::L10n; use crate::core::component::{ComponentTrait, Context}; use crate::core::module::ModuleTrait; use crate::html::{html, Favicon, Markup}; @@ -51,20 +50,18 @@ pub trait ThemeTrait: ModuleTrait + Send + Sync { } fn prepare_head(&self, page: &mut Page) -> Markup { - let title = page.title(); - let description = page.description(); let viewport = "width=device-width, initial-scale=1, shrink-to-fit=no"; html! { head { meta charset="utf-8"; - @if !title.is_empty() { + @if let Some(title) = page.title() { title { (config::SETTINGS.app.name) (" - ") (title) } } @else { title { (config::SETTINGS.app.name) } } - @if !description.is_empty() { + @if let Some(description) = page.description() { meta name="description" content=(description); } diff --git a/pagetop/src/response/page.rs b/pagetop/src/response/page.rs index efdd60fe..f2268c5b 100644 --- a/pagetop/src/response/page.rs +++ b/pagetop/src/response/page.rs @@ -100,14 +100,12 @@ impl Page { // Page GETTERS. - pub fn title(&mut self) -> String { - self.title.using(self.context.langid()).unwrap_or_default() + pub fn title(&mut self) -> Option { + self.title.using(self.context.langid()) } - pub fn description(&mut self) -> String { - self.description - .using(self.context.langid()) - .unwrap_or_default() + pub fn description(&mut self) -> Option { + self.description.using(self.context.langid()) } pub fn metadata(&self) -> &Vec<(&str, &str)> {