update
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user