export const CLUB_DASHBOARD_SECTIONS = [
  {
    id: 'action-needed',
    title: 'Handlungsbedarf',
    cards: [
      {
        title: 'Neue Anfragen',
        accent: 'amber',
        items: ['3 neue Probetrainings', '1 Sponsoringanfrage'],
      },
      {
        title: 'Offene Zahlungen',
        accent: 'red',
        items: ['7 Mitgliedsbeiträge offen', '2 Mahnungen fällig'],
      },
      {
        title: 'Fehlende Daten',
        accent: 'blue',
        items: ['5 Mitglieder ohne E-Mail', '2 Mitglieder ohne Geburtsdatum', '3 Mitglieder ohne SEPA-Mandat'],
      },
      {
        title: 'Offene Aufgaben',
        accent: 'green',
        items: ['Vereinsmeisterschaft planen', 'Hallendienst besetzen'],
      },
    ],
  },
  {
    id: 'today-and-week',
    title: 'Aktuelle Termine',
    cards: [
      {
        title: 'Heute',
        accent: 'green',
        items: ['Jugendtraining 17:00 Uhr', 'Vorstandssitzung 19:30 Uhr'],
      },
      {
        title: 'Diese Woche',
        accent: 'blue',
        items: ['Heimspiel Herren 1', 'Vereinsmeisterschaft Meldeschluss'],
      },
    ],
  },
  {
    id: 'club-status',
    title: 'Vereinsstatus',
    cards: [
      {
        title: 'Mitglieder',
        value: '87 aktiv',
        meta: '+4 dieses Jahr',
        accent: 'green',
      },
      {
        title: 'Anfragen',
        value: '12 offen',
        meta: '4 in Bearbeitung',
        accent: 'amber',
      },
      {
        title: 'Finanzen',
        value: '93 % bezahlt',
        meta: 'Mitgliedsbeiträge',
        accent: 'blue',
      },
      {
        title: 'Dokumente',
        value: '8 unbearbeitet',
        meta: 'Neue oder offene Unterlagen',
        accent: 'red',
      },
    ],
  },
  {
    id: 'recent-activity',
    title: 'Letzte Aktivitäten',
    cards: [
      {
        title: 'Zuletzt passiert',
        accent: 'neutral',
        items: ['Mitglied angelegt', 'Rechnung bezahlt', 'Dokument hochgeladen', 'Anfrage beantwortet'],
      },
    ],
  },
];

export const CLUB_DASHBOARD_QUICK_LINKS = [
  { to: '/club-tasks', label: 'Aufgaben steuern', icon: '✅', permission: ['tasks', 'read'] },
  { to: '/club-requests', label: 'Anfragen bearbeiten', icon: '📥', permission: ['requests', 'read'] },
  { to: '/members', label: 'Mitglieder öffnen', icon: '👥', permission: ['members', 'read'] },
  { to: '/club-payments', label: 'Zahlungen prüfen', icon: '💶', permission: ['finance_accounts', 'read'] },
  { to: '/club-documents', label: 'Dokumente verwalten', icon: '🗂️', permission: ['settings', 'read'] },
];

