bigbuffet-rw/packages/pl-fe/src/hooks/useLocale.ts
marcin mikołajczak 966b04fdf0 Call it pl-fe internally
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-28 13:41:08 +02:00

28 lines
626 B
TypeScript

import { getLocale } from 'pl-fe/actions/settings';
import { useAppSelector } from './useAppSelector';
/** Locales which should be presented in right-to-left. */
const RTL_LOCALES = ['ar', 'ckb', 'fa', 'he'];
interface UseLocaleResult {
locale: string;
direction: 'ltr' | 'rtl';
}
/** Get valid locale from settings. */
const useLocale = (fallback = 'en'): UseLocaleResult => {
const locale = useAppSelector((state) => getLocale(state, fallback));
const direction: 'ltr' | 'rtl' =
RTL_LOCALES.includes(locale)
? 'rtl'
: 'ltr';
return {
locale,
direction,
};
};
export { useLocale };