♻️ (pagetop): Refactorización de Contextual

Los métodos `required_id()` y `push_message()` son operaciones de tiempo
de renderizado, no de construcción. Se trasladan como métodos inherentes
de `Context`. También se ajustan los métodos asociados a parámetros.
This commit is contained in:
Manuel Cillero 2026-04-12 13:43:32 +02:00
parent 318d7de2b6
commit 0419658192
7 changed files with 121 additions and 189 deletions

View file

@ -36,10 +36,10 @@ impl Component for Block {
return Ok(html! {});
}
let id = cx.required_id::<Block>(self.id());
let id = cx.required_id::<Self>(self.id(), 1);
Ok(html! {
div id=(id) class=[self.classes().get()] {
div id=(&id) class=[self.classes().get()] {
@if let Some(title) = self.title().lookup(cx) {
h2 class="block__title" { span { (title) } }
}

View file

@ -26,7 +26,7 @@ use std::sync::Arc;
/// ```rust
/// # use pagetop::prelude::*;
/// let component = Html::with(|cx| {
/// let user = cx.param::<String>("username").cloned().unwrap_or("visitor".to_string());
/// let user = cx.param_or("username", "visitor".to_string());
/// html! {
/// h1 { "Hello, " (user) }
/// }