Files
probo/apps/console/src/routes/processingActivityRoutes.ts
Émile Ré 57caa9d28f Move route utils to packages/routes
Signed-off-by: Émile Ré <nemile.re@gmail.com>
2025-12-04 17:27:48 +04:00

62 lines
2.5 KiB
TypeScript

import { loadQuery } from "react-relay";
import { relayEnvironment } from "/providers/RelayProviders";
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 "/hooks/graph/__generated__/ProcessingActivityGraphListQuery.graphql";
import type { ProcessingActivityGraphNodeQuery } from "/hooks/graph/__generated__/ProcessingActivityGraphNodeQuery.graphql";
export const processingActivityRoutes = [
{
path: "processing-activities",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ organizationId }) =>
loadQuery<ProcessingActivityGraphListQuery>(relayEnvironment, 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>(relayEnvironment, processingActivitiesQuery, {
organizationId: organizationId!,
snapshotId,
}),
),
Component: withQueryRef(lazy(
() => import("/pages/organizations/processingActivities/ProcessingActivitiesPage")
)),
},
{
path: "processing-activities/:activityId",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ activityId }) =>
loadQuery<ProcessingActivityGraphNodeQuery>(relayEnvironment, processingActivityNodeQuery, {
processingActivityId: activityId!,
}),
),
Component: withQueryRef(lazy(
() => import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage")
)),
},
{
path: "snapshots/:snapshotId/processing-activities/:activityId",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ activityId }) =>
loadQuery<ProcessingActivityGraphNodeQuery>(relayEnvironment, processingActivityNodeQuery, {
processingActivityId: activityId!,
}),
),
Component: withQueryRef(lazy(
() => import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage")
)),
},
] satisfies AppRoute[];