@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
25 lines (19 loc) • 830 B
text/typescript
import { getI18n } from "react-i18next";
import { useMemo } from "react";
import { useRealm } from "@keycloakify/keycloak-admin-ui/context/realm-context/RealmContext";
import { DEFAULT_LOCALE } from "@keycloakify/keycloak-admin-ui/i18n/i18n";
export default function useLocale() {
const { realmRepresentation: realm } = useRealm();
const defaultSupportedLocales = useMemo(() => {
return realm?.supportedLocales?.length
? realm.supportedLocales
: [DEFAULT_LOCALE];
}, [realm]);
const defaultLocales = useMemo(() => {
return realm?.defaultLocale?.length ? [realm.defaultLocale] : [];
}, [realm]);
const combinedLocales = useMemo(() => {
return Array.from(new Set([...defaultLocales, ...defaultSupportedLocales]));
}, [defaultLocales, defaultSupportedLocales]);
return combinedLocales;
}