diff --git a/frontend/src/components/DiaryActivitiesPanel.vue b/frontend/src/components/DiaryActivitiesPanel.vue new file mode 100644 index 00000000..e0e1ed29 --- /dev/null +++ b/frontend/src/components/DiaryActivitiesPanel.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/frontend/src/components/DiaryParticipantsPanel.vue b/frontend/src/components/DiaryParticipantsPanel.vue new file mode 100644 index 00000000..d498dd56 --- /dev/null +++ b/frontend/src/components/DiaryParticipantsPanel.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/frontend/src/i18n/locales/de.json b/frontend/src/i18n/locales/de.json index 834c9905..685c559f 100644 --- a/frontend/src/i18n/locales/de.json +++ b/frontend/src/i18n/locales/de.json @@ -400,20 +400,32 @@ "applySuggestion": "Vorschlag übernehmen", "skipSuggestion": "Ohne Vorschlag fortfahren", "createNewDate": "Neues Datum anlegen", + "activeTrainingDay": "Aktiver Trainingstag", + "trainingDaySection": "Trainingstag", "trainingStart": "Trainingsbeginn", "trainingEnd": "Trainingsende", + "trainingWindow": "Trainingsfenster", + "trainingWindowUnset": "Noch nicht gesetzt", + "groupsLabel": "Gruppen", + "groupsSection": "Gruppen", "createDate": "Datum anlegen", "editTrainingTimes": "Trainingszeiten bearbeiten", "updateTimes": "Zeiten aktualisieren", "groupManagement": "Gruppenverwaltung", "createGroups": "Gruppen erstellen", "trainingPlan": "Trainingsplan", + "planActivitiesCount": "Plan-Aktivitäten", + "timeblocksCount": "Zeitblöcke", + "planEmptyState": "Im Trainingsplan ist noch nichts eingetragen.", + "planAddHint": "Neue Plan-Elemente fügst du über die Aktionen oben hinzu.", "startTime": "Startzeit", "group": "Gruppe...", "timeblock": "Zeitblock", "assignParticipants": "Teilnehmer zuordnen", "addTimeblock": "Zeitblock", "activities": "Aktivitäten", + "freeActivities": "Freie Aktivitäten", + "noFreeActivitiesYet": "Noch keine freien Aktivitäten erfasst.", "addActivity": "Aktivität hinzufügen", "bookAccident": "Unfall buchen", "activity": "Aktivität", @@ -433,12 +445,21 @@ "all": "Alle", "selectGroup": "Gruppe auswählen...", "activityPlaceholder": "Aktivität", + "assignShort": "Zuordnen", "showImage": "Bild/Zeichnung anzeigen", "participants": "Teilnehmer", + "searchParticipants": "Teilnehmer suchen", + "filterAll": "Alle", + "filterPresent": "Anwesend", + "filterAbsent": "Abwesend", + "filterTest": "Probe", "quickAdd": "+ Schnell hinzufügen", "selectTags": "Tags auswählen", "createDrawing": "Übungszeichnung erstellen", "overallActivity": "Gesamt-Aktivität", + "editActivity": "Aktivität bearbeiten", + "editGroupActivity": "Gruppen-Aktivität bearbeiten", + "assignParticipantsForGroupActivity": "Teilnehmer für Gruppen-Aktivität zuordnen", "delete": "Löschen", "min": "Min", "errorLoadingPredefinedActivities": "Fehler beim Laden der vordefinierten Aktivitäten", @@ -459,11 +480,18 @@ "errorDeletingGroup": "Fehler beim Löschen der Gruppe", "errorCreatingActivity": "Fehler beim Erstellen der Aktivität", "trainingPlanAsPDF": "Trainingsplan als PDF", + "trainingPlanPdfShort": "Ablaufplan als PDF", "trainingDayAsPDF": "Trainingstag als PDF herunterladen", + "trainingDayAsPDFShort": "Trainingstag als PDF", + "trainingDaySummaryPdfShort": "Teilnehmerübersicht als PDF", "minutes": "Minuten", "formHandedOver": "Mitgliedsformular ausgehändigt", "errorOccurred": "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.", "trainingTimesUpdated": "Trainingszeiten erfolgreich aktualisiert.", + "noActiveTrainingDay": "Kein Trainingstag ausgewählt.", + "statusReady": "Zeiten, Teilnehmer und Trainingsplan sind gepflegt.", + "statusEmpty": "Dieser Trainingstag ist noch leer.", + "statusInProgress": "Dieser Trainingstag ist teilweise vorbereitet.", "formMarkedAsHandedOver": "Mitgliedsformular als ausgehändigt markiert", "errorMarkingForm": "Fehler beim Markieren des Mitgliedsformulars", "dateNoLongerCurrent": "Ausgewähltes Datum war nicht mehr aktuell. Bitte erneut versuchen.", diff --git a/frontend/src/views/DiaryView.vue b/frontend/src/views/DiaryView.vue index 3779e5a7..3af3ea87 100644 --- a/frontend/src/views/DiaryView.vue +++ b/frontend/src/views/DiaryView.vue @@ -76,22 +76,113 @@ -
-

