Commit graph

29 commits

Author SHA1 Message Date
346714ab29 ✨ (pagetop): Mejora la elección de zona horaria
- Nuevas opciones `app.timezone_regions`, `app.timezone_order` y
  `app.timezone_per_user` para limitar y ordenar las regiones ofrecidas
  y decidir si cada usuario puede tener su propia zona horaria.
- Añade `TzRegion` y `TimezoneOrder`; `Timezone::supported_by_region()`
  devuelve ahora `TzRegion` y excluye los alias de la base IANA que
  repiten otra zona (tzdata 2025b).
- Añade `Timezone::is_supported_in()` para validar con otras regiones.
- `SelectTimezone` admite `with_regions()`, `with_order()` y
  `with_utc_offset()`, muestra nombres legibles y conserva la zona
  actual aunque ya no se ofrezca.
- `app.timezone` se resuelve sin distinguir mayúsculas.
- pagetop-user no ofrece idioma ni zona horaria si no se aplican y
  conserva lo guardado; acepta la zona actual aunque ya no se ofrezca.
2026-10-07 01:20:47 +02:00
90e4f85bd4 ✨ (datetime): Añade zona horaria y formato de fechas
Añade formatos `DateFormat`, `TimeFormat`, `RelativeFormat` y
`DatePrecision`, con estilos traducidos vía Fluent (orden día/mes/año,
nombre del mes, plurales). La zona horaria efectiva se resuelve por
petición, la propia del usuario autenticado si la tiene, si no la
configurada para la aplicación (`app.timezone`), o UTC en su defecto- y
se expone en `Contextual` junto a format_date(), format_time(),
format_datetime(), format_iso_datetime(), format_relative(),
format_since() y format_until().
2026-10-01 21:53:57 +02:00
82e64238bd 🔥 (config): Elimina la opción app.description 2026-07-14 18:20:01 +02:00
dbf0894894 ✨ (bootsier): Añade ajuste dev.bootsier_static_dir
Permite servir `css`, `js` y `fonts` desde disco mientras la aplicación
está en ejecución, sin necesidad de recompilar.
2026-06-20 19:47:19 +02:00
dfc1bdbc4c ✨ (seaorm): Incluye DbType y retoca docs de config 2026-06-02 00:24:45 +02:00
3951f1da1a 🎨 Corrige orden de atributos externos en structs
`///` debe preceder a `#[derive(...)]` al ser azúcar de `#[doc = "..."]`.
2026-06-01 23:32:28 +02:00
c1afe0e70c ♻️ Migra API pública de actix-web a Axum
- `configure_service` como `configure_router(Router) -> Router`.
- Macro `static_files_service!` como `serve_static_files!`.
- `ResultPage<M, E>` eliminado; handlers devuelven `Result<M, E>`.
- `ErrorPage` implementa `IntoResponse` en lugar de `ResponseError`.
- Registro con `OnceLock`; eliminados `drop_extensions` y `app.welcome`.
- `Redirect` devuelve `Response`; docs y ejemplos actualizados.
2026-05-31 23:38:43 +02:00
9c58d5e1d6 ♻️ (pagetop): Migra de actix-web a Axum
Sustituye el módulo `service` por `web` y adapta toda la API al modelo
de Axum: router inmutable, extractores via `FromRequestParts` y
servicios Tower para archivos estáticos.

- `HttpRequest` pasa a ser un tipo propio, mínimo y clonable.
- `configure_services` pasa a `configure_routes`.
- `EmbeddedFilesService` pasa a `ServeEmbedded`.
- Elimina `session_lifetime` de `Server` (va a `pagetop-auth`).
- Actualiza tests y ejemplos a la nueva API.
2026-05-30 22:30:58 +02:00
b76c4a4d23 🚧 (config): Opciones enumeradas para el log 2025-12-15 20:51:23 +01:00
16d6afbd98 🚧 (config): Nueva gestión de opciones enumeradas 2025-12-15 17:24:00 +01:00
7b340a19f3 ✨ (locale): Refactoriza el sistema de localización
- Modulariza la lógica de localización.
- Actualiza la estructura de `Locale` para mejorar la resolución y
  gestión de idiomas.
