Add access review frontend

Add campaign and source management pages with detail
views, bulk decision and flag controls, connector
provider dialog with OAuth/API-key/client-credentials
flows, vendor logos, shared helpers, and campaign
lifecycle UX (start, complete, cancel).

Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
Aurélien Sibiril
2026-04-02 11:52:13 +02:00
parent 244b6390cb
commit b396359162
41 changed files with 4513 additions and 2 deletions

View File

@@ -0,0 +1,44 @@
import { lazy } from "@probo/react-lazy";
import type { AppRoute } from "@probo/routes";
import { PageSkeleton } from "#/components/skeletons/PageSkeleton";
export const accessReviewRoutes = [
{
path: "access-reviews",
Fallback: PageSkeleton,
Component: lazy(
() => import("#/pages/organizations/access-reviews/AccessReviewLayoutLoader"),
),
children: [
{
index: true,
Fallback: PageSkeleton,
Component: lazy(
() => import("#/pages/organizations/access-reviews/campaigns/AccessReviewCampaignsTab"),
),
},
{
path: "sources",
Fallback: PageSkeleton,
Component: lazy(
() => import("#/pages/organizations/access-reviews/sources/AccessReviewSourcesTab"),
),
},
],
},
{
path: "access-reviews/campaigns/:campaignId",
Fallback: PageSkeleton,
Component: lazy(
() => import("#/pages/organizations/access-reviews/campaigns/CampaignDetailPageLoader"),
),
},
{
path: "access-reviews/sources/new/csv",
Fallback: PageSkeleton,
Component: lazy(
() => import("#/pages/organizations/access-reviews/CreateCsvAccessSourcePageLoader"),
),
},
] satisfies AppRoute[];