import { Allergen } from '../types'; interface AllergenPickerProps { allergens: Allergen[]; selectedIds: string[]; onChange: (selectedIds: string[]) => void; className?: string; } // Deutsche Namen für Allergene (nach EU-Verordnung) const ALLERGEN_NAMES: Record = { 'a': 'Glutenhaltige Getreide', 'b': 'Krebstiere', 'c': 'Eier', 'd': 'Fisch', 'e': 'Erdnüsse', 'f': 'Soja', 'g': 'Milch/Laktose', 'h': 'Schalenfrüchte', 'i': 'Sellerie', 'j': 'Senf', 'k': 'Sesam', 'l': 'Schwefeldioxid', 'm': 'Lupinen', 'n': 'Weichtiere' }; export function AllergenPicker({ allergens, selectedIds, onChange, className = '' }: AllergenPickerProps) { const handleToggle = (allergenId: string) => { if (selectedIds.includes(allergenId)) { onChange(selectedIds.filter(id => id !== allergenId)); } else { onChange([...selectedIds, allergenId]); } }; // Sortierte Allergene (a-n) const sortedAllergens = [...allergens].sort((a, b) => a.id.localeCompare(b.id)); return (
Allergene auswählen
{sortedAllergens.map(allergen => { const isSelected = selectedIds.includes(allergen.id); const displayName = ALLERGEN_NAMES[allergen.id] || allergen.name; return ( ); })}
{selectedIds.length > 0 && (

Ausgewählte Allergene:{' '} {selectedIds.sort().join(', ')}

)}
); }