'use client';
import { useState } from 'react';
import { useLanguage } from '@/context/LanguageContext';
import { Locale, localeNames, localeFlags } from '@/i18n';
import { ChevronDownIcon, GlobeAltIcon } from '@heroicons/react/24/outline';
import clsx from 'clsx';
interface LanguageToggleProps {
variant?: 'dropdown' | 'buttons';
showFlags?: boolean;
}
export default function LanguageToggle({
variant = 'dropdown',
showFlags = true
}: LanguageToggleProps) {
const { locale, setLocale } = useLanguage();
const [isOpen, setIsOpen] = useState(false);
const availableLocales = Object.keys(localeNames) as Locale[];
if (variant === 'buttons') {
return (
{availableLocales.map((loc) => (
))}
);
}
return (
{isOpen && (
<>
setIsOpen(false)}
/>
{availableLocales.map((loc) => (
))}
>
)}
);
}