infinity-forge
Version:
33 lines (32 loc) • 723 B
TypeScript
export type Language = {
id: string;
image: {
title: string;
url: string;
}[];
main: boolean;
symbol: string;
};
export type i18n<T> = {
[key: string]: T;
};
export type Word = {
id: number;
i18n: i18n<{
value: string;
}>;
};
export type I18nContextProps = {
words: Record<string, Word>;
language: string;
languages?: Language[];
disableEditMode?: boolean;
children?: React.ReactNode;
roleToEditLanguage?: string[];
languagesNext: Language['symbol'][];
};
export type I18nContextType = I18nContextProps & {
mutate?: () => void;
isFetchingWords?: boolean;
changeLanguage(locale: Language['symbol'], path?: string): void;
};