UNPKG

@keycloakify/keycloak-admin-ui

Version:
35 lines 2.45 kB
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