Projekt používá Angular 18+ (migrace z Angular 12).
Klíčové změny během migrace:
| Token | Hex | Použití |
|---|---|---|
brinks-primary |
#00539b |
Hlavní akční barva, linky, buttony |
brinks-primary-light |
#EFF7FC |
Hover stavy, pozadí |
brinks-primary-medium |
#97CAEB |
Focus ringy, akcenty |
brinks-accent |
#FFC528 |
Upozornění, highlights |
success |
#22c55e |
OK stavy, spárované transakce |
warning |
#f59e0b |
Varování, expirace |
destructive |
#ef4444 |
Chyby, diskrepance |
Používáme Spartan UI (headless Angular UI knihovna) + Tailwind:
HlmButtonDirective - buttonyHlmCardDirective - kartyHlmTableComponent - tabulkyHlmBadgeDirective - status badgesHlmDialogComponent - modály+--sidebar--+--content-area-----------+
| Logo | |
| Nav items | Header |
| | KPI Cards (grid 4) |
| | Content (grid 2) |
| User | Tables |
+------------+-------------------------+
// Data fetching s loading state
readonly data = toSignal(
this.http.get<Item[]>('/api/items')
);
// Reaktivní filtr
readonly filtered = computed(() =>
this.data()?.filter(i => i.status === this.activeFilter()) ?? []
);