@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
33 lines • 2.44 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useFetch } from "../../ui-shared";
import { Tab, Tabs, TabTitleText } from "@patternfly/react-core";
import { useState } from "react";
import { useTranslation } from "react-i18next";
import { useAdminClient } from "../../admin-client";
import { KeycloakSpinner } from "../../ui-shared";
import { useRealm } from "../../context/realm-context/RealmContext";
import { CibaPolicy } from "../../authentication/policies/CibaPolicy";
import { OtpPolicy } from "../../authentication/policies/OtpPolicy";
import { PasswordPolicy } from "../../authentication/policies/PasswordPolicy";
import { WebauthnPolicy } from "../../authentication/policies/WebauthnPolicy";
export const Policies = () => {
const { adminClient } = useAdminClient();
const { t } = useTranslation();
const [subTab, setSubTab] = useState(1);
const { realm: realmName } = useRealm();
const [realm, setRealm] = useState();
useFetch(async () => {
const realm = await adminClient.realms.findOne({ realm: realmName });
if (!realm) {
throw new Error(t("notFound"));
}
return realm;
}, (realm) => {
setRealm(realm);
}, []);
if (!realm) {
return _jsx(KeycloakSpinner, {});
}
return (_jsxs(Tabs, { activeKey: subTab, onSelect: (_, key) => setSubTab(key), mountOnEnter: true, unmountOnExit: true, children: [_jsx(Tab, { id: "passwordPolicy", eventKey: 1, title: _jsx(TabTitleText, { children: t("passwordPolicy") }), children: _jsx(PasswordPolicy, { realm: realm, realmUpdated: setRealm }) }), _jsx(Tab, { id: "otpPolicy", eventKey: 2, title: _jsx(TabTitleText, { children: t("otpPolicy") }), children: _jsx(OtpPolicy, { realm: realm, realmUpdated: setRealm }) }), _jsx(Tab, { id: "webauthnPolicy", eventKey: 3, title: _jsx(TabTitleText, { children: t("webauthnPolicy") }), children: _jsx(WebauthnPolicy, { realm: realm, realmUpdated: setRealm }) }), _jsx(Tab, { id: "webauthnPasswordlessPolicy", eventKey: 4, title: _jsx(TabTitleText, { children: t("webauthnPasswordlessPolicy") }), children: _jsx(WebauthnPolicy, { realm: realm, realmUpdated: setRealm, isPasswordLess: true }) }), _jsx(Tab, { "data-testid": "tab-ciba-policy", eventKey: 5, title: _jsx(TabTitleText, { children: t("cibaPolicy") }), children: _jsx(CibaPolicy, { realm: realm, realmUpdated: setRealm }) })] }));
};
//# sourceMappingURL=Policies.js.map