diff --git a/components/cms/CmsLinks.vue b/components/cms/CmsLinks.vue index 29795f3..9fdbc21 100644 --- a/components/cms/CmsLinks.vue +++ b/components/cms/CmsLinks.vue @@ -290,10 +290,10 @@ async function save() { } } await $fetch('/api/config', { method: 'PUT', body: updated }) - try { window.showSuccessModal && window.showSuccessModal('Erfolg', 'Links erfolgreich gespeichert.') } catch {} + try { window.showSuccessModal && window.showSuccessModal('Erfolg', 'Links erfolgreich gespeichert.') } catch (_e) { /* no-op */ } } catch (error) { const msg = error?.data?.message || 'Fehler beim Speichern der Links' - try { window.showErrorModal && window.showErrorModal('Fehler', msg) } catch {} + try { window.showErrorModal && window.showErrorModal('Fehler', msg) } catch (_e) { /* no-op */ } } finally { saving.value = false } diff --git a/components/cms/CmsMannschaften.vue b/components/cms/CmsMannschaften.vue index 34b5960..0c4171b 100644 --- a/components/cms/CmsMannschaften.vue +++ b/components/cms/CmsMannschaften.vue @@ -2,39 +2,98 @@
-

Mannschaften verwalten

+

+ Mannschaften verwalten +

-
-
+
+ +
-
+
- - - - - - + + + + + + - - - - - - + + + + + + @@ -42,86 +101,248 @@ -
- -

Keine Mannschaften vorhanden

-

Fügen Sie die erste Mannschaft hinzu.

- +
+ +

+ Keine Mannschaften vorhanden +

+

+ Fügen Sie die erste Mannschaft hinzu. +

+
-
+
-

{{ isEditing ? 'Mannschaft bearbeiten' : 'Neue Mannschaft' }}

+

+ {{ isEditing ? 'Mannschaft bearbeiten' : 'Neue Mannschaft' }} +

-
+
- +
- +
- +
- +
- +
- +
- +
-
Noch keine Spieler eingetragen.
-
+
+ Noch keine Spieler eingetragen. +
+
- +
- - - + + +
- + - +
- -

Reihenfolge per ↑/↓ ändern.

+ +

+ Reihenfolge per ↑/↓ ändern. +

- + +
+
+ {{ errorMessage }}
-
{{ errorMessage }}
- - + +
diff --git a/components/cms/CmsMitglieder.vue b/components/cms/CmsMitglieder.vue index 53899b9..fa59615 100644 --- a/components/cms/CmsMitglieder.vue +++ b/components/cms/CmsMitglieder.vue @@ -670,10 +670,18 @@
MannschaftLigaStaffelleiterMannschaftsführerSpielerAktionen + Mannschaft + + Liga + + Staffelleiter + + Mannschaftsführer + + Spieler + + Aktionen +
{{ mannschaft.mannschaft }}{{ mannschaft.liga }}{{ mannschaft.staffelleiter }}{{ mannschaft.mannschaftsfuehrer }}
{{ getSpielerListe(mannschaft).join(', ') || '-' }}
+ {{ mannschaft.mannschaft }} + + {{ mannschaft.liga }} + + {{ mannschaft.staffelleiter }} + + {{ mannschaft.mannschaftsfuehrer }} + +
+ {{ getSpielerListe(mannschaft).join(', ') || '-' }} +
+
- - + +
- - - - + + + + @@ -682,10 +690,18 @@ :key="index" class="hover:bg-gray-50" > - - - - + + + +
VornameNachnameGeburtsdatumE-Mail + Vorname + + Nachname + + Geburtsdatum + + E-Mail +
{{ row.firstName || '-' }}{{ row.lastName || '-' }}{{ row.geburtsdatum || '-' }}{{ row.email || '-' }} + {{ row.firstName || '-' }} + + {{ row.lastName || '-' }} + + {{ row.geburtsdatum || '-' }} + + {{ row.email || '-' }} +
@@ -704,35 +720,65 @@ class="mb-6" >
-

