首页改为“领域运营工作台”,非 master 领域也有完整管理首页。
根据权限展示用户、客户端、组、领域设置、认证、事件等业务入口。 新增安全配置概览:领域状态、注册、邮箱验证、暴力破解保护。 侧栏增加领域上下文、状态和业务分组。 重构通用页面标题组件,统一标题、说明、状态、开关和操作区。 增加统一工作区容器,并优化表格、表单及详情页布局。 补充简体中文、繁体中文和英文文案。
This commit is contained in:
1 parent
6e370571cb
commit
676c73c82b
12 files changed
+1700
-6
No files matched your search
+6
-6
@@ -4,12 +4,17 @@
|
|||||||
# account/KcAccountUi.tsx
|
# account/KcAccountUi.tsx
|
||||||
# account/KcContext.ts
|
# account/KcContext.ts
|
||||||
# account/KcPage.tsx
|
# account/KcPage.tsx
|
||||||
|
# admin/App.tsx
|
||||||
# admin/index.css
|
# admin/index.css
|
||||||
# admin/KcAdminUi.tsx
|
# admin/KcAdminUi.tsx
|
||||||
|
# admin/page-nav.css
|
||||||
|
# admin/PageNav.tsx
|
||||||
# account/assets/logo.svg
|
# account/assets/logo.svg
|
||||||
# account/personal-info/PersonalInfo.tsx
|
# account/personal-info/PersonalInfo.tsx
|
||||||
# account/root/PageNav.tsx
|
# account/root/PageNav.tsx
|
||||||
# admin/assets/logo.svg
|
# admin/assets/logo.svg
|
||||||
|
# admin/dashboard/dashboard.css
|
||||||
|
# admin/dashboard/Dashboard.tsx
|
||||||
# admin/i18n/messages_en.properties
|
# admin/i18n/messages_en.properties
|
||||||
# admin/i18n/messages_zh_Hans.properties
|
# admin/i18n/messages_zh_Hans.properties
|
||||||
# admin/i18n/messages_zh_Hant.properties
|
# admin/i18n/messages_zh_Hant.properties
|
||||||
@@ -18,6 +23,7 @@
|
|||||||
# email/messages/messages_zh_CN.properties
|
# email/messages/messages_zh_CN.properties
|
||||||
# email/messages/messages_zh_TW.properties
|
# email/messages/messages_zh_TW.properties
|
||||||
# account/components/page/Page.tsx
|
# account/components/page/Page.tsx
|
||||||
|
# admin/components/view-header/ViewHeader.tsx
|
||||||
# === Owned files end =====
|
# === Owned files end =====
|
||||||
|
|
||||||
# === @keycloakify/email-native v260007.0.0 ===
|
# === @keycloakify/email-native v260007.0.0 ===
|
||||||
@@ -83,7 +89,6 @@
|
|||||||
|
|
||||||
# === @keycloakify/keycloak-admin-ui v260700.0.2 ===
|
# === @keycloakify/keycloak-admin-ui v260700.0.2 ===
|
||||||
/admin/admin-client.tsx
|
/admin/admin-client.tsx
|
||||||
/admin/App.tsx
|
|
||||||
/admin/banners.module.css
|
/admin/banners.module.css
|
||||||
/admin/Banners.tsx
|
/admin/Banners.tsx
|
||||||
/admin/colorScheme.ts
|
/admin/colorScheme.ts
|
||||||
@@ -94,10 +99,8 @@
|
|||||||
/admin/i18next.d.ts
|
/admin/i18next.d.ts
|
||||||
/admin/KcContext.ts
|
/admin/KcContext.ts
|
||||||
/admin/KcPage.tsx
|
/admin/KcPage.tsx
|
||||||
/admin/page-nav.css
|
|
||||||
/admin/PageHeader.tsx
|
/admin/PageHeader.tsx
|
||||||
/admin/PageHeaderClearCachesModal.tsx
|
/admin/PageHeaderClearCachesModal.tsx
|
||||||
/admin/PageNav.tsx
|
|
||||||
/admin/PageNotFoundSection.tsx
|
/admin/PageNotFoundSection.tsx
|
||||||
/admin/Root.tsx
|
/admin/Root.tsx
|
||||||
/admin/routes.tsx
|
/admin/routes.tsx
|
||||||
@@ -134,8 +137,6 @@
|
|||||||
/admin/clients/utils.ts
|
/admin/clients/utils.ts
|
||||||
/admin/components/SwitchControl.tsx
|
/admin/components/SwitchControl.tsx
|
||||||
/admin/context/RecentRealms.tsx
|
/admin/context/RecentRealms.tsx
|
||||||
/admin/dashboard/dashboard.css
|
|
||||||
/admin/dashboard/Dashboard.tsx
|
|
||||||
/admin/dashboard/ProviderInfo.tsx
|
/admin/dashboard/ProviderInfo.tsx
|
||||||
/admin/dashboard/routes.ts
|
/admin/dashboard/routes.ts
|
||||||
/admin/events/AdminEvents.tsx
|
/admin/events/AdminEvents.tsx
|
||||||
@@ -522,7 +523,6 @@
|
|||||||
/admin/components/users/UserDataTableAttributeSearchForm.tsx
|
/admin/components/users/UserDataTableAttributeSearchForm.tsx
|
||||||
/admin/components/users/UserDataTableToolbarItems.tsx
|
/admin/components/users/UserDataTableToolbarItems.tsx
|
||||||
/admin/components/users/UserSelect.tsx
|
/admin/components/users/UserSelect.tsx
|
||||||
/admin/components/view-header/ViewHeader.tsx
|
|
||||||
/admin/components/wizard-section-header/wizard-section-header.css
|
/admin/components/wizard-section-header/wizard-section-header.css
|
||||||
/admin/components/wizard-section-header/WizardSectionHeader.tsx
|
/admin/components/wizard-section-header/WizardSectionHeader.tsx
|
||||||
/admin/context/access/Access.tsx
|
/admin/context/access/Access.tsx
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
/**
|
||||||
|
* This file has been claimed for ownership from @keycloakify/keycloak-admin-ui version 260700.0.2.
|
||||||
|
* To relinquish ownership and restore this file to its original content, run the following command:
|
||||||
|
*
|
||||||
|
* $ npx keycloakify own --path "admin/App.tsx" --revert
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
// @ts-nocheck
|
||||||
|
|
||||||
|
import { SessionExpirationWarningOverlay } from "../shared/SessionExpirationWarningOverlay";
|
||||||
|
import {
|
||||||
|
ErrorBoundaryFallback,
|
||||||
|
ErrorBoundaryProvider,
|
||||||
|
KeycloakSpinner,
|
||||||
|
mainPageContentId
|
||||||
|
} from "../shared/keycloak-ui-shared";
|
||||||
|
import { Flex, FlexItem, Page } from "../shared/@patternfly/react-core";
|
||||||
|
import { PropsWithChildren, Suspense, useEffect } from "react";
|
||||||
|
import { Outlet } from "react-router-dom";
|
||||||
|
import { AdminClientProvider } from "./admin-client";
|
||||||
|
import { Header } from "./PageHeader";
|
||||||
|
import { PageNav } from "./PageNav";
|
||||||
|
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";
|
||||||
|
import { Banners } from "./Banners";
|
||||||
|
|
||||||
|
export const AppContexts = ({ children }: PropsWithChildren) => (
|
||||||
|
<ErrorBoundaryProvider>
|
||||||
|
<ErrorBoundaryFallback fallback={ErrorRenderer}>
|
||||||
|
<ServerInfoProvider>
|
||||||
|
<RealmContextProvider>
|
||||||
|
<WhoAmIContextProvider>
|
||||||
|
<RecentRealmsProvider>
|
||||||
|
<AccessContextProvider>
|
||||||
|
<SubGroups>{children}</SubGroups>
|
||||||
|
</AccessContextProvider>
|
||||||
|
</RecentRealmsProvider>
|
||||||
|
</WhoAmIContextProvider>
|
||||||
|
</RealmContextProvider>
|
||||||
|
</ServerInfoProvider>
|
||||||
|
</ErrorBoundaryFallback>
|
||||||
|
</ErrorBoundaryProvider>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const App = () => {
|
||||||
|
const hrefEndsWithHashSlash = location.href.endsWith("#/");
|
||||||
|
useEffect(() => {
|
||||||
|
if (!hrefEndsWithHashSlash) return;
|
||||||
|
history.replaceState(null, "", location.pathname);
|
||||||
|
}, [hrefEndsWithHashSlash, location.pathname]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<AdminClientProvider>
|
||||||
|
<AppContexts>
|
||||||
|
<Flex
|
||||||
|
direction={{ default: "column" }}
|
||||||
|
flexWrap={{ default: "nowrap" }}
|
||||||
|
spaceItems={{ default: "spaceItemsNone" }}
|
||||||
|
style={{ height: "100%" }}
|
||||||
|
>
|
||||||
|
<FlexItem>
|
||||||
|
<Banners />
|
||||||
|
</FlexItem>
|
||||||
|
<FlexItem grow={{ default: "grow" }} style={{ minHeight: 0 }}>
|
||||||
|
<Page
|
||||||
|
header={<Header />}
|
||||||
|
isManagedSidebar
|
||||||
|
sidebar={<PageNav />}
|
||||||
|
breadcrumb={<PageBreadCrumbs />}
|
||||||
|
mainContainerId={mainPageContentId}
|
||||||
|
>
|
||||||
|
<ErrorBoundaryFallback fallback={ErrorRenderer}>
|
||||||
|
<Suspense fallback={<KeycloakSpinner />}>
|
||||||
|
<AuthWall>
|
||||||
|
<div className="admin-workspace-route">
|
||||||
|
<Outlet />
|
||||||
|
</div>
|
||||||
|
</AuthWall>
|
||||||
|
</Suspense>
|
||||||
|
</ErrorBoundaryFallback>
|
||||||
|
</Page>
|
||||||
|
</FlexItem>
|
||||||
|
</Flex>
|
||||||
|
<SessionExpirationWarningOverlay warnUserSecondsBeforeAutoLogout={45} />
|
||||||
|
</AppContexts>
|
||||||
|
</AdminClientProvider>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -17,6 +17,7 @@ import { getKcContext } from "./KcContext";
|
|||||||
|
|
||||||
import "./index.css";
|
import "./index.css";
|
||||||
import "../console-ui.css";
|
import "../console-ui.css";
|
||||||
|
import "./workspace.css";
|
||||||
|
|
||||||
const { kcContext } = getKcContext();
|
const { kcContext } = getKcContext();
|
||||||
|
|
||||||
|
|||||||
Loaded 3 of 12 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user