🎨 Convierte el ciclo de renderizado en async

`prepare()` de `Component`, `render()` de `Region` y `Template`, y la
implementación de `ComponentRender` pasan a ser funciones async. Se
actualizan todos los componentes base, helpers, tests y ejemplos.
This commit is contained in:
Manuel Cillero 2026-07-06 00:48:41 +02:00
parent 9acd8cc51a
commit 9354894b3a
48 changed files with 436 additions and 365 deletions

View file

@ -13,9 +13,10 @@ use crate::{AutoDefault, Getters};
/// # use pagetop::prelude::*;
/// # #[derive(Clone)]
/// # struct MyComponent;
/// # #[async_trait]
/// # impl Component for MyComponent {
/// # fn new() -> Self { MyComponent }
/// fn prepare(&self, _cx: &mut Context) -> Result<Markup, ComponentError> {
/// async fn prepare(&self, _cx: &mut Context) -> Result<Markup, ComponentError> {
/// Err(ComponentError::new("Database connection failed")
/// .with_fallback(html! { p class="error" { "Content temporarily unavailable." } }))
/// }