Files
probo/apps/console/src/routes/processingActivityRoutes.ts
2026-01-17 11:02:51 -08:00

97 lines
2.7 KiB
TypeScript

import { loadQuery } from "react-relay";
import { coreEnvironment } from "/environments";
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
import { lazy } from "@probo/react-lazy";
import {
processingActivitiesQuery,
processingActivityNodeQuery,
} from "/hooks/graph/ProcessingActivityGraph";
import {
loaderFromQueryLoader,
withQueryRef,
type AppRoute,
} from "@probo/routes";
import type { ProcessingActivityGraphListQuery } from "/__generated__/core/ProcessingActivityGraphListQuery.graphql";
import type { ProcessingActivityGraphNodeQuery } from "/__generated__/core/ProcessingActivityGraphNodeQuery.graphql";
export const processingActivityRoutes = [
{
path: "processing-activities",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ organizationId }) =>
loadQuery<ProcessingActivityGraphListQuery>(
coreEnvironment,
processingActivitiesQuery,
{
organizationId: organizationId!,
snapshotId: null,
},
),
),
Component: withQueryRef(
lazy(
() =>
import("/pages/organizations/processingActivities/ProcessingActivitiesPage"),
),
),
},
{
path: "snapshots/:snapshotId/processing-activities",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
loadQuery<ProcessingActivityGraphListQuery>(
coreEnvironment,
processingActivitiesQuery,
{
organizationId: organizationId!,
snapshotId,
},
),
),
Component: withQueryRef(
lazy(
() =>
import("/pages/organizations/processingActivities/ProcessingActivitiesPage"),
),
),
},
{
path: "processing-activities/:activityId",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ activityId }) =>
loadQuery<ProcessingActivityGraphNodeQuery>(
coreEnvironment,
processingActivityNodeQuery,
{
processingActivityId: activityId!,
},
),
),
Component: withQueryRef(
lazy(
() =>
import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage"),
),
),
},
{
path: "snapshots/:snapshotId/processing-activities/:activityId",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ activityId }) =>
loadQuery<ProcessingActivityGraphNodeQuery>(
coreEnvironment,
processingActivityNodeQuery,
{
processingActivityId: activityId!,
},
),
),
Component: withQueryRef(
lazy(
() =>
import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage"),
),
),
},
] satisfies AppRoute[];