import { Enum_Componentsharedcontact_Type } from '../graphql/graphql' import { toIcon } from '../lib/cms/contact/toIcon' import type { SiteConfigContact } from '../lib/cms/contact/types' function hrefFor(contact: SiteConfigContact): string | undefined { switch (contact.type) { case Enum_Componentsharedcontact_Type.Phone: return `tel:${contact.value.replace(/\s/g, '')}` case Enum_Componentsharedcontact_Type.Email: return `mailto:${contact.value}` default: return undefined } } function labelFor(contact: SiteConfigContact): string { const d = contact.displayValue?.trim() return d || contact.value } export interface SiteContactItemsProps { contacts: readonly SiteConfigContact[] variant: 'inline' | 'footer' /** Applied to the outer wrapper (inline: flex row; footer: ul gets section spacing from parent) */ className?: string } export function SiteContactItems({ contacts, variant, className }: SiteContactItemsProps) { if (!contacts.length) return null if (variant === 'footer') { return (