uecko-control-tiempos/docs/arquitectura/frontend.md

20 lines
1.3 KiB
Markdown

# Arquitectura frontend
## Objetivo
Definir las reglas de frontend. React, TanStack Query, TanStack Table, React Hook Form, Zod, shadcn/ui y Tailwind son tecnologías objetivo documentadas; este documento no afirma su instalación efectiva.
## Estado y datos remotos
Las operaciones de servidor deben permanecer en TanStack Query. No duplicar estado remoto en estado local sin necesidad; las query keys deben seguir la convención existente y, tras mutaciones, la caché se invalida o actualiza explícitamente. No introducir efectos para derivar durante render estado que pueda calcularse directamente.
## Formularios y componentes
Los formularios deben usar React Hook Form y Zod conforme a los patrones existentes. Los componentes evitan responsabilidad monolítica: se extraen responsabilidades cuando exista una frontera semántica clara, no para ocultar JSX trivial. Usar shadcn/ui y Tailwind según los patrones del área.
## UI, accesibilidad e internacionalización
La interfaz debe contemplar estados `disabled`, `loading`, `empty` y `error`, conservar acciones no disponibles deshabilitadas cuando la UX requiera mostrarlas y preservar comportamiento responsive y accesibilidad.
Los textos visibles deben mantenerse en `es` y `en` cuando el área use i18n; no se insertan directamente en ese caso. Las columnas monetarias usan `tabular-nums` cuando corresponda.