import { Building2, ExternalLink, Mail, MapPin, Phone, } from 'lucide-react'; import * as React from 'react'; /* -------------------------------------------------------------------------- */ /* Types */ /* -------------------------------------------------------------------------- */ export interface FooterLinkGroup { title: string; links: { label: string; href: string }[]; } export interface FooterProps { /** Brand name. */ brand: string; /** Short description below the brand. */ description: string; /** Link groups (2-4 columns). */ linkGroups: FooterLinkGroup[]; /** Copyright text. */ copyright: string; /** Contact info. */ contact?: { address?: string; phone?: string; email?: string; }; /** Social links. */ socials?: { platform: 'facebook' | 'instagram' | 'youtube'; href: string }[]; /** Custom link renderer for framework-specific Link. */ renderLink: (props: { href: string; children: React.ReactNode; className?: string; }) => React.ReactNode; } /* -------------------------------------------------------------------------- */ /* Icons */ /* -------------------------------------------------------------------------- */ const SOCIAL_ICON: Record = { facebook: ExternalLink, instagram: ExternalLink, youtube: ExternalLink, }; /* -------------------------------------------------------------------------- */ /* Component */ /* -------------------------------------------------------------------------- */ export function Footer({ brand, description, linkGroups, copyright, contact, socials, renderLink, }: FooterProps) { return ( ); }