@magicbell/magicbell-react
Version:
React components for building a notification inbox for your app
18 lines (13 loc) • 546 B
text/typescript
import { pathOr } from 'ramda';
import { createContext, useCallback, useContext } from 'react';
const TranslationsContext = createContext<any>({});
export default TranslationsContext;
export const TranslationsProvider = TranslationsContext.Provider;
export const useTranslations = () => useContext(TranslationsContext);
export function useTranslate() {
const translations = useTranslations();
return useCallback(
(id: string, defaultMessage?: string) => pathOr(defaultMessage, id.split('.'), translations),
[translations],
);
}