From 65f59521c07f5dac4d642141099f357fc9fc6a48 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 18:37:15 +0000 Subject: [PATCH] feat(ui): decompose Admin UI with separate Drawers and Scripts Phase 2 Admin Drawers & Scripts execution: - Extract `AppDrawer`, `InviteDrawer`, `RoleEditorDrawer`, and `GrantDrawer`. - Extract `AdminAppsScript`, `AdminInvitesScript`, `AdminRolesScript`, and `AdminUserDetailsScript`. - Hook extracted components into their respective pages. - Format `AdminRolesPage.tsx` and all modified files using `deno fmt`. Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com> --- ....arch.ui-decomposition-roadmap-2300.ph2.md | 0 ui/components/AdminAppsPage.tsx | 246 +---------- ui/components/AdminInvitesPage.tsx | 392 +----------------- ui/components/AdminRolesPage.tsx | 99 +---- ui/components/AdminUserDetailsPage.tsx | 228 +--------- ui/components/admin/AdminAppsScript.tsx | 123 ++++++ ui/components/admin/AdminInvitesScript.tsx | 211 ++++++++++ ui/components/admin/AdminRolesScript.tsx | 154 +++++++ .../admin/AdminUserDetailsScript.tsx | 178 ++++++++ ui/components/admin/drawers/AppDrawer.tsx | 128 ++++++ ui/components/admin/drawers/GrantDrawer.tsx | 55 +++ ui/components/admin/drawers/InviteDrawer.tsx | 187 +++++++++ .../admin/drawers/RoleEditorDrawer.tsx | 99 +++++ 13 files changed, 1159 insertions(+), 941 deletions(-) rename tasks/{new => complete}/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph2.md (100%) create mode 100644 ui/components/admin/AdminAppsScript.tsx create mode 100644 ui/components/admin/AdminInvitesScript.tsx create mode 100644 ui/components/admin/AdminRolesScript.tsx create mode 100644 ui/components/admin/AdminUserDetailsScript.tsx create mode 100644 ui/components/admin/drawers/AppDrawer.tsx create mode 100644 ui/components/admin/drawers/GrantDrawer.tsx create mode 100644 ui/components/admin/drawers/InviteDrawer.tsx create mode 100644 ui/components/admin/drawers/RoleEditorDrawer.tsx diff --git a/tasks/new/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph2.md b/tasks/complete/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph2.md similarity index 100% rename from tasks/new/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph2.md rename to tasks/complete/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.ph2.md diff --git a/ui/components/AdminAppsPage.tsx b/ui/components/AdminAppsPage.tsx index d6ae42f..07af9b0 100644 --- a/ui/components/AdminAppsPage.tsx +++ b/ui/components/AdminAppsPage.tsx @@ -1,6 +1,7 @@ +import { AppDrawer } from "./admin/drawers/AppDrawer.tsx"; +import { AdminAppsScript } from "./admin/AdminAppsScript.tsx"; import { AdminLayout } from "./AdminLayout.tsx"; import { AdminTable } from "./admin/AdminTable.tsx"; -import { AdminModal } from "./admin/AdminModal.tsx"; export const AdminAppsPage = ({ apps, @@ -60,129 +61,7 @@ export const AdminAppsPage = ({ - {/* Register / Edit App Modal */} - -

- Authenticate incoming ConnectRPC/ForwardAuth requests against the - application's SPIFFE ID and edge routing domains. -

- -
- - -
-
- - -
-
- - -
-
- -
- - -
- -
- - -
- -
- -
- -
-
- - -
-
- - -
-
- -
- - -
-
-
+ - + ); }; diff --git a/ui/components/AdminInvitesPage.tsx b/ui/components/AdminInvitesPage.tsx index 433532a..ffaee91 100644 --- a/ui/components/AdminInvitesPage.tsx +++ b/ui/components/AdminInvitesPage.tsx @@ -1,6 +1,8 @@ import { AdminLayout } from "./AdminLayout.tsx"; import { AdminTable } from "./admin/AdminTable.tsx"; import { AdminModal } from "./admin/AdminModal.tsx"; +import { InviteDrawer } from "./admin/drawers/InviteDrawer.tsx"; +import { AdminInvitesScript } from "./admin/AdminInvitesScript.tsx"; export const AdminInvitesPage = ({ invites, @@ -66,187 +68,7 @@ export const AdminInvitesPage = ({ - -

- Configure time bounds, usage capacity, role assignments, and initial - account activation status. -

- -
- {/* Row 1: Type & Target App */} -
-
- - -
- -
- - -
-
- - {/* Row 2: Usage Limits & Assigned Role */} -
-
- - -
- - - -
- - -
-
- - {/* Row 3: Expiration, Custom Code, Activation Toggle */} -
-
- - -
- -
- - -
- -
- -
-
- -
- - -
-
- - -
+ - + ); }; diff --git a/ui/components/admin/AdminAppsScript.tsx b/ui/components/admin/AdminAppsScript.tsx new file mode 100644 index 0000000..a2ae4d6 --- /dev/null +++ b/ui/components/admin/AdminAppsScript.tsx @@ -0,0 +1,123 @@ +export const AdminAppsScript = () => { + return ( +