From c2d0c2a80d45350a7eb6e5f57eb5ad6bad8b8ed1 Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Thu, 16 Nov 2023 18:21:20 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Ensure=20block=20has=20renderabl?= =?UTF-8?q?e=20content?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop/src/base/component/block.rs | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/pagetop/src/base/component/block.rs b/pagetop/src/base/component/block.rs index b7925e40..ab23a726 100644 --- a/pagetop/src/base/component/block.rs +++ b/pagetop/src/base/component/block.rs @@ -31,24 +31,23 @@ impl ComponentTrait for Block { } fn setup_before_prepare(&mut self, _cx: &mut Context) { - self.classes.alter_value(ClassesOp::AddFirst, "block"); + self.classes.alter_value(ClassesOp::AddFirst, "pt-block"); } fn prepare_component(&self, cx: &mut Context) -> PrepareMarkup { - if self.components().is_empty() { - return PrepareMarkup::None; + let block_body = self.components().render(cx); + if !block_body.is_empty() { + let id = cx.required_id::(self.id()); + return PrepareMarkup::With(html! { + div id=(id) class=[self.classes().get()] { + @if let Some(title) = self.title().using(cx.langid()) { + h2 class="pt-block__title" { (title) } + } + div class="pt-block__body" { (block_body) } + } + }); } - let id = cx.required_id::(self.id()); - PrepareMarkup::With(html! { - div id=(id) class=[self.classes().get()] { - @if let Some(title) = self.title().using(cx.langid()) { - h2 class="block-title" { (title) } - } - div class="block-body" { - (self.components().render(cx)) - } - } - }) + PrepareMarkup::None } }