import { Languages } from 'lucide-react';
import { Button } from '@/components/ui/button';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from '@/components/ui/dropdown-menu';
import { useTranslation, type Language } from '@/contexts/language';
import { cn } from '@/lib/utils';
interface LanguageOption {
code: Language;
name: string;
nativeName: string;
flag: string;
}
const languages: LanguageOption[] = [
{ code: 'en', name: 'English', nativeName: 'English', flag: '🇬🇧' },
{ code: 'es', name: 'Spanish', nativeName: 'Español', flag: '🇪🇸' },
];
interface LanguageToggleProps {
/** Show only the flag icon (compact mode) */
compact?: boolean;
/** Additional class names */
className?: string;
/** Variant style */
variant?: 'default' | 'outline' | 'ghost';
}
/**
* Language toggle dropdown for switching between English and Spanish
*/
export function LanguageToggle({ compact = false, className, variant = 'ghost' }: LanguageToggleProps) {
const { language, setLanguage } = useTranslation();
const currentLanguage = languages.find(l => l.code === language) || languages[0];
return (