| 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 |
|
|