export const CLUB_MENU_SECTIONS = [
  {
    id: 'main',
    title: 'Hauptmenü',
    items: [
      { to: '/', icon: '🏠', label: 'Dashboard' },
      { to: '/club-requests', icon: '📥', label: 'Anfragen', permission: ['requests', 'read'] },
      { to: '/members', icon: '👥', label: 'Mitglieder', permission: ['members', 'read'] },
      { to: '/club-communication', icon: '💬', label: 'Kommunikation', permission: ['communication', 'read'] },
      { to: '/calendar', icon: '📆', label: 'Termine', permission: ['schedule', 'read'] },
      { to: '/club-documents', icon: '🗂️', label: 'Dokumente', permission: ['settings', 'read'] },
    ],
  },
  {
    id: 'organisation',
    title: 'Organisation',
    items: [
      { to: '/club-tasks', icon: '✅', label: 'Aufgaben', permission: ['tasks', 'read'] },
      { to: '/team-management', icon: '🧩', label: 'Mannschaften', permission: ['teams', 'read'] },
      { to: '/club-events', icon: '🎪', label: 'Veranstaltungen', permission: ['schedule', 'read'] },
      { to: '/club-sponsors', icon: '🤝', label: 'Sponsoren', permission: ['settings', 'read'] },
    ],
  },
  {
    id: 'finance',
    title: 'Finanzen',
    items: [
      { to: '/club-fees', icon: '💳', label: 'Beiträge', permission: ['finance_invoices', 'write'] },
      { to: '/club-payments', icon: '💶', label: 'Zahlungen', permission: ['finance_accounts', 'write'] },
      { to: '/club-invoices', icon: '🧾', label: 'Rechnungen', permission: ['finance_invoices', 'write'] },
      { to: '/club-accounts', icon: '🏦', label: 'Konten', permission: ['finance_accounts', 'write'] },
    ],
  },
  {
    id: 'administration',
    title: 'Verwaltung',
    items: [
      { to: '/club-users', icon: '👤', label: 'Benutzer', permission: ['permissions', 'read'] },
      { to: '/club-roles', icon: '🛡️', label: 'Rollen', permission: ['permissions', 'read'] },
      { to: '/club-history', icon: '🕘', label: 'Historie', permission: ['history', 'read'] },
      { to: '/club-settings', icon: '⚙️', label: 'Einstellungen', capability: 'admin' },
    ],
  },
  {
    id: 'analysis',
    title: 'Auswertung',
    items: [
      { to: '/club-statistics', icon: '📊', label: 'Statistiken', permission: ['statistics', 'read'] },
      { to: '/club-reports', icon: '📑', label: 'Berichte', permission: ['statistics', 'read'] },
      { to: '/club-archive', icon: '🗄️', label: 'Archiv', permission: ['archive', 'read'] },
    ],
  },
];

