"use client"; import type { ReactNode } from "react"; import { createContext, useContext, useState } from "react"; import type { AppLocale } from "./locale"; import { DEFAULT_LOCALE } from "./locale"; type LocaleContextValue = { locale: AppLocale; setLocale: (locale: AppLocale) => void; }; const LocaleContext = createContext({ locale: DEFAULT_LOCALE, setLocale: () => { // no-op default }, }); export function LocaleProvider({ initialLocale, children, }: { initialLocale: AppLocale; children: ReactNode; }) { const [locale, setLocale] = useState(initialLocale); return {children}; } export function useAppLocale(): AppLocale { return useContext(LocaleContext).locale; } export function useLocaleActions() { const { setLocale } = useContext(LocaleContext); return { setLocale }; }