keycloak-scim/src/realm-settings/RealmSettingsSection.tsx

30 lines
1,016 B
TypeScript
Raw Normal View History

2021-09-29 08:51:47 +00:00
import React, { useState } from "react";
import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
import type { RealmSettingsParams } from "./routes/RealmSettings";
import { KeycloakSpinner } from "../components/keycloak-spinner/KeycloakSpinner";
import { useAdminClient, useFetch } from "../context/auth/AdminClient";
import { RealmSettingsTabs } from "./RealmSettingsTabs";
import { useParams } from "react-router-dom";
2021-10-29 16:11:06 +00:00
export default function RealmSettingsSection() {
const { adminClient } = useAdminClient();
const { realm: realmName } = useParams<RealmSettingsParams>();
const [realm, setRealm] = useState<RealmRepresentation>();
const [key, setKey] = useState(0);
const refresh = () => {
setKey(key + 1);
setRealm(undefined);
};
useFetch(() => adminClient.realms.findOne({ realm: realmName }), setRealm, [
key,
]);
if (!realm) {
return <KeycloakSpinner />;
}
return <RealmSettingsTabs realm={realm} refresh={refresh} />;
2021-10-29 16:11:06 +00:00
}