export const CLUB_CONCEPT_ROUTES = [
  {
    path: '/club-requests',
    name: 'club-requests',
    title: 'Anfragen',
    phase: 'Phase 1',
    summary: 'Kontaktanfragen, Probetrainings, Mitgliedschaftsanfragen und Sponsoringanfragen in einem einheitlichen Eingang.',
    highlights: ['Kontaktanfragen', 'Probetraining', 'Mitgliedschaftsanfragen', 'Sponsoringanfragen'],
    principles: ['Zentrale Eingangsliste statt verteilter E-Mail-Postfächer', 'Bearbeitungsstatus für jeden Vorgang', 'Überführung in Mitglieder, Aufgaben oder Kommunikation'],
  },
  {
    path: '/club-communication',
    name: 'club-communication',
    title: 'Kommunikation',
    phase: 'Phase 1',
    summary: 'Kommunikation für Einzelpersonen, Gruppen und Rundschreiben mit klarem Vereinskontext.',
    highlights: ['Einzelnachrichten', 'Rundschreiben', 'Verteilergruppen'],
    principles: ['Kommunikation direkt aus dem Vereinskontext', 'Nutzbar für Vorstand, Trainer und Verwaltung', 'Später API-fähig für externe Eingaben'],
  },
  {
    path: '/club-documents',
    name: 'club-documents',
    title: 'Dokumente',
    phase: 'Phase 1',
    summary: 'Vereinsdokumente, Formulare und Protokolle an einem zentralen Ort statt in verstreuten Ordnern.',
    highlights: ['Satzung', 'Protokolle', 'Formulare', 'Vereinsdokumente'],
    principles: ['Archiv statt Löschen', 'Berechtigungen pro Dokumententyp', 'Später erweiterbar Richtung DMS'],
  },
  {
    path: '/club-tasks',
    name: 'club-tasks',
    title: 'Aufgaben',
    phase: 'Phase 2',
    summary: 'Aufgaben, Wiedervorlagen und Fristen für den Vereinsbetrieb in einem einfachen Arbeitsbereich.',
    highlights: ['Aufgabenverwaltung', 'Wiedervorlagen', 'Fristen'],
    principles: ['Dashboard-getrieben: Was muss heute erledigt werden?', 'Verknüpfbar mit Anfragen, Veranstaltungen und Finanzen', 'Geeignet für Vorstand und Orga-Teams'],
  },
  {
    path: '/club-training',
    name: 'club-training',
    title: 'Training',
    phase: 'Phase 1',
    summary: 'Trainingsbezogene Vereinsorganisation als eigener Bereich innerhalb von TT-Verein.',
    highlights: ['Trainingskoordination', 'Abstimmung mit Terminen', 'Verknüpfung zu Mannschaften und Mitgliedern'],
    principles: ['Nicht trainerzentriert, sondern vereinsorganisatorisch', 'Saubere Schnittstelle zum Trainings-Tagebuch', 'Fokus auf Vereinsbetrieb'],
  },
  {
    path: '/club-events',
    name: 'club-events',
    title: 'Veranstaltungen',
    phase: 'Phase 1',
    summary: 'Planung von Vereinsveranstaltungen neben Training und Spielbetrieb.',
    highlights: ['Vereinsveranstaltungen', 'Fristen', 'Verantwortlichkeiten'],
    principles: ['Veranstaltungen sind eigene Vereinsobjekte', 'Organisation mit Aufgaben und Dokumenten verbinden', 'Dashboard-relevante Fristen sichtbar machen'],
  },
  {
    path: '/club-sponsors',
    name: 'club-sponsors',
    title: 'Sponsoren',
    phase: 'Phase 2',
    summary: 'Sponsorenliste, Ansprechpartner und Vertragsbezug als eigener Organisationsbereich.',
    highlights: ['Sponsorenliste', 'Ansprechpartner', 'Verträge'],
    principles: ['Sponsoring nicht nur als Anfrage, sondern als laufende Beziehung', 'Verknüpfbar mit Rechnungen und Dokumenten', 'Spätere Entwicklungsauswertung möglich'],
  },
  {
    path: '/club-fees',
    name: 'club-fees',
    title: 'Beiträge',
    phase: 'Phase 2',
    summary: 'Beitragssätze, Familienbeiträge und Ermäßigungen für die Vereinsverwaltung.',
    highlights: ['Beitragssätze', 'Familienbeiträge', 'Ermäßigungen'],
    principles: ['Mitglieder- und Zahlungsbezug aus einer Quelle', 'Grundlage für offene Beiträge und Mahnstufen', 'Keine externe Beitragsliste mehr nötig'],
  },
  {
    path: '/club-payments',
    name: 'club-payments',
    title: 'Zahlungen',
    phase: 'Phase 2',
    summary: 'Offene Beiträge, Zahlungseingänge und Mahnstufen für Vorstand und Kassenrolle.',
    highlights: ['Offene Beiträge', 'Zahlungseingänge', 'Mahnstufen'],
    principles: ['Dashboard zeigt offenen Handlungsbedarf', 'Mitgliederdaten und Beiträge greifen zusammen', 'Basis für spätere SEPA-Workflows'],
  },
  {
    path: '/club-invoices',
    name: 'club-invoices',
    title: 'Rechnungen',
    phase: 'Phase 2',
    summary: 'Eingangs- und Ausgangsrechnungen in einem durchgängigen Vereinskontext.',
    highlights: ['Hallenmiete', 'Verbandsbeiträge', 'Material', 'Sponsoren und sonstige Forderungen'],
    principles: ['Trennung von Einnahmen und Ausgaben', 'Belegbezug zu Dokumenten und Sponsoren', 'Historie und Archiv standardmäßig vorgesehen'],
  },
  {
    path: '/club-accounts',
    name: 'club-accounts',
    title: 'Konten',
    phase: 'Phase 2',
    summary: 'Finanzkonten als organisatorische Grundlage für Zahlungen, Rechnungen und spätere SEPA-Prozesse.',
    highlights: ['Kontenübersicht', 'Kontobezug für Zahlungen', 'Vorbereitung für SEPA'],
    principles: ['Nicht Buchhaltung im Vollsinn, sondern Vereinsorganisation', 'Nachvollziehbare Zuordnung von Zahlungswegen', 'Grundlage für Kassenprozesse'],
  },
  {
    path: '/club-users',
    name: 'club-users',
    title: 'Benutzer',
    phase: 'Phase 1',
    summary: 'Benutzerverwaltung für die Personen, die im Verein mit der Plattform arbeiten.',
    highlights: ['Vorstand', 'Kassierer', 'Trainer', 'Jugendwart', 'Schriftführer', 'Mitglied'],
    principles: ['Nicht jedes Mitglied ist automatisch Verwaltungsnutzer', 'Rollenbasiert statt frei erfundener Einzelrechte', 'Sauber trennbar von Vereinsmitgliedern'],
  },
  {
    path: '/club-roles',
    name: 'club-roles',
    title: 'Rollen',
    phase: 'Phase 1',
    summary: 'Rollenbasierte Zugriffslogik für alle Vereinsmodule.',
    highlights: ['Vorstand', 'Kassierer', 'Trainer', 'Jugendwart', 'Schriftführer', 'Mitglied'],
    principles: ['Jedes Modul prüft Berechtigungen', 'Rollen sind produktzentral, nicht nachträglich angeheftet', 'Grundlage für Historie und API-Fähigkeit'],
  },
  {
    path: '/club-history',
    name: 'club-history',
    title: 'Historie',
    phase: 'Phase 1',
    summary: 'Änderungsprotokoll, Benutzerprotokoll und Aktivitäten als durchgängiges Grundprinzip.',
    highlights: ['Wer?', 'Wann?', 'Was?', 'Alter Wert', 'Neuer Wert'],
    principles: ['Historie überall', 'Archiv statt Löschen', 'Nachvollziehbarkeit für den Vereinsbetrieb'],
  },
  {
    path: '/club-statistics',
    name: 'club-statistics',
    title: 'Statistiken',
    phase: 'Phase 3',
    summary: 'Spätere Auswertung zu Mitgliederentwicklung, Altersstruktur, Beitragsentwicklung und Sponsorenentwicklung.',
    highlights: ['Mitgliederentwicklung', 'Altersstruktur', 'Beitragsentwicklung', 'Sponsorenentwicklung'],
    principles: ['Dashboard vor Statistik', 'Statistiken folgen erst auf belastbare Prozesse', 'Auswertungen bauen auf denselben Grunddaten auf'],
  },
  {
    path: '/club-reports',
    name: 'club-reports',
    title: 'Berichte',
    phase: 'Phase 3',
    summary: 'Berichte, Schriftverkehr und spätere PDF-Ausgabe für den Vereinsalltag.',
    highlights: ['Briefeditor', 'PDF-Erzeugung', 'Vorlagenverwaltung'],
    principles: ['Vorlagen für wiederkehrende Vereinsprozesse', 'Geeignet für Aufnahme, Mahnung und Einladungen', 'Sauber mit Dokumenten und Historie verzahnt'],
  },
  {
    path: '/club-archive',
    name: 'club-archive',
    title: 'Archiv',
    phase: 'Phase 3',
    summary: 'Archivierte Mitglieder, historische Dokumente und alte Rechnungen als eigene Auswertungsebene.',
    highlights: ['Ehemalige Mitglieder', 'Historische Dokumente', 'Alte Rechnungen'],
    principles: ['Archiv statt Löschen ist Standard', 'Ruhige Trennung von aktivem Bestand und Historie', 'Verknüpfbar mit Dokumenten und Historie'],
  },
];

export function getClubConceptRouteByPath(path) {
  return CLUB_CONCEPT_ROUTES.find((route) => route.path === path) || null;
}
