Files
blitzkit/packages/website/src/hooks/useLocale.tsx
T

28 lines
643 B
TypeScript
Raw Normal View History

2024-12-27 14:01:59 -06:00
import { createContext, useContext, type ReactNode } from 'react';
const LocaleContext = createContext<{ locale: string | undefined } | null>(
null,
);
interface LocaleProviderProps {
locale: string | undefined;
children: ReactNode;
}
export function LocaleProvider({ locale, children }: LocaleProviderProps) {
return (
<LocaleContext.Provider value={{ locale }}>
{children}
</LocaleContext.Provider>
);
}
export function useLocale() {
const context = useContext(LocaleContext);
if (!context) {
throw new Error('useLocale must be used within a LocaleProvider');
}
return { locale: context.locale };
}