hoffentlich

This commit is contained in:
2026-02-28 18:45:45 +01:00
parent 02bb2ed994
commit 35c23164bf
8 changed files with 44 additions and 25 deletions

View File

@@ -64,13 +64,13 @@ export default async function MitgliederPage(props: {
}
})
const adminUserIds = new Set(admins.map(a => a.userId))
const adminUserIds = new Set(admins.map((a: typeof admins[number]) => a.userId))
// Map userId → member record so admin entries show real member data
const memberByUserId = new Map(members.filter(m => m.userId).map(m => [m.userId!, m]))
const memberByUserId = new Map<string, typeof members[number]>(members.filter((m: typeof members[number]) => m.userId).map((m: typeof members[number]) => [m.userId!, m]))
const combinedList = [
// Include admins only if there's no status filter, or if filtering for 'aktiv'
...(!statusFilter || statusFilter === 'aktiv' ? admins.map(a => {
...(!statusFilter || statusFilter === 'aktiv' ? admins.map((a: typeof admins[number]) => {
const m = memberByUserId.get(a.user.id)
return {
id: m ? m.id : `admin-${a.user.id}`,
@@ -86,7 +86,7 @@ export default async function MitgliederPage(props: {
role: 'Administrator',
}
}) : []),
...members.filter(m => !adminUserIds.has(m.userId ?? '')).map(m => ({
...members.filter((m: typeof members[number]) => !adminUserIds.has(m.userId ?? '')).map((m: typeof members[number]) => ({
id: m.id,
name: m.name,
betrieb: m.betrieb,
@@ -101,7 +101,7 @@ export default async function MitgliederPage(props: {
}))
]
combinedList.sort((a, b) => a.name.localeCompare(b.name))
combinedList.sort((a: typeof combinedList[number], b: typeof combinedList[number]) => a.name.localeCompare(b.name))
return (
<div className="space-y-6">