| name | perigon-angular |
| description | Angular 21+ standalone/Material/signal conventions for Perigon WebApp |
When to use
- Frontend work in src/ClientApp/WebApp (components, routes, services, styles, i18n).
Usage
- Layout: entry main.ts; app config in app/app.config.ts; routes in app/app.routes.ts; layout shell in app/layout/; pages under app/pages/; shared UI in app/share/components; pipes in app/share/pipe; guards in app/share/auth.guard.ts.
- Components: standalone only; avoid NgModules. Use Angular Material; theming in styles.scss/theme.scss/vars.scss; keep page styles alongside each *.scss.
- State/forms: prefer signals and signal forms; avoid legacy two-way binding when signals suffice.
- Services/API: HTTP clients/types in app/services (admin-client, base.service, models/services); keep customer-http.interceptor active; honor proxy.conf.json; use environments/environment*.ts for endpoints/config.
- i18n: strings live in assets/i18n/*.json; align keys with app/share/i18n-keys.ts and scripts/i18n-keys.js.
- UX/auth: reuse layout/navigation components; auth via auth.service + auth.guard; paginator intl in share/custom-paginator-intl.ts.
- Tooling: use pnpm; avoid builds/tests unless requested. Keep ESLint/tsconfig defaults; prefer standalone Material imports over deprecated modules.