Import-Ergebnisse

+

+ Import-Ergebnisse +

-
{{ bulkImportResults.summary.imported }}
-
Importiert
+
+ {{ bulkImportResults.summary.imported }} +
+
+ Importiert +
-
{{ bulkImportResults.summary.duplicates }}
-
Duplikate
+
+ {{ bulkImportResults.summary.duplicates }} +
+
+ Duplikate +
-
{{ bulkImportResults.summary.errors }}
-
Fehler
+
+ {{ bulkImportResults.summary.errors }} +
+
+ Fehler +
-
-

Duplikate:

+
+

+ Duplikate: +

-
+
Zeile {{ dup.index }}: {{ dup.member.firstName }} {{ dup.member.lastName }} - {{ dup.reason }}
-
-

Fehler:

+
+

+ Fehler: +

-
+
Zeile {{ err.index }}: {{ err.error }}
diff --git a/components/cms/CmsMitgliedschaftsantraege.vue b/components/cms/CmsMitgliedschaftsantraege.vue index 71c7134..0e0c822 100644 --- a/components/cms/CmsMitgliedschaftsantraege.vue +++ b/components/cms/CmsMitgliedschaftsantraege.vue @@ -105,15 +105,23 @@
-

Kontaktdaten

+

+ Kontaktdaten +

E-Mail: {{ application.personalData.email }}

-

Telefon: {{ application.personalData.telefon_privat }}

-

Mobil: {{ application.personalData.telefon_mobil }}

+

+ Telefon: {{ application.personalData.telefon_privat }} +

+

+ Mobil: {{ application.personalData.telefon_mobil }} +

-

Antragsdetails

+

+ Antragsdetails +

Art: {{ application.metadata.mitgliedschaftsart === 'aktiv' ? 'Aktives Mitglied' : 'Passives Mitglied' }}

Volljährig: {{ application.metadata.isVolljaehrig ? 'Ja' : 'Nein' }}

@@ -141,8 +149,18 @@ class="text-gray-400 hover:text-gray-600" @click="closeModal" > - - + +
@@ -151,16 +169,24 @@
-

Persönliche Daten

+

+ Persönliche Daten +

Name: {{ selectedApplication.personalData.vorname }} {{ selectedApplication.personalData.nachname }}

E-Mail: {{ selectedApplication.personalData.email }}

-

Telefon: {{ selectedApplication.personalData.telefon_privat }}

-

Mobil: {{ selectedApplication.personalData.telefon_mobil }}

+

+ Telefon: {{ selectedApplication.personalData.telefon_privat }} +

+

+ Mobil: {{ selectedApplication.personalData.telefon_mobil }} +

-

Antragsdetails

+

+ Antragsdetails +

Status: {{ getStatusText(selectedApplication.status) }}

Art: {{ selectedApplication.metadata.mitgliedschaftsart === 'aktiv' ? 'Aktives Mitglied' : 'Passives Mitglied' }}

@@ -172,14 +198,29 @@
- + diff --git a/components/cms/CmsSpielplaene.vue b/components/cms/CmsSpielplaene.vue index eb4a40b..4df9b92 100644 --- a/components/cms/CmsSpielplaene.vue +++ b/components/cms/CmsSpielplaene.vue @@ -2,112 +2,335 @@
-

Spielpläne bearbeiten

+

+ Spielpläne bearbeiten +

- - +
-

Vereins-Spielplan (CSV)

-
+

+ Vereins-Spielplan (CSV) +

+
- -

{{ currentFile.name }}

{{ currentFile.size }} bytes

+ +
+

+ {{ currentFile.name }} +

+ {{ currentFile.size }} bytes +

+
- +
-
- -

CSV-Datei hochladen

-

Klicken Sie hier oder ziehen Sie eine CSV-Datei hierher

+
+ +

+ CSV-Datei hochladen +

+

