'use client' import { ChevronDown } from 'lucide-react' import Link from 'next/link' import { useEffect, useRef, useState } from 'react' type LocaleOption = { value: 'en' | 'fr' | 'ar' label: string flag: string } type FooterItem = { label: string href?: string } export default function StorefrontFooter({ primaryItems, secondaryItems, localeLabel, rightsLabel, localeOptions, currentLocale, onSelectLanguage, }: { primaryItems: FooterItem[] secondaryItems: FooterItem[] localeLabel: string rightsLabel: string localeOptions: LocaleOption[] currentLocale: LocaleOption onSelectLanguage: (language: LocaleOption['value']) => void }) { const localeMenuRef = useRef(null) const [localeMenuOpen, setLocaleMenuOpen] = useState(false) useEffect(() => { function handlePointerDown(event: MouseEvent) { if (!localeMenuRef.current?.contains(event.target as Node)) { setLocaleMenuOpen(false) } } document.addEventListener('mousedown', handlePointerDown) return () => document.removeEventListener('mousedown', handlePointerDown) }, []) return ( ) } function FooterNavItem({ item }: { item: FooterItem }) { const className = 'px-3 text-stone-600 transition hover:text-blue-900 dark:text-stone-300 dark:hover:text-white' if (item.href) { return ( {item.label} ) } return {item.label} }