From ba1385b0805cbc937699a7a54250a9b916f82900 Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Mon, 15 Dec 2025 08:59:44 -0300 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=F0=9F=8F=B3=EF=B8=8F=20language=20?= =?UTF-8?q?switcher=20because=20one=20language=20is=20never=20enough?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/language-switcher.tsx | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 frontend/src/components/language-switcher.tsx diff --git a/frontend/src/components/language-switcher.tsx b/frontend/src/components/language-switcher.tsx new file mode 100644 index 0000000..69d06ba --- /dev/null +++ b/frontend/src/components/language-switcher.tsx @@ -0,0 +1,41 @@ +'use client'; + +import { useTranslation, locales } from '@/lib/i18n'; +import { Button } from '@/components/ui/button'; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu'; +import { Globe } from 'lucide-react'; + +export function LanguageSwitcher() { + const { locale, setLocale } = useTranslation(); + + const currentLocale = locales.find(l => l.code === locale); + + return ( + + + + + + {locales.map((l) => ( + setLocale(l.code)} + className={locale === l.code ? 'bg-accent' : ''} + > + {l.flag} + {l.name} + + ))} + + + ); +}