From 03dbb39bbc2621edda7b567b427db197beecf38c Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Sat, 21 Oct 2023 21:23:38 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A5=20Optional=20title=20and=20descrip?= =?UTF-8?q?tion=20in=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop/src/core/theme/definition.rs | 7 ++----- pagetop/src/response/page.rs | 10 ++++------ 2 files changed, 6 insertions(+), 11 deletions(-) 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)> {