import React, { createContext, useContext, ComponentType, FC, ReactNode } from 'react'; import Dayjs from 'dayjs'; import { TFunction } from 'i18next'; import { UR } from 'getstream'; import { TDateTimeParser } from '../i18n/Streami18n'; export type TranslationContextValue = { t: TFunction; tDateTimeParser: TDateTimeParser; }; export const TranslationContext = createContext({ t: (key: string) => key, tDateTimeParser: (input) => Dayjs(input), }); export const TranslationProvider = ({ children, value }: { value: TranslationContextValue; children?: ReactNode }) => ( {children} ); export const useTranslationContext = () => useContext(TranslationContext); export const withTranslationContext =

( Component: ComponentType

, ): FC> => { const WithTranslationContextComponent = (props: Omit) => { const translationContext = useTranslationContext(); return ; }; WithTranslationContextComponent.displayName = (Component.displayName || Component.name || 'Component').replace( 'Base', '', ); return WithTranslationContextComponent; };