+ Klicken Sie hier oder ziehen Sie eine CSV-Datei hierher +

- +
-
-

Spalten auswählen

-

Wählen Sie die Spalten aus, die für den Spielplan gespeichert werden sollen:

+
+

+ Spalten auswählen +

+

+ Wählen Sie die Spalten aus, die für den Spielplan gespeichert werden sollen: +

-
+
- - + + +
+
+ {{ getColumnPreview(index) }}
-
{{ getColumnPreview(index) }}
-
{{ selectedColumnsCount }} von {{ csvHeaders.length }} Spalten ausgewählt
+
+ {{ selectedColumnsCount }} von {{ csvHeaders.length }} Spalten ausgewählt +
- - - - + + + +
-
+
-

Datenvorschau

+

+ Datenvorschau +

- - + +
- + + + + + - - + +
{{ header }}
+ {{ header }} +
{{ cell }}
+ {{ cell }} +
-
Zeige erste 10 von {{ (columnsSelected ? filteredCsvData : csvData).length }} Zeilen
-

Zeilen: {{ (columnsSelected ? filteredCsvData : csvData).length }}

Spalten: {{ (columnsSelected ? filteredCsvHeaders : csvHeaders).length }}

+
+ Zeige erste 10 von {{ (columnsSelected ? filteredCsvData : csvData).length }} Zeilen +
+
+

Zeilen: {{ (columnsSelected ? filteredCsvData : csvData).length }}

Spalten: {{ (columnsSelected ? filteredCsvHeaders : csvHeaders).length }}

+
-
- -

Keine CSV-Daten geladen.

-

Laden Sie eine CSV-Datei hoch, um Spielplandaten zu verwalten.

+
+ +

+ Keine CSV-Daten geladen. +

+

+ Laden Sie eine CSV-Datei hoch, um Spielplandaten zu verwalten. +

-
+
-

CSV-Datei hochladen

+

+ CSV-Datei hochladen +

-
-

Ausgewählte Datei: {{ selectedFile.name }}

{{ selectedFile.size }} bytes

-

Erwartetes CSV-Format:

• Erste Zeile: Spaltenüberschriften

• Trennzeichen: Komma (,)

+
+ +
+
+

+ Ausgewählte Datei: {{ selectedFile.name }} +

+ {{ selectedFile.size }} bytes +

+
+
+

+ Erwartetes CSV-Format: +

+

• Erste Zeile: Spaltenüberschriften

• Trennzeichen: Komma (,)

+
+
- - + +
-
+
-

Verarbeitung läuft...

-

{{ processingMessage }}

+

+ Verarbeitung läuft... +

+

+ {{ processingMessage }} +

diff --git a/components/cms/CmsTermine.vue b/components/cms/CmsTermine.vue index b004ba2..964e9b4 100644 --- a/components/cms/CmsTermine.vue +++ b/components/cms/CmsTermine.vue @@ -11,36 +11,72 @@ class="flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors" @click="openAddModal" > - + Termin hinzufügen
-
- +
+
-
+
- - - - - - + + + + + + - - - - - + + + + +
DatumUhrzeitTitelBeschreibungKategorieAktionen + Datum + + Uhrzeit + + Titel + + Beschreibung + + Kategorie + + Aktionen +
{{ formatDate(termin.datum) }}{{ termin.uhrzeit || '-' }}{{ termin.titel }}{{ termin.beschreibung || '-' }}
+ {{ formatDate(termin.datum) }} + + {{ termin.uhrzeit || '-' }} + + {{ termin.titel }} + + {{ termin.beschreibung || '-' }} + - - + +
-
Keine Termine vorhanden.
+
+ Keine Termine vorhanden. +
-
+
-

{{ isEditing ? 'Termin bearbeiten' : 'Termin hinzufügen' }}

-
+

+ {{ isEditing ? 'Termin bearbeiten' : 'Termin hinzufügen' }} +

+
- +
- +
- + + + + +
- +
-