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
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 56s
This commit is contained in:
@@ -53,6 +53,17 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-4 flex items-center">
|
||||
<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 -->
|
||||
<div
|
||||
v-if="isLoading"
|
||||
@@ -101,7 +112,7 @@
|
||||
</thead>
|
||||
<tbody class="bg-white divide-y divide-gray-200">
|
||||
<tr
|
||||
v-for="member in members"
|
||||
v-for="member in filteredMembers"
|
||||
:key="member.id"
|
||||
class="hover:bg-gray-50"
|
||||
>
|
||||
@@ -239,7 +250,7 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-if="members.length === 0"
|
||||
v-if="filteredMembers.length === 0"
|
||||
class="text-center py-12 text-gray-500"
|
||||
>
|
||||
Keine Mitglieder gefunden.
|
||||
@@ -252,7 +263,7 @@
|
||||
class="space-y-4"
|
||||
>
|
||||
<div
|
||||
v-for="member in members"
|
||||
v-for="member in filteredMembers"
|
||||
:key="member.id"
|
||||
class="bg-white p-6 rounded-xl shadow-lg border border-gray-100"
|
||||
>
|
||||
@@ -408,7 +419,7 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-if="members.length === 0"
|
||||
v-if="filteredMembers.length === 0"
|
||||
class="text-center py-12 text-gray-500"
|
||||
>
|
||||
Keine Mitglieder gefunden.
|
||||
@@ -769,6 +780,7 @@ const showModal = ref(false)
|
||||
const editingMember = ref(null)
|
||||
const errorMessage = ref('')
|
||||
const viewMode = ref('cards')
|
||||
const filterHasHallKey = ref(false)
|
||||
|
||||
// Bulk import state
|
||||
const showBulkImportModal = ref(false)
|
||||
@@ -799,6 +811,11 @@ const canViewContactData = computed(() => {
|
||||
return authStore.hasRole('vorstand')
|
||||
})
|
||||
|
||||
const filteredMembers = computed(() => {
|
||||
if (!filterHasHallKey.value) return members.value
|
||||
return members.value.filter(member => member.hasHallKey)
|
||||
})
|
||||
|
||||
const loadMembers = async () => {
|
||||
isLoading.value = true
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user