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. - - - - - - - - - Application Name * - - - - - - SPIFFE ID (Workload Identity) * - - - - - - - - Description - - - - - - - Domain (Edge Ingress Hostname) - - - - - - - - Is Publicly Accessible (Bypass all auth checks) - - - - - - - Bypass Paths (Comma-separated) - - - - - - Allowed CIDRs (Comma-separated) - - - - - - - - Save Application - - - Cancel - - - - + - + ); }; 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 */} - - - - Token Provisioning Type * - - - - Type 2: Site-Scoped Token (Pre-Authorized for App) - - - Type 1: Global Admin Token (Full System Access) - - - Type 3: General Open Token (Unassigned Access) - - - - - - - Target Application * - - - {apps.map((app) => ( - - {app.name} ({app.spiffe_id}) - - ))} - - - - - {/* Row 2: Usage Limits & Assigned Role */} - - - - Usage Capacity * - - - - Single-Use (1 Person - Max Security) - - - Limited Multi-Use (Cap at N People) - - - Unlimited Time-Bound (Campaign / Beta) - - - - - - - Max Registrations * - - - - - - - Assigned Role * - - - {/* Dynamically populated */} - - - - - {/* Row 3: Expiration, Custom Code, Activation Toggle */} - - - - Expires In (Days) - - - - - - - Custom Code (Optional) - - - - - - - - Auto-Activate Account - - - - - - - Create Invite Token - - - Cancel - - - - - - - Token Created Successfully! - - - - - - Copy Link - - - - + - + ); }; 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 ( +
- Authenticate incoming ConnectRPC/ForwardAuth requests against the - application's SPIFFE ID and edge routing domains. -
- Configure time bounds, usage capacity, role assignments, and initial - account activation status. -
-