- Introduce `RequestLocale` para manejar la negociación de idioma basada
  en las peticiones HTTP.
- Mejora `L10n` para ofrecer una gestión más flexible de traducciones
  con argumentos dinámicos.
- Actualiza la implementación de `LangId` en `Page` para garantizar una
  identificación de idioma coherente.
- Elimina código obsoleto y simplifica la gestión de identificadores de
  idioma.
2025-12-14 14:33:35 +01:00
10a8a1136c ♻️ Refactoriza gestión de idiomas en el contexto 2025-12-03 22:55:24 +01:00
c4d0a2f613 ✨ Añade config. para activar página de bienvenida 2025-12-03 22:48:05 +01:00
6368e71413 🎨 (pagetop): Mejoras sencillas en doc. y código 2025-10-17 18:14:20 +02:00
075f61bf09 🚧 (core): Mueve Context al ámbito de componentes 2025-09-30 23:36:09 +02:00
6f11207d8e 📝 Mejora la documentación de recursos y contexto 2025-09-08 00:10:23 +02:00
b10d0aadf4 🚧 (context): Define un trait común de contexto 2025-09-07 21:06:50 +02:00
b315e6d08e 📝 (doc): Normaliza referencias al nombre PageTop 2025-09-03 21:05:35 +02:00
69fac6d9ea 🧑‍💻 Mejora la integración de archivos estáticos
Elimina el uso de `include_files!` y sustituye `include_files_service!`
por alternativas más completas ofreciadas por `static_files_service!`.
2025-08-16 12:15:16 +02:00
dfd100c842 💡 Retoques menores en comentarios para documentar 2025-08-03 13:36:00 +02:00
fd5b48811d ♻️ Refactoriza manejo de idiomas para localización 2025-08-03 11:58:47 +02:00
2bbb37bb5d ✨ Añade página de bienvenida y de comprobación
- Añade nueva hoja de estilos (normalize.css) al tema básico.
- Activa la extensión de la página de bienvenida por defecto en el
   registro de extensiones.
- Añade traducciones en inglés y español para el contenido de la página
  de bienvenida.
- Incluye estilos CSS y recursos gráficos para el diseño y disposición
  de la página de bienvenida.
2025-08-02 11:20:39 +02:00
e1265a04b6 🍱 Añade gestión de recursos estáticos de PageTop 2025-07-28 18:33:50 +02:00
c715935cbb ✨ Añade soporte para sesiones y cookies 2025-07-27 22:55:14 +02:00
861392430a ✨ Añade soporte a temas en la API de extensiones
- Incluye una opción de configuración para definir el tema por defecto.
- Añade un tema básico predeterminado.
2025-07-20 23:51:15 +02:00
f37a128044 🚩 Añade feature "testing"
- Permite desactivar trazas y registro de eventos al ejecutar tests.
- Añade opción de configuración para activar o desactivar las trazas.
2025-07-11 22:17:59 +02:00
896b066ca9 ✨ Añade soporte para localización y traducción
- Incluye recursos Fluent básicos y pruebas asociadas.
- Nueva variable de configuración global para definir el idioma
  predeterminado.
2025-07-09 20:39:39 +02:00
84e48a3357 ✨ Añade gestión de trazas y registro de eventos
- Reexporta macros esenciales de `tracing` para el registro de eventos.
- Inicializa el gestor de trazas en el servidor web.
2025-07-06 23:03:21 +02:00
f7dbd90af2 ✨ Añade lectura de configuración global y modular
- Soporta jerarquía de ficheros TOML que mapean ajustes a estructuras
  fuertemente tipadas con valores predefinidos.
- Permite definir configuraciones distintas para cada entorno.
- Añade la macro `include_config!` para facilitar la asignación modular
  de ajustes de configuración.
- Añade documentación detallada y tests de verificación.
2025-07-05 22:23:05 +02:00