From bf40927efb8c800ab08aab3d660667c45cbc0af0 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 18 Mar 2026 18:07:01 +0100 Subject: [PATCH] refactor(MembersOverviewSection): simplify layout and enhance filtering options - Removed unnecessary subtitle and member statistics display for a cleaner interface. - Introduced a collapsible section for advanced filters, improving user experience by organizing search and filter options. - Maintained existing functionality while enhancing the overall layout and accessibility of member filtering features. --- .../members/MembersOverviewSection.vue | 345 +++++++++--------- 1 file changed, 172 insertions(+), 173 deletions(-) diff --git a/frontend/src/components/members/MembersOverviewSection.vue b/frontend/src/components/members/MembersOverviewSection.vue index 9b6fe2e3..5350548a 100644 --- a/frontend/src/components/members/MembersOverviewSection.vue +++ b/frontend/src/components/members/MembersOverviewSection.vue @@ -3,7 +3,6 @@

{{ $t('members.title') }}

-

{{ $t('members.subtitle') }}

-
-
- {{ $t('members.activeMembers') }} - {{ activeMembersCount }} -
-
- {{ $t('members.testMembers') }} - {{ testMembersCount }} -
-
- {{ $t('members.inactiveMembers') }} - {{ inactiveMembersCount }} -
-
- {{ $t('members.visibleMembers') }} - {{ visibleMembersCount }} -
-
-
-
-
- - -
+
-
-
-
-
- {{ visibleMembersCount }} {{ $t('members.resultsVisible') }} +
+
+ {{ visibleMembersCount }} {{ $t('members.resultsVisible') }} +
+
+ {{ $t('members.activeMembers') }}: {{ activeMembersCount }} + {{ $t('members.testMembers') }}: {{ testMembersCount }} + {{ $t('members.inactiveMembers') }}: {{ inactiveMembersCount }} +
+
+
+ Sammelaktionen +
@@ -156,56 +152,26 @@ -
{{ $t('members.editHint') }}
+ + + + +
-
- -
-
- {{ $t('members.exportPreview') }} - {{ visibleMembersCount }} - {{ $t('members.exportMembersSelected') }} -
- -
+
+ {{ exportPreviewNames.length ? exportPreviewNames.join(', ') : $t('members.exportPreviewEmpty') }}
-
- {{ $t('members.exportPhones') }} - {{ filteredMembersWithPhonesCount }} - {{ $t('members.exportReachableByPhone') }} -
- -
-
-
- {{ $t('members.exportEmails') }} - {{ filteredMembersWithEmailsCount }} - {{ $t('members.exportReachableByEmail') }} -
- - -
-
-
- {{ $t('members.exportPreviewNames') }} - - {{ exportPreviewNames.length ? exportPreviewNames.join(', ') : $t('members.exportPreviewEmpty') }} - -
- -
-
-
+
@@ -279,11 +245,6 @@ export default { flex-wrap: wrap; } -.members-subtitle { - margin: 0.2rem 0 0; - color: var(--text-muted); -} - .action-buttons, .filter-controls, .members-results-actions, @@ -295,48 +256,26 @@ export default { align-items: center; } -.members-stats-grid, -.members-export-preview { - display: grid; - gap: 0.85rem; -} - -.members-stats-grid { - grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); -} - -.members-export-preview { - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); -} - -.members-stat-card, -.members-export-card, .filters-section, -.members-results-bar { +.members-results-bar, +.members-bulk-actions { border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--background-light); padding: 0.85rem; } -.members-stat-card-accent { - background: linear-gradient(135deg, var(--primary-soft), var(--background-light)); +.filters-section, +.members-results-bar { + padding-top: 0.7rem; + padding-bottom: 0.7rem; } -.members-stat-label, -.members-export-label, .members-results-hint { font-size: 0.8rem; color: var(--text-muted); } -.members-stat-value, -.members-export-value { - display: block; - margin-top: 0.2rem; - font-size: 1.3rem; -} - .member-search-group, .members-sort-group, .filter-group, @@ -415,8 +354,68 @@ export default { color: var(--primary-strong); } -.members-export-card-wide { - grid-column: 1 / -1; +.members-filter-topline-compact { + align-items: center; +} + +.members-advanced-filters { + margin-top: 0.75rem; + border-top: 1px solid var(--border-color); + padding-top: 0.75rem; +} + +.members-advanced-filters summary { + cursor: pointer; + font-weight: 600; + color: var(--text-primary); + user-select: none; +} + +.members-advanced-filters .filter-controls { + margin-top: 0.85rem; +} + +.members-results-summary { + display: flex; + flex-direction: column; + gap: 0.45rem; +} + +.members-results-stats { + display: flex; + flex-wrap: wrap; + gap: 0.45rem; +} + +.results-stat-pill { + display: inline-flex; + align-items: center; + padding: 0.2rem 0.55rem; + border-radius: 999px; + background: #eef2f5; + color: #475569; + font-size: 0.78rem; + font-weight: 600; +} + +.members-bulk-actions summary { + cursor: pointer; + font-weight: 600; + color: var(--text-primary); + user-select: none; +} + +.members-bulk-actions-grid { + display: flex; + flex-wrap: wrap; + gap: 0.6rem; + margin-top: 0.85rem; +} + +.members-bulk-preview { + margin-top: 0.75rem; + color: var(--text-muted); + font-size: 0.82rem; } @media (max-width: 900px) {