# FIGMA_ROUTE_MAPPING

## Objetivo

Mapear cada pantalla del proyecto con su ruta real y su fuente visual en Figma.

Este documento inicia solo con `Home`.

## Estado actual

- Alcance documentado: `Home`
- Fuente visual inspeccionada desde Figma para escritorio y móvil.
- La migración conserva la ruta, el controlador y el layout actuales; el slider se mantiene como componente ya implementado.

## Convencion de mapeo

Usar esta estructura por pantalla:

- Ruta real
- Controlador
- Vista PHP
- Layout
- Frame o enlace Figma
- Notas de integracion
- Estados o variantes pendientes

## Mapeo inicial

### Academia / Formación

- Ruta: `/formacion`
- Controlador: `AcademiaController::index`
- Vista: `app/Views/academia/inicio.php`
- Layout: `app/Views/Templates/main.php`
- Figma escritorio: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=195-17766)
- Figma móvil: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=206-19417)
- Referencia de comportamiento móvil: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=218-606)
- Notas:
  - La vista usa Tailwind y conserva los enlaces públicos a Academia, catálogo y donativos.
  - Los listados móviles utilizan desplazamiento horizontal nativo con `scroll-snap`; no dependen de Swiper ni de carruseles Bootstrap.
  - La navegación y el footer se reutilizan desde `Templates/main.php`, igual que en Lecturas.
  - Los assets usados por la pantalla se descargan desde Figma y se guardan en `public/assets/images/academia/`.

### Home

- Ruta: `/`
- Controlador: `HomeController::index`
- Vista: `app/Views/Home/index.php`
- Layout: `app/Views/Templates/main.php`
- Figma escritorio: [Pagina Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=1-1299)
- Nodo escritorio: `node-id=1-1299`
- Figma móvil: [Pagina Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=1-8)
- Nodo móvil: `node-id=1-8`
- Notas:
  - El layout actual carga `public/assets/css/styles.css`, el CSS compilado de Tailwind; no incorpora Bootstrap.
  - El slider/hero conserva su implementación existente y no se rehizo en esta iteración.
  - Se implementan dentro de la vista: Formación Integral, Nuestros servicios, Quiénes somos y CTA de donativos.
  - Los assets de Figma se almacenan temporalmente bajo `public/assets/images/home/` para evitar depender de URLs de exportación que caducan.
  - En móvil, las tarjetas de Formación Integral se muestran mediante desplazamiento horizontal, siguiendo el frame móvil.
- Pendientes:
  - Sustituir los assets temporales de Figma por recursos administrados por el proyecto cuando estén disponibles.
  - El termómetro de campaña del header queda fuera de este alcance.

### Lecturas — Primera lectura, Segunda lectura y Salmo

- Rutas: `/primera-lectura`, `/segunda-lectura` y `/salmo-de-hoy`
- Controlador: `LecturasController::lecturas`
- Vistas: `app/Views/lecturas/primeraLectura.php`, `app/Views/lecturas/segundaLectura.php` y `app/Views/lecturas/salmo.php`
- Layout: `app/Views/Templates/main.php`
- Parcial compartido: `app/Views/lecturas/_reading_content.php`
- Figma primera y segunda lectura: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=18-6)
- Figma salmo: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=18-427)
- Notas:
  - Se conservan los campos dinámicos de liturgia; la segunda lectura se muestra únicamente cuando el controlador la proporciona.
  - El dock móvil, selector de fecha e iconos reutilizan la implementación Tailwind de la pantalla Evangelio.
  - Las secciones Meditación, Oración y Acción de la primera lectura respetan el estado existente de reflexión.

### Liturgia de las horas — Laudes y Vísperas

- Rutas: `/laudes-de-hoy`, `/visperas-de-hoy` y sus variantes con fecha bajo `/lecturas/laudes/{dd-mm-aaaa}` y `/lecturas/visperas/{dd-mm-aaaa}`.
- Controlador: `LecturasController::lecturas`
- Vistas: `app/Views/lecturas/laudes.php` y `app/Views/lecturas/visperas.php`
- Layout: `app/Views/Templates/main.php`
- Parcial compartido: `app/Views/lecturas/_hours_content.php`
- Figma: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=53-1523)
- Notas:
  - El selector de fecha conserva el formato validado por el controlador: `dd-mm-aaaa`.
  - En móvil se usa el dock de navegación de Lecturas con Laudes/Vísperas como opciones activas.

### Evangelio — Del Evangelio a la vida

- Ruta: `/evangelio-de-hoy` y `/lecturas/evangelio/{dd-mm-aaaa}`.
- Controlador: `LecturasController::lecturas`.
- Vista: `app/Views/lecturas/evangelio.php`.
- Modelo de publicación: `EvangelioVidaModel`.
- Figma: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=17-1994).
- Notas:
  - La sección se renderiza solo para un snapshot de `tbl_evangelio_a_la_vida_publicado` con estatus `publicado` y recomendaciones válidas para la fecha litúrgica.
  - El sitio público no consulta IA, ni candidatos sin revisión, ni modifica datos.

### Artículos

- Ruta: `/articulos`
- Controlador: `ArticulosController::index`
- Vista: `app/Views/articulos/index.php`
- Layout: `app/Views/Templates/main.php`
- Figma escritorio: [Pagina Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=183-16307)
- Nodo escritorio: `node-id=183-16307`
- Notas:
  - La migración conserva la lógica existente de categorías y artículos recibidos desde el controlador.
  - Las categorías sin artículos no se imprimen en pantalla.
  - El hero conserva la imagen actual de la vista legacy y cambia únicamente su estructura visual.
  - Los filtros se presentan como barra sticky inferior y consumen los endpoints existentes de filtros y búsqueda.
  - Los carruseles se implementan con Swiper y se eliminan las sombras legacy de carrusel.

### Podcast

- Ruta: `/podcast`
- Controlador: `PodcastController::index`
- Vista: `app/Views/podcast/index.php`
- Layout: `app/Views/Templates/main.php`
- Figma escritorio: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=179-14025)
- Figma móvil: [Página Web EVA V2.](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=179-14647)
- Filtros: [estado inicial](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=179-8154) y [Homilías](https://www.figma.com/design/qwoZ4QHdid015IcEFS3giu/P%C3%A1gina-Web-EVA-V2.?node-id=179-8990)
- Notas:
  - Se conserva la imagen actual del hero, los contratos de datos y los endpoints de filtrado existentes.
  - Las secciones sin elementos no se renderizan.
  - Al elegir Homilías se despliega el bloque de búsqueda avanzada, siguiendo el estado diseñado.

## Como extender este documento

Cuando el usuario comparta una nueva pantalla, registrar:

- nombre funcional de la pantalla
- ruta real
- link Figma
- si es desktop, mobile, modal, empty state, detalle o checkout

## Regla practica

No implementar una pantalla nueva sin que exista una fila minima en este documento.
