feat(web): app Angular, librería compartida sap-types y sistema de temas

- apps/web: Angular 22 standalone, zoneless, OnPush, vitest; proxy /api
  hacia el backend; presupuesto de bundle (aviso 260 kB, error 400 kB).
- libs/sap-types: tipos de auth/permisos/Service Layer y el evaluador de
  patrones de menú, compartidos por api y web (se compila en postinstall).
  El backend deja de tener su propia copia del evaluador.
- Temas por variables CSS: claro por defecto con la paleta del mockup de
  Oferta de ventas, oscuro incluido; ThemeService + selector, con el tema
  guardado aplicado antes del primer pintado. Agregar un tema = 1 css +
  1 import + 1 entrada.
- Criterios de interfaz ligera en CLAUDE.md y README.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-13 19:11:05 -05:00
1 parent c0990ca83e
commit f1156929c7
40 files changed
+6231 -5

No files matched your search

+9
View File
@@ -13,6 +13,15 @@ ERP base para SAP Business One (Service Layer). Monorepo npm workspaces:
- Los formularios se construyen con componentes reutilizables y configuración declarativa; no se duplica markup por documento.
- Los colores y el aspecto salen de variables CSS (temas). Tema por defecto: claro, con la paleta de `tools/Cotizador Aberio · Oferta de ventas.html`.
## Criterios de la interfaz
Es un ERP, no una página de publicidad: **ligera y rápida**. Sin librerías de componentes (Material/PrimeNG), sin webfonts ni animaciones, componentes propios y densos, zoneless + `OnPush`, rutas con carga diferida, presupuesto de bundle en `angular.json`, listas largas paginadas en el servidor.
## Comandos
- `npm install` (npm 11) instala todo y compila `libs/sap-types` (postinstall).
- `npm run dev:api` · `npm run dev:web` · `npm run build` · `npm test`.
## Flujo de trabajo por cliente (branches)
1. `main` es la versión base/genérica, sin personalizaciones de cliente.