| import { | |
| createContext, | |
| useContext, | |
| } from 'use-context-selector' | |
| import type { Locale } from '@/i18n' | |
| import { getLanguage } from '@/i18n/language' | |
| type II18NContext = { | |
| locale: Locale | |
| i18n: Record<string, any> | |
| setLocaleOnClient: (_lang: Locale, _reloadPage?: boolean) => void | |
| } | |
| const I18NContext = createContext<II18NContext>({ | |
| locale: 'en-US', | |
| i18n: {}, | |
| setLocaleOnClient: (_lang: Locale, _reloadPage?: boolean) => { }, | |
| }) | |
| export const useI18N = () => useContext(I18NContext) | |
| export const useGetLanguage = () => { | |
| const { locale } = useI18N() | |
| return getLanguage(locale) | |
| } | |
| export default I18NContext | |