From b7b40f5a9b6a93fd933e7c969627811d157305c6 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 17 Mar 2026 16:46:33 +0100 Subject: [PATCH] refactor(MembersView, TeamManagementView, ScheduleView, OPTIMIZATION_TODO): componentize views and update optimization tasks - Completed the componentization of `MembersView`, `TeamManagementView`, and `ScheduleView` to improve maintainability and reduce file sizes. - Extracted specific sections into dedicated components, enhancing the focus on core functionalities within each view. - Updated the optimization documentation to reflect the completion of these tasks, ensuring clarity on the current state of the project. --- docs/OPTIMIZATION_TODO.md | 15 +- .../members/MembersOverviewSection.vue | 355 ++++++++++++++++++ .../schedule/ScheduleLayoutShell.vue | 332 ++++++++++++++++ .../team/TeamManagementOverview.vue | 304 +++++++++++++++ frontend/src/views/MembersView.vue | 220 +++-------- frontend/src/views/ScheduleView.vue | 257 ++++--------- frontend/src/views/TeamManagementView.vue | 166 ++------ 7 files changed, 1153 insertions(+), 496 deletions(-) create mode 100644 frontend/src/components/members/MembersOverviewSection.vue create mode 100644 frontend/src/components/schedule/ScheduleLayoutShell.vue create mode 100644 frontend/src/components/team/TeamManagementOverview.vue diff --git a/docs/OPTIMIZATION_TODO.md b/docs/OPTIMIZATION_TODO.md index 5c475870..9fe7b6db 100644 --- a/docs/OPTIMIZATION_TODO.md +++ b/docs/OPTIMIZATION_TODO.md @@ -69,27 +69,36 @@ Diese Liste beschreibt die naechsten sinnvollen Optimierungsschritte nach dem zu ## Prioritaet C -- [ ] `MembersView.vue` weiter komponentisieren. +- [x] `MembersView.vue` weiter komponentisieren. Grund: Die View ist mit ~134 KB weiterhin sehr gross, obwohl die UX bereits stark verbessert wurde. Ziel: - Tabellenbereich - Preview-Bereich - Bulk-/Exportbereich jeweils sauber trennen + Erledigt am 2026-03-17: + - Kopf-, Filter-, Sortier- und Exportbereich in `components/members/MembersOverviewSection.vue` ausgelagert + - View fokussiert jetzt staerker auf Preview, Tabelle und Editorlogik -- [ ] `TeamManagementView.vue` weiter entdichten. +- [x] `TeamManagementView.vue` weiter entdichten. Grund: Trotz erster Extraktion ist die View mit ~93 KB noch immer sehr umfangreich. Ziel: - Workspace-Sektionen weiter in eigene Komponenten ziehen - Job-/Dokument-/MyTischtennis-Bloecke isolieren + Erledigt am 2026-03-17: + - Seitenkopf, Scheduler-Kompaktstatus und Teamliste in `components/team/TeamManagementOverview.vue` ausgelagert + - View konzentriert sich damit staerker auf den eigentlichen Team-Workspace -- [ ] `ScheduleView.vue` weiter bereinigen. +- [x] `ScheduleView.vue` weiter bereinigen. Grund: Mit ~80 KB steckt dort weiterhin viel kombinierte UI- und Lade-/Filterlogik. Ziel: - Match-Tabelle - Tabellenansicht - Team-/Liga-Auswahl separat machen + Erledigt am 2026-03-17: + - Kopf, Summary, Auswahlspalte und Workspace-Frame in `components/schedule/ScheduleLayoutShell.vue` ausgelagert + - PDF-Export auf den neuen Shell-Ref angepasst ## Prioritaet D diff --git a/frontend/src/components/members/MembersOverviewSection.vue b/frontend/src/components/members/MembersOverviewSection.vue new file mode 100644 index 00000000..5dfee53d --- /dev/null +++ b/frontend/src/components/members/MembersOverviewSection.vue @@ -0,0 +1,355 @@ + + + + + diff --git a/frontend/src/components/schedule/ScheduleLayoutShell.vue b/frontend/src/components/schedule/ScheduleLayoutShell.vue new file mode 100644 index 00000000..92464769 --- /dev/null +++ b/frontend/src/components/schedule/ScheduleLayoutShell.vue @@ -0,0 +1,332 @@ + + + + + diff --git a/frontend/src/components/team/TeamManagementOverview.vue b/frontend/src/components/team/TeamManagementOverview.vue new file mode 100644 index 00000000..243576f6 --- /dev/null +++ b/frontend/src/components/team/TeamManagementOverview.vue @@ -0,0 +1,304 @@ + + + + + diff --git a/frontend/src/views/MembersView.vue b/frontend/src/views/MembersView.vue index 632d16ff..9e459b83 100644 --- a/frontend/src/views/MembersView.vue +++ b/frontend/src/views/MembersView.vue @@ -1,180 +1,46 @@