♻️ Cambia en prepare_component() el tipo devuelto

Elimina `PrepareMarkup` como tipo de retorno de prepare_component() y de
`FnPrepareRender`, sustituyéndolo directamente por `Markup`. Se elimina
una capa innecesaria, ya que html! {} y html! { ... } cubren todos los
casos que ofrecía `PrepareMarkup`.
This commit is contained in:
Manuel Cillero 2026-03-17 20:04:26 +01:00 committed by Manuel Cillero
parent 6203a02b89
commit 908fd969e4
28 changed files with 241 additions and 335 deletions

View file

@ -48,7 +48,7 @@ impl Component for Navbar {
});
}
fn prepare_component(&self, cx: &mut Context) -> PrepareMarkup {
fn prepare_component(&self, cx: &mut Context) -> Markup {
// Botón de despliegue (colapso u offcanvas) para la barra.
fn button(cx: &mut Context, data_bs_toggle: &str, id_content: &str) -> Markup {
let id_content_target = util::join!("#", id_content);
@ -75,13 +75,13 @@ impl Component for Navbar {
// Si no hay contenidos, no tiene sentido mostrar una barra vacía.
let items = self.items().render(cx);
if items.is_empty() {
return PrepareMarkup::None;
return html! {};
}
// Asegura que la barra tiene un `id` para poder asociarlo al colapso/offcanvas.
let id = cx.required_id::<Self>(self.id());
PrepareMarkup::With(html! {
html! {
nav id=(id) class=[self.classes().get()] {
div class="container-fluid" {
@match self.layout() {
@ -162,7 +162,7 @@ impl Component for Navbar {
}
}
}
})
}
}
}