Add filter option for members with hall key in member management UI. Update member listing logic to reflect filtered results based on hall key status.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 56s

This commit is contained in:
Torsten Schulz (local)
2026-03-29 15:25:27 +02:00
parent 381ec55fd1
commit 7dea265eef
2 changed files with 38 additions and 8 deletions

View File

@@ -55,13 +55,23 @@
</div>
<!-- Sortieroptionen -->
<div class="mb-4 flex items-center space-x-2">
<div class="mb-4 flex items-center justify-between gap-4 flex-wrap">
<div class="flex items-center space-x-2">
<label for="sortMode" class="text-sm text-gray-700">Sortieren nach:</label>
<select id="sortMode" v-model="sortMode" class="px-2 py-1 border rounded">
<option value="name">Name (Vorname Nachname)</option>
<option value="lastname">Nachname (Nachname Vorname)</option>
<option value="birthday">Geburtstag</option>
</select>
</div>
<label class="inline-flex items-center gap-2 text-sm text-gray-700">
<input
v-model="filterHasHallKey"
type="checkbox"
class="h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded"
>
Nur mit Hallenschlüssel
</label>
</div>
<!-- Loading State -->
@@ -246,7 +256,7 @@
</div>
<div
v-if="members.length === 0"
v-if="sortedMembers.length === 0"
class="text-center py-12 text-gray-500"
>
Keine Mitglieder gefunden.
@@ -412,7 +422,7 @@
</div>
<div
v-if="members.length === 0"
v-if="sortedMembers.length === 0"
class="text-center py-12 text-gray-500"
>
Keine Mitglieder gefunden.
@@ -811,10 +821,13 @@
// ...existing code...
const sortMode = ref('name')
const filterHasHallKey = ref(false)
const sortedMembers = computed(() => {
if (!Array.isArray(members.value)) return []
const arr = [...members.value]
const arr = filterHasHallKey.value
? members.value.filter(member => member.hasHallKey)
: [...members.value]
if (sortMode.value === 'name') {
arr.sort((a, b) => {
// Sortiere nach Vorname Nachname (firstName lastName)