ca07927d38
- frontend/DESIGN_SYSTEM.md: contrato del @fn_library (regla suprema para Claude Design y agentes). - frontend/design_prompts/: 11 plantillas de prompt (onboarding, dashboard, crud, detail, settings, auth, error, custom, handoff_integrate) + questionnaire numerado para arranque rapido. - .claude/commands/extract-design.md: workflow de 10 pasos para extraer componentes nuevos y mejoras desde exports "standalone" de Claude Design al registry, sync al espejo fn-design-system y push a gitea+github. - .claude/scripts/extract_design_bundle.py: decodificador del bundle (base64+gzip en manifest, nombra JSX por heuristica de header). - .gitignore: ignorar subrepos/*/ (el mirror fn-design-system es repo propio con remotes dataforge/fn-design-system + gutierenmanuel/fn-design-system). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.6 KiB
Markdown
45 lines
1.6 KiB
Markdown
# Pantalla custom (sin page generator)
|
|
|
|
Cuando la pantalla no encaja en ninguno de los generators (`analyticsPage`, `crudPage`, `detailPage`, `settingsPage`, `AuthForm`, `ErrorPage`), usa esta plantilla. Respeta `DESIGN_SYSTEM.md`.
|
|
|
|
## Objetivo
|
|
{Describe en 1-2 frases qué hace la pantalla y qué problema resuelve para el usuario.}
|
|
|
|
## Shell
|
|
- ¿Va dentro de `FnAppShell` (header + navbar)? → `{sí/no}`. Si sí:
|
|
- Header: {título app, búsqueda global, avatar menu, notificaciones}
|
|
- Navbar: {items principales con FnNavLink + iconos Tabler}
|
|
- Sticky `PageHeader` con tabs: `{sí/no}`
|
|
|
|
## Layout principal
|
|
Describe la composición en términos de primitives de Mantine (`Stack`, `Group`, `SimpleGrid`, `Grid`, `Paper`, `Box`) y wrappers de `@fn_library`.
|
|
|
|
Ejemplo:
|
|
```
|
|
Stack gap="lg"
|
|
├── PageHeader (título + acciones)
|
|
├── SimpleGrid cols={2}
|
|
│ ├── Card (KpiCard list)
|
|
│ └── Card (LineChart)
|
|
└── DataTable
|
|
```
|
|
|
|
## Componentes requeridos (todos desde @fn_library)
|
|
- {lista exhaustiva de componentes que debes usar — KpiCard, DataTable, Command, Dialog, etc.}
|
|
|
|
## Interacciones
|
|
- {clics, hovers, modales que se abren, estados de loading, empty states, errores}
|
|
|
|
## Estados
|
|
- **Loading:** {Skeleton variant / LoadingOverlay}
|
|
- **Empty:** EmptyState con {icono, mensaje, acción}
|
|
- **Error:** {Alert destructive / toast}
|
|
|
|
## Datos (mock)
|
|
{Pega o describe el shape de los datos; JSON realista de 3-5 filas si es tabla, arrays de puntos si es chart, etc.}
|
|
|
|
## Restricciones
|
|
- {lo que NO debe hacer — ej. "sin modal global, todo inline"}
|
|
|
|
Entrégalo listo para Handoff to Claude Code.
|