// Auteur : Simon-Pierre Boucher — contact@spboucher.ai "use client"; import { createContext, useContext, useEffect, useState } from "react"; import { t as translate, type Lang, type TKey } from "@/lib/i18n"; const Ctx = createContext<{ lang: Lang; setLang: (l: Lang) => void; t: (k: TKey) => string; }>({ lang: "fr", setLang: () => {}, t: (k) => translate("fr", k) }); export function LangProvider({ children }: { children: React.ReactNode }) { const [lang, setLangState] = useState("fr"); useEffect(() => { const saved = window.localStorage.getItem("vp-lang"); if (saved !== "en" && saved !== "fr") return; const id = setTimeout(() => setLangState(saved), 0); return () => clearTimeout(id); }, []); const setLang = (l: Lang) => { setLangState(l); window.localStorage.setItem("vp-lang", l); }; return ( translate(lang, k) }}> {children} ); } export function useLang() { return useContext(Ctx); } export function LangToggle() { const { lang, setLang } = useLang(); return ( ); }