--- import Link from '@/components/Link.astro' import { cn } from '@/lib/utils' import { Icon } from 'astro-icon/components' interface Detail { icon: string label: string value: string href?: string } const { title, date, time, venue, requirements, registration, organiser, website, details = [], variant = 'default', class: className, } = Astro.props const builtIns: Detail[] = [ date && { icon: 'lucide:calendar', label: 'Date', value: date }, time && { icon: 'lucide:clock', label: 'Time', value: time }, venue && { icon: 'lucide:map-pin', label: 'Venue', value: venue }, requirements && { icon: 'lucide:backpack', label: 'Requirements', value: requirements }, organiser && { icon: 'lucide:users', label: 'Organiser', value: organiser }, website && { icon: 'lucide:external-link', label: 'Website', value: website, href: website }, ].filter(Boolean) as Detail[] const allDetails = [...builtIns, ...details] ---