diff --git a/docs/INTERFACE_PATTERN_MIGRATION.md b/docs/INTERFACE_PATTERN_MIGRATION.md index a6dc725..a62bd82 100644 --- a/docs/INTERFACE_PATTERN_MIGRATION.md +++ b/docs/INTERFACE_PATTERN_MIGRATION.md @@ -31,9 +31,14 @@ through declared capabilities or metadata. ## Interaction evidence -- `AdminPageLayout`, `TreeSubnav`, `DataGrid`, `Dialog`, `ConfirmDialog`, +- `WorkspaceLayout`, headerless `PageLayout`, `AdminPageLayout`, `TreeSubnav`, + `DataGrid`, `Dialog`, `ConfirmDialog`, `TableActionGroup`, `PasswordField`, `ActionBlockerHint`, and `DocumentationHelpLink` come from Core. +- The administration tree and its contributed panels now share Core-owned pane + sizing, scrolling, content inset, responsive collapse, region labels, and + contextual-help identity; Access no longer carries a raw workspace or page + frame exception. - Dialog focus trapping and restoration, disabled-action tooltips, keyboard ordering, responsive grid overflow, and alert semantics therefore inherit the tested Core behavior. diff --git a/webui/src/features/admin/AdminPage.tsx b/webui/src/features/admin/AdminPage.tsx index bec8332..fdc3a16 100644 --- a/webui/src/features/admin/AdminPage.tsx +++ b/webui/src/features/admin/AdminPage.tsx @@ -12,6 +12,7 @@ import type { } from "@govoplan/core-webui"; import { fetchShellAuth } from "@govoplan/core-webui"; import { ActionBlockerHint } from "@govoplan/core-webui"; +import { PageLayout, WorkspaceLayout } from "@govoplan/core-webui"; import { PageScrollViewport } from "@govoplan/core-webui"; import { TreeSubnav, @@ -322,15 +323,26 @@ export default function AdminPage({ const contributionContext = { settings, auth, onAuthChange, refreshAuth, availableSections: available, selectSection }; return ( -
- -
-
+ + )} + primaryLabel="i18n:govoplan-access.admin.4e7afebc" + contentLabel="i18n:govoplan-access.admin.4e7afebc" + documentationType="admin" + > + {contributedSection && contributedSection.render(contributionContext)} {!contributedSection && active === "system-mail-servers" && ( @@ -368,9 +380,8 @@ export default function AdminPage({ {!contributedSection && active === "tenant-group-credentials" && } {!contributedSection && active === "tenant-user-file-connectors" && } {!contributedSection && active === "tenant-group-file-connectors" && } -
-
-
+ + ); } diff --git a/webui/src/features/admin/GroupsPanel.tsx b/webui/src/features/admin/GroupsPanel.tsx index 049576d..31b853a 100644 --- a/webui/src/features/admin/GroupsPanel.tsx +++ b/webui/src/features/admin/GroupsPanel.tsx @@ -1,4 +1,4 @@ -import { DescriptionItem, DescriptionList } from "@govoplan/core-webui"; +import { ContentGrid, DescriptionItem, DescriptionList } from "@govoplan/core-webui"; import { useEffect, useMemo, useRef, useState } from "react"; import { Pencil, Plus, Search, Trash2 } from "lucide-react"; import type { FormGrid, ApiSettings, AuthInfo } from "@govoplan/core-webui"; @@ -158,10 +158,10 @@ export default function GroupsPanel({ settings, auth, canDefine, canManageMember