This commit is contained in:
Matthias Hochmeister
2026-03-16 16:26:56 +01:00
parent 177dd1395b
commit 69c508a5d8
2 changed files with 34 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
import React, { useState, useEffect, useCallback } from 'react';
import React, { useState, useEffect, useCallback, useMemo } from 'react';
import {
Container,
Box,
@@ -250,6 +250,13 @@ function MitgliedDetail() {
// Edit form state — only the fields the user is allowed to change
const [formData, setFormData] = useState<UpdateMemberProfileData>({});
// Merge Führerscheinklassen from profile + Fahrgenehmigungen (FDISK)
const displayedFuehrerscheinklassen = useMemo(() => {
const fromFG = fahrgenehmigungen.map(f => f.klasse).filter(Boolean);
const fromProfile = profile?.fuehrerscheinklassen ?? [];
return [...new Set([...fromProfile, ...fromFG])].sort();
}, [fahrgenehmigungen, profile?.fuehrerscheinklassen]);
// ----------------------------------------------------------------
// Data loading
// ----------------------------------------------------------------
@@ -305,7 +312,7 @@ function MitgliedDetail() {
telefon_privat: member.profile.telefon_privat ?? undefined,
notfallkontakt_name: member.profile.notfallkontakt_name ?? undefined,
notfallkontakt_telefon: member.profile.notfallkontakt_telefon ?? undefined,
fuehrerscheinklassen: member.profile.fuehrerscheinklassen,
fuehrerscheinklassen: displayedFuehrerscheinklassen,
tshirt_groesse: member.profile.tshirt_groesse ?? undefined,
schuhgroesse: member.profile.schuhgroesse ?? undefined,
bemerkungen: member.profile.bemerkungen ?? undefined,
@@ -374,7 +381,7 @@ function MitgliedDetail() {
telefon_privat: member.profile.telefon_privat ?? undefined,
notfallkontakt_name: member.profile.notfallkontakt_name ?? undefined,
notfallkontakt_telefon: member.profile.notfallkontakt_telefon ?? undefined,
fuehrerscheinklassen: member.profile.fuehrerscheinklassen,
fuehrerscheinklassen: displayedFuehrerscheinklassen,
tshirt_groesse: member.profile.tshirt_groesse ?? undefined,
schuhgroesse: member.profile.schuhgroesse ?? undefined,
bemerkungen: member.profile.bemerkungen ?? undefined,
@@ -869,9 +876,9 @@ function MitgliedDetail() {
)}
size="small"
/>
) : profile?.fuehrerscheinklassen && profile.fuehrerscheinklassen.length > 0 ? (
) : displayedFuehrerscheinklassen.length > 0 ? (
<Box sx={{ display: 'flex', gap: 0.5, flexWrap: 'wrap' }}>
{profile.fuehrerscheinklassen.map((k) => (
{displayedFuehrerscheinklassen.map((k) => (
<Chip key={k} label={k} size="small" variant="outlined" />
))}
</Box>