'use client' import { createContext, useContext, useState, useEffect, ReactNode } from 'react' import { Lang, translations } from '@/lib/i18n' interface LangCtx { lang: Lang setLang: (l: Lang) => void t: typeof translations.de } const LangContext = createContext({ lang: 'de', setLang: () => {}, t: translations.de, }) export function LangProvider({ children, initialLang }: { children: ReactNode; initialLang: Lang }) { const [lang, setLangState] = useState(initialLang) useEffect(() => { document.documentElement.lang = initialLang setLangState(initialLang) }, [initialLang]) const setLang = (l: Lang) => { document.cookie = `lang=${l};path=/;max-age=31536000;SameSite=Lax` // Update for the current page visit without a full reload document.documentElement.lang = l setLangState(l) } return ( {children} ) } export const useLang = () => useContext(LangContext)