@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
35 lines • 2.45 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { mainPageContentId, useEnvironment, } from "./ui-shared";
import { Page } from "@patternfly/react-core";
import { Suspense, useEffect, useState } from "react";
import { Outlet } from "react-router-dom";
import { ErrorBoundaryFallback, ErrorBoundaryProvider, KeycloakSpinner, } from "./ui-shared";
import { Banners } from "./Banners";
import { Header } from "./PageHeader";
import { PageNav } from "./PageNav";
import { AdminClientContext, initAdminClient } from "./admin-client";
import { PageBreadCrumbs } from "./components/bread-crumb/PageBreadCrumbs";
import { ErrorRenderer } from "./components/error/ErrorRenderer";
import { RecentRealmsProvider } from "./context/RecentRealms";
import { AccessContextProvider } from "./context/access/Access";
import { RealmContextProvider } from "./context/realm-context/RealmContext";
import { ServerInfoProvider } from "./context/server-info/ServerInfoProvider";
import { WhoAmIContextProvider } from "./context/whoami/WhoAmI";
import { SubGroups } from "./groups/SubGroupsContext";
import { AuthWall } from "./root/AuthWall";
const AppContexts = ({ children }) => (_jsx(ErrorBoundaryProvider, { children: _jsx(ServerInfoProvider, { children: _jsx(RealmContextProvider, { children: _jsx(WhoAmIContextProvider, { children: _jsx(RecentRealmsProvider, { children: _jsx(AccessContextProvider, { children: _jsx(SubGroups, { children: children }) }) }) }) }) }) }));
export const App = () => {
const { keycloak, environment } = useEnvironment();
const [adminClient, setAdminClient] = useState();
useEffect(() => {
const init = async () => {
const client = await initAdminClient(keycloak, environment);
setAdminClient(client);
};
init().catch(console.error);
}, []);
if (!adminClient)
return _jsx(KeycloakSpinner, {});
return (_jsx(AdminClientContext.Provider, { value: { keycloak, adminClient }, children: _jsxs(AppContexts, { children: [_jsx(Banners, {}), _jsx(Page, { header: _jsx(Header, {}), isManagedSidebar: true, sidebar: _jsx(PageNav, {}), breadcrumb: _jsx(PageBreadCrumbs, {}), mainContainerId: mainPageContentId, children: _jsx(ErrorBoundaryFallback, { fallback: ErrorRenderer, children: _jsx(Suspense, { fallback: _jsx(KeycloakSpinner, {}), children: _jsx(AuthWall, { children: _jsx(Outlet, {}) }) }) }) })] }) }));
};
//# sourceMappingURL=App.js.map