Refactor SOA

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2026-01-21 10:35:13 -08:00
parent d5e6d11845
commit 4bdf941d3a
65 changed files with 7106 additions and 6971 deletions

View File

@@ -1,71 +1,35 @@
import { lazy } from "@probo/react-lazy";
import { type AppRoute, loaderFromQueryLoader, withQueryRef } from "@probo/routes";
import { loadQuery } from "react-relay";
import type { AppRoute } from "@probo/routes";
import type { StateOfApplicabilityGraphNodeQuery } from "#/__generated__/core/StateOfApplicabilityGraphNodeQuery.graphql";
import type { StateOfApplicabilityGraphPaginatedQuery } from "#/__generated__/core/StateOfApplicabilityGraphPaginatedQuery.graphql";
import { PageSkeleton } from "#/components/skeletons/PageSkeleton.tsx";
import { coreEnvironment } from "#/environments";
import {
paginatedStateOfApplicabilityQuery,
stateOfApplicabilityNodeQuery,
} from "#/hooks/graph/StateOfApplicabilityGraph";
export const statesOfApplicabilityRoutes = [
{
path: "states-of-applicability",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ organizationId }) =>
loadQuery<StateOfApplicabilityGraphPaginatedQuery>(
coreEnvironment,
paginatedStateOfApplicabilityQuery,
{ organizationId: organizationId },
),
),
Component: withQueryRef(
lazy(() => import("#/pages/organizations/states-of-applicability/StatesOfApplicabilityPage")),
Component: lazy(
() => import("#/pages/organizations/states-of-applicability/StatesOfApplicabilityPageLoader"),
),
},
{
path: "snapshots/:snapshotId/states-of-applicability",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ organizationId }) =>
loadQuery<StateOfApplicabilityGraphPaginatedQuery>(
coreEnvironment,
paginatedStateOfApplicabilityQuery,
{ organizationId: organizationId },
),
),
Component: withQueryRef(
lazy(() => import("#/pages/organizations/states-of-applicability/StatesOfApplicabilityPage")),
Component: lazy(
() => import("#/pages/organizations/states-of-applicability/StatesOfApplicabilityPageLoader"),
),
},
{
path: "states-of-applicability/:stateOfApplicabilityId",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ stateOfApplicabilityId }) =>
loadQuery<StateOfApplicabilityGraphNodeQuery>(
coreEnvironment,
stateOfApplicabilityNodeQuery,
{ stateOfApplicabilityId: stateOfApplicabilityId },
),
),
Component: withQueryRef(
lazy(() => import("#/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPage")),
Component: lazy(
() => import("#/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPageLoader"),
),
},
{
path: "snapshots/:snapshotId/states-of-applicability/:stateOfApplicabilityId",
Fallback: PageSkeleton,
loader: loaderFromQueryLoader(({ stateOfApplicabilityId }) =>
loadQuery<StateOfApplicabilityGraphNodeQuery>(
coreEnvironment,
stateOfApplicabilityNodeQuery,
{ stateOfApplicabilityId: stateOfApplicabilityId },
),
),
Component: withQueryRef(
lazy(() => import("#/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPage")),
Component: lazy(
() => import("#/pages/organizations/states-of-applicability/StateOfApplicabilityDetailPageLoader"),
),
},
] satisfies AppRoute[];