'use client'; import { Award, Baby, Briefcase, Cake, Gem, Gift, GraduationCap, Heart, MoreHorizontal, PartyPopper, Plane, Sparkles, TreePine, Users, type LucideIcon, } from 'lucide-react'; import { BOOKING_EVENT_TYPES, type BookingEventType, type EventTypeId, } from '@/domain/booking/event-types'; import { getEventTypeLabel } from '@/presentation/i18n/booking-events'; import type { Language } from '@/domain/language/entities'; const ICON_MAP: Record = { cake: Cake, heart: Heart, gem: Gem, sparkles: Sparkles, baby: Baby, 'graduation-cap': GraduationCap, briefcase: Briefcase, users: Users, 'party-popper': PartyPopper, plane: Plane, award: Award, gift: Gift, 'tree-pine': TreePine, 'more-horizontal': MoreHorizontal, }; interface EventTypePickerProps { language: Language; selected: EventTypeId | ''; onSelect: (id: EventTypeId) => void; title: string; subtitle: string; } export default function EventTypePicker({ language, selected, onSelect, title, subtitle, }: EventTypePickerProps) { return (

{title}

{subtitle}

{BOOKING_EVENT_TYPES.map((event) => { const Icon = ICON_MAP[event.icon]; const isActive = selected === event.id; return ( ); })}
); }