28 lines
795 B
TypeScript
28 lines
795 B
TypeScript
'use client';
|
|
|
|
import { useI18n } from '@/app/providers/i18nProvider/I18nProvider';
|
|
import { languages, type Language } from '@/app/i18n/config';
|
|
|
|
export function LanguageSwitcher() {
|
|
const { language, setLanguage } = useI18n();
|
|
|
|
return (
|
|
<div className="flex gap-2">
|
|
{Object.entries(languages).map(([code, name]) => (
|
|
<button
|
|
key={code}
|
|
onClick={() => setLanguage(code as Language)}
|
|
className={`px-3 py-1 rounded text-sm font-medium transition-all ${
|
|
language === code
|
|
? 'bg-primary-cta text-background'
|
|
: 'bg-secondary-cta text-foreground hover:opacity-80'
|
|
}`}
|
|
aria-label={`Switch to ${name}`}
|
|
>
|
|
{code.toUpperCase()}
|
|
</button>
|
|
))}
|
|
</div>
|
|
);
|
|
}
|