Files
myeasycms-v2/apps/web/lib/status-badges.ts
Zaid Marzguioui ebd0fd4638
Some checks failed
Workflow / ʦ TypeScript (push) Failing after 6m26s
Workflow / ⚫️ Test (push) Has been skipped
feat: complete CMS v2 with Docker, Fischerei, Meetings, Verband modules + UX audit fixes
Major changes:
- Docker Compose: full Supabase stack (11 services) equivalent to supabase CLI
- Fischerei module: 16 DB tables, waters/species/stocking/catch books/competitions
- Sitzungsprotokolle module: meeting protocols, agenda items, task tracking
- Verbandsverwaltung module: federation management, member clubs, contacts, fees
- Per-account module activation via Modules page toggle
- Site Builder: live CMS data in Puck blocks (courses, events, membership registration)
- Public registration APIs: course signup, event registration, membership application
- Document generation: PDF member cards, Excel reports, HTML labels
- Landing page: real Com.BISS content (no filler text)
- UX audit fixes: AccountNotFound component, shared status badges, confirm dialog,
  pagination, duplicate heading removal, emoji→badge replacement, a11y fixes
- QA: healthcheck fix, API auth fix, enum mismatch fix, password required attribute
2026-03-31 16:35:46 +02:00

128 lines
3.3 KiB
TypeScript

export const MEMBER_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
active: 'default',
inactive: 'secondary',
pending: 'outline',
resigned: 'destructive',
excluded: 'destructive',
};
export const MEMBER_STATUS_LABEL: Record<string, string> = {
active: 'Aktiv',
inactive: 'Inaktiv',
pending: 'Ausstehend',
resigned: 'Ausgetreten',
excluded: 'Ausgeschlossen',
};
export const INVOICE_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
draft: 'outline',
sent: 'secondary',
paid: 'default',
overdue: 'destructive',
cancelled: 'destructive',
};
export const INVOICE_STATUS_LABEL: Record<string, string> = {
draft: 'Entwurf',
sent: 'Gesendet',
paid: 'Bezahlt',
overdue: 'Überfällig',
cancelled: 'Storniert',
};
export const BATCH_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
draft: 'outline',
submitted: 'secondary',
processing: 'secondary',
completed: 'default',
failed: 'destructive',
};
export const BATCH_STATUS_LABEL: Record<string, string> = {
draft: 'Entwurf',
submitted: 'Eingereicht',
processing: 'In Bearbeitung',
completed: 'Abgeschlossen',
failed: 'Fehlgeschlagen',
};
export const NEWSLETTER_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
draft: 'outline',
scheduled: 'secondary',
sending: 'secondary',
sent: 'default',
failed: 'destructive',
};
export const NEWSLETTER_STATUS_LABEL: Record<string, string> = {
draft: 'Entwurf',
scheduled: 'Geplant',
sending: 'Wird gesendet',
sent: 'Gesendet',
failed: 'Fehlgeschlagen',
};
export const EVENT_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
planned: 'outline',
open: 'secondary',
full: 'secondary',
running: 'default',
completed: 'default',
cancelled: 'destructive',
};
export const EVENT_STATUS_LABEL: Record<string, string> = {
planned: 'Geplant',
open: 'Offen',
full: 'Ausgebucht',
running: 'Laufend',
completed: 'Abgeschlossen',
cancelled: 'Abgesagt',
};
export const COURSE_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
planned: 'outline',
open: 'default',
active: 'default',
running: 'secondary',
completed: 'secondary',
cancelled: 'destructive',
};
export const COURSE_STATUS_LABEL: Record<string, string> = {
planned: 'Geplant',
open: 'Offen',
active: 'Aktiv',
running: 'Laufend',
completed: 'Abgeschlossen',
cancelled: 'Abgesagt',
};
export const APPLICATION_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
submitted: 'outline',
review: 'secondary',
approved: 'default',
rejected: 'destructive',
};
export const APPLICATION_STATUS_LABEL: Record<string, string> = {
submitted: 'Eingereicht',
review: 'In Prüfung',
approved: 'Genehmigt',
rejected: 'Abgelehnt',
};
export const NEWSLETTER_RECIPIENT_STATUS_VARIANT: Record<string, 'default' | 'secondary' | 'destructive' | 'outline'> = {
pending: 'secondary',
sent: 'default',
failed: 'destructive',
bounced: 'destructive',
};
export const NEWSLETTER_RECIPIENT_STATUS_LABEL: Record<string, string> = {
pending: 'Ausstehend',
sent: 'Gesendet',
failed: 'Fehlgeschlagen',
bounced: 'Zurückgewiesen',
};