mirror of
https://github.com/vercel/commerce.git
synced 2025-05-15 22:16:58 +00:00
37 lines
791 B
TypeScript
37 lines
791 B
TypeScript
'use client';
|
|
|
|
import { Locale } from 'i18n-config';
|
|
import { ReactNode, createContext, useContext, useState } from 'react';
|
|
|
|
interface IContextProps {
|
|
currentLanguage?: Locale;
|
|
setCurrentLanguage: (language: Locale) => void;
|
|
}
|
|
|
|
export const LanguageContext = createContext<IContextProps>({} as IContextProps);
|
|
|
|
export function LanguageProvider({
|
|
language,
|
|
children
|
|
}: {
|
|
language: Locale;
|
|
children: ReactNode | ReactNode[] | string;
|
|
}) {
|
|
const [currentLanguage, setCurrentLanguage] = useState<Locale>(language || 'en');
|
|
|
|
return (
|
|
<LanguageContext.Provider
|
|
value={{
|
|
currentLanguage,
|
|
setCurrentLanguage
|
|
}}
|
|
>
|
|
{children}
|
|
</LanguageContext.Provider>
|
|
);
|
|
}
|
|
|
|
export const useLanguage = () => {
|
|
return useContext(LanguageContext);
|
|
};
|