{{ $t('diary.editTrainingTimes') }} {{ showGeneralData ? - '-' : '+' }}

-
-
- - -
-
- - -
- -
-
+
+
+ +
+
+
+
{{ $t('diary.activeTrainingDay') }}
+

{{ getFormattedDate(date.date) }}

+

{{ diaryStatusText }}

+
+
+
+ {{ $t('diary.trainingWindow') }} + {{ diaryTimeRangeLabel }} +
+
+ {{ $t('diary.participants') }} + {{ participants.length }} +
+
+ {{ $t('diary.trainingPlan') }} + {{ trainingPlan.length }} +
+
+ {{ $t('diary.freeActivities') }} + {{ activities.length }} +
+
+
+
+
+
+ +
+
+
+ + +
+
+ + +
+ +
+
+
+
+ +
+
+
+

{{ $t('diary.existingGroups') }}

+
    +
  • + {{ group.name }} + + ({{ $t('diary.leader') }}: {{ group.lead }}) + + +
  • +
+
+
+

{{ $t('diary.createGroups') }}

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

{{ $t('diary.groupManagement') }}

-
-

{{ $t('diary.existingGroups') }}

-
    -
  • - {{ group.name - }} - - ({{ $t('diary.leader') }}: {{ - group.lead }}) - - -
  • -
-
-
-

{{ $t('diary.createGroups') }}

-
-
- - +

{{ $t('diary.trainingPlan') }}

+
+
+
+ {{ $t('diary.startTime') }} + {{ normalizedNextStartTime }}
-
- - +
+ {{ $t('diary.timeblocksCount') }} + {{ timeblockCount }} +
+
+ {{ $t('diary.planActivitiesCount') }} + {{ standalonePlanItemCount }}
+
+ + + + + +
-

{{ $t('diary.trainingPlan') }}

+
+ {{ $t('diary.planEmptyState') }} +
+
+
+ + {{ addNewGroupActivity ? $t('diary.addGroupActivity') : (addNewTimeblock ? $t('diary.addTimeblock') : $t('diary.overallActivity')) }} + + +
+
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ +
+ + +
+
+
+
+ +
+
+
+
+ {{ activePlanEditorType === 'groupActivity' ? $t('diary.editGroupActivity') : $t('diary.editActivity') }} + +
+
+
+ +
+ +
+ + +
+
+
+
+ +
+ + +
+
+
+
+
+ +
+ +
+ + +
+
+
+
+
+ + +
+
+
+
+ {{ activeAssignmentType === 'groupActivity' ? $t('diary.assignParticipantsForGroupActivity') : $t('diary.assignParticipants') }} + +
+
+ + +
+
+ +
+
@@ -168,43 +445,11 @@