"use client"; import { useTransition } from "react"; import { useRouter } from "next/navigation"; import { locales, localeLabels, type Locale } from "@/i18n/config"; import { setLocaleAction } from "@/i18n/actions"; import { useI18n } from "@/i18n/i18n-provider"; /** * Iteriert ueber locales aus i18n/config.ts statt DE/EN fest zu verdrahten — * eine dritte Sprache erscheint hier automatisch, sobald sie dort ergaenzt * wird, ohne diese Komponente anzufassen. */ export function LanguageSwitcher({ className = "" }: { className?: string }) { const { locale } = useI18n(); const router = useRouter(); const [isPending, startTransition] = useTransition(); function handleChange(next: Locale) { if (next === locale || isPending) return; startTransition(async () => { const formData = new FormData(); formData.set("locale", next); await setLocaleAction(formData); router.refresh(); }); } return (