Rename console core & create dedicated relay env providers
Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
@@ -7,12 +7,12 @@ const store = new Store(source, {
|
||||
gcReleaseBufferSize: 20,
|
||||
});
|
||||
|
||||
export const consoleEnvironment = new Environment({
|
||||
export const coreEnvironment = new Environment({
|
||||
network: Network.create(makeFetchQuery("/api/console/v1/graphql")),
|
||||
store,
|
||||
});
|
||||
|
||||
export const connectEnvironment = new Environment({
|
||||
export const iamEnvironment = new Environment({
|
||||
network: Network.create(makeFetchQuery("/api/connect/v1/graphql")),
|
||||
store,
|
||||
});
|
||||
|
||||
@@ -1,19 +1,15 @@
|
||||
import {
|
||||
RelayEnvironmentProvider,
|
||||
usePreloadedQuery,
|
||||
type PreloadedQuery,
|
||||
} from "react-relay";
|
||||
import { usePreloadedQuery, type PreloadedQuery } from "react-relay";
|
||||
import { organizationLayoutQuery } from "./OrganizationLayoutQuery";
|
||||
import { Link, Outlet } from "react-router";
|
||||
import { Badge, Button, IconPeopleAdd, Layout, Skeleton } from "@probo/ui";
|
||||
import { Sidebar } from "./_components/Sidebar";
|
||||
import { OrganizationDropdown } from "./_components/OrganizationDropdown";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import type { OrganizationLayoutQuery } from "./__generated__/OrganizationLayoutQuery.graphql";
|
||||
import { PermissionsProvider } from "/providers/PermissionsProvider";
|
||||
import { SessionDropdown } from "./_components/SessionDropdown";
|
||||
import { Suspense } from "react";
|
||||
import { useTranslate } from "@probo/i18n";
|
||||
import { CoreRelayProvider } from "/providers/CoreRelayProvider";
|
||||
|
||||
interface OrganizationLayoutProps {
|
||||
queryRef: PreloadedQuery<OrganizationLayoutQuery>;
|
||||
@@ -59,9 +55,9 @@ export default function OrganizationLayout(props: OrganizationLayoutProps) {
|
||||
}
|
||||
sidebar={<Sidebar />}
|
||||
>
|
||||
<RelayEnvironmentProvider environment={consoleEnvironment}>
|
||||
<CoreRelayProvider>
|
||||
<Outlet />
|
||||
</RelayEnvironmentProvider>
|
||||
</CoreRelayProvider>
|
||||
</Layout>
|
||||
</PermissionsProvider>
|
||||
);
|
||||
|
||||
7
apps/console/src/providers/CoreRelayProvider.tsx
Normal file
7
apps/console/src/providers/CoreRelayProvider.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { ReactNode } from "react";
|
||||
import { RelayEnvironmentProvider } from "react-relay";
|
||||
import { coreEnvironment } from "/environments";
|
||||
|
||||
export function CoreRelayProvider(props: { children: ReactNode }) {
|
||||
return <RelayEnvironmentProvider environment={coreEnvironment} {...props} />;
|
||||
}
|
||||
7
apps/console/src/providers/IAMRelayProvider.tsx
Normal file
7
apps/console/src/providers/IAMRelayProvider.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { ReactNode } from "react";
|
||||
import { RelayEnvironmentProvider } from "react-relay";
|
||||
import { iamEnvironment } from "/environments";
|
||||
|
||||
export function IAMRelayProvider(props: { children: ReactNode }) {
|
||||
return <RelayEnvironmentProvider environment={iamEnvironment} {...props} />;
|
||||
}
|
||||
@@ -41,8 +41,7 @@ import { employeeDocumentSignatureQuery } from "./pages/organizations/employee/E
|
||||
import { Role } from "@probo/helpers";
|
||||
import { PermissionsContext } from "./providers/PermissionsContext";
|
||||
import { use } from "react";
|
||||
import { RelayEnvironmentProvider } from "react-relay";
|
||||
import { connectEnvironment, consoleEnvironment } from "./environments.ts";
|
||||
import { coreEnvironment } from "./environments.ts";
|
||||
import {
|
||||
ForbiddenError,
|
||||
UnAuthenticatedError,
|
||||
@@ -50,6 +49,7 @@ import {
|
||||
} from "@probo/relay";
|
||||
import { OrganizationsPageQuery } from "./pages/iam/organizations/OrganizationsPageQuery.tsx";
|
||||
import { OrganizationLayoutQuery } from "./pages/iam/organizations/OrganizationLayoutQuery.tsx";
|
||||
import { IAMRelayProvider } from "./providers/IAMRelayProvider.tsx";
|
||||
|
||||
const NewOrganizationPage = lazy(
|
||||
() => import("./pages/iam/organizations/NewOrganizationPage"),
|
||||
@@ -80,9 +80,9 @@ const routes = [
|
||||
{
|
||||
path: "/auth",
|
||||
Component: () => (
|
||||
<RelayEnvironmentProvider environment={connectEnvironment}>
|
||||
<IAMRelayProvider>
|
||||
<AuthLayout />
|
||||
</RelayEnvironmentProvider>
|
||||
</IAMRelayProvider>
|
||||
),
|
||||
children: [
|
||||
{
|
||||
@@ -120,17 +120,17 @@ const routes = [
|
||||
{
|
||||
index: true,
|
||||
Component: () => (
|
||||
<RelayEnvironmentProvider environment={connectEnvironment}>
|
||||
<IAMRelayProvider>
|
||||
<OrganizationsPageQuery />
|
||||
</RelayEnvironmentProvider>
|
||||
</IAMRelayProvider>
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "organizations/new",
|
||||
Component: () => (
|
||||
<RelayEnvironmentProvider environment={connectEnvironment}>
|
||||
<IAMRelayProvider>
|
||||
<NewOrganizationPage />
|
||||
</RelayEnvironmentProvider>
|
||||
</IAMRelayProvider>
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -154,7 +154,7 @@ const routes = [
|
||||
path: "",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery(consoleEnvironment, employeeDocumentsQuery, {
|
||||
loadQuery(coreEnvironment, employeeDocumentsQuery, {
|
||||
organizationId: organizationId!,
|
||||
}),
|
||||
),
|
||||
@@ -170,7 +170,7 @@ const routes = [
|
||||
Fallback: PageSkeleton,
|
||||
ErrorBoundary: ErrorBoundary,
|
||||
loader: loaderFromQueryLoader(({ documentId }) =>
|
||||
loadQuery(consoleEnvironment, employeeDocumentSignatureQuery, {
|
||||
loadQuery(coreEnvironment, employeeDocumentSignatureQuery, {
|
||||
documentId: documentId!,
|
||||
}),
|
||||
),
|
||||
@@ -186,9 +186,9 @@ const routes = [
|
||||
{
|
||||
path: "/organizations/:organizationId",
|
||||
Component: () => (
|
||||
<RelayEnvironmentProvider environment={connectEnvironment}>
|
||||
<IAMRelayProvider>
|
||||
<OrganizationLayoutQuery />
|
||||
</RelayEnvironmentProvider>
|
||||
</IAMRelayProvider>
|
||||
),
|
||||
ErrorBoundary: ErrorBoundary,
|
||||
children: [
|
||||
@@ -210,7 +210,7 @@ const routes = [
|
||||
path: "settings",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery(consoleEnvironment, organizationViewQuery, {
|
||||
loadQuery(coreEnvironment, organizationViewQuery, {
|
||||
organizationId: organizationId!,
|
||||
}),
|
||||
),
|
||||
|
||||
@@ -1,53 +1,65 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { assetsQuery, assetNodeQuery } from "../hooks/graph/AssetGraph";
|
||||
import type { AssetGraphListQuery } from "/hooks/graph/__generated__/AssetGraphListQuery.graphql";
|
||||
import type { AssetGraphNodeQuery } from "/hooks/graph/__generated__/AssetGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const assetRoutes = [
|
||||
{
|
||||
path: "assets",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<AssetGraphListQuery>(consoleEnvironment, assetsQuery, {
|
||||
loadQuery<AssetGraphListQuery>(coreEnvironment, assetsQuery, {
|
||||
organizationId: organizationId,
|
||||
snapshotId: null,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/assets/AssetsPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/assets/AssetsPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/assets",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<AssetGraphListQuery>(consoleEnvironment, assetsQuery, {
|
||||
loadQuery<AssetGraphListQuery>(coreEnvironment, assetsQuery, {
|
||||
organizationId: organizationId,
|
||||
snapshotId: snapshotId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/assets/AssetsPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/assets/AssetsPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "assets/:assetId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ assetId }) =>
|
||||
loadQuery<AssetGraphNodeQuery>(consoleEnvironment, assetNodeQuery, { assetId }),
|
||||
loadQuery<AssetGraphNodeQuery>(coreEnvironment, assetNodeQuery, {
|
||||
assetId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/assets/AssetDetailsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/assets/AssetDetailsPage"),
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/assets/:assetId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ assetId }) =>
|
||||
loadQuery<AssetGraphNodeQuery>(consoleEnvironment, assetNodeQuery, { assetId }),
|
||||
loadQuery<AssetGraphNodeQuery>(coreEnvironment, assetNodeQuery, {
|
||||
assetId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/assets/AssetDetailsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/assets/AssetDetailsPage"),
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,31 +1,39 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { auditsQuery, auditNodeQuery } from "../hooks/graph/AuditGraph";
|
||||
import type { AuditGraphListQuery } from "/hooks/graph/__generated__/AuditGraphListQuery.graphql";
|
||||
import type { AuditGraphNodeQuery } from "/hooks/graph/__generated__/AuditGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const auditRoutes = [
|
||||
{
|
||||
path: "audits",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<AuditGraphListQuery>(consoleEnvironment, auditsQuery, { organizationId }),
|
||||
loadQuery<AuditGraphListQuery>(coreEnvironment, auditsQuery, {
|
||||
organizationId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/audits/AuditsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/audits/AuditsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "audits/:auditId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ auditId }) =>
|
||||
loadQuery<AuditGraphNodeQuery>(consoleEnvironment, auditNodeQuery, { auditId }),
|
||||
loadQuery<AuditGraphNodeQuery>(coreEnvironment, auditNodeQuery, {
|
||||
auditId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/audits/AuditDetailsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/audits/AuditDetailsPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,61 +1,96 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { continualImprovementsQuery, continualImprovementNodeQuery } from "/hooks/graph/ContinualImprovementGraph";
|
||||
import {
|
||||
continualImprovementsQuery,
|
||||
continualImprovementNodeQuery,
|
||||
} from "/hooks/graph/ContinualImprovementGraph";
|
||||
import type { ContinualImprovementGraphListQuery } from "/hooks/graph/__generated__/ContinualImprovementGraphListQuery.graphql";
|
||||
import type { ContinualImprovementGraphNodeQuery } from "/hooks/graph/__generated__/ContinualImprovementGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const continualImprovementRoutes = [
|
||||
{
|
||||
path: "continual-improvements",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<ContinualImprovementGraphListQuery>(consoleEnvironment, continualImprovementsQuery, {
|
||||
organizationId,
|
||||
snapshotId: null
|
||||
}),
|
||||
loadQuery<ContinualImprovementGraphListQuery>(
|
||||
coreEnvironment,
|
||||
continualImprovementsQuery,
|
||||
{
|
||||
organizationId,
|
||||
snapshotId: null,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/continualImprovements/ContinualImprovementsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/continualImprovements/ContinualImprovementsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/continual-improvements",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<ContinualImprovementGraphListQuery>(consoleEnvironment, continualImprovementsQuery, {
|
||||
organizationId,
|
||||
snapshotId,
|
||||
}),
|
||||
loadQuery<ContinualImprovementGraphListQuery>(
|
||||
coreEnvironment,
|
||||
continualImprovementsQuery,
|
||||
{
|
||||
organizationId,
|
||||
snapshotId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/continualImprovements/ContinualImprovementsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/continualImprovements/ContinualImprovementsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "continual-improvements/:improvementId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ improvementId }) =>
|
||||
loadQuery<ContinualImprovementGraphNodeQuery>(consoleEnvironment, continualImprovementNodeQuery, {
|
||||
continualImprovementId: improvementId!,
|
||||
}),
|
||||
loadQuery<ContinualImprovementGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
continualImprovementNodeQuery,
|
||||
{
|
||||
continualImprovementId: improvementId!,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/continualImprovements/ContinualImprovementDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/continualImprovements/ContinualImprovementDetailsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/continual-improvements/:improvementId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ improvementId }) =>
|
||||
loadQuery<ContinualImprovementGraphNodeQuery>(consoleEnvironment, continualImprovementNodeQuery, {
|
||||
continualImprovementId: improvementId!,
|
||||
}),
|
||||
loadQuery<ContinualImprovementGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
continualImprovementNodeQuery,
|
||||
{
|
||||
continualImprovementId: improvementId!,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/continualImprovements/ContinualImprovementDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/continualImprovements/ContinualImprovementDetailsPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,57 +1,65 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { dataQuery, datumNodeQuery } from "../hooks/graph/DatumGraph";
|
||||
import type { DatumGraphListQuery } from "/hooks/graph/__generated__/DatumGraphListQuery.graphql";
|
||||
import type { DatumGraphNodeQuery } from "/hooks/graph/__generated__/DatumGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const dataRoutes = [
|
||||
{
|
||||
path: "data",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<DatumGraphListQuery>(consoleEnvironment, dataQuery, {
|
||||
loadQuery<DatumGraphListQuery>(coreEnvironment, dataQuery, {
|
||||
organizationId: organizationId,
|
||||
snapshotId: null
|
||||
snapshotId: null,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/data/DataPage")
|
||||
)),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/data/DataPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/data",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<DatumGraphListQuery>(consoleEnvironment, dataQuery, {
|
||||
loadQuery<DatumGraphListQuery>(coreEnvironment, dataQuery, {
|
||||
organizationId,
|
||||
snapshotId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/data/DataPage")
|
||||
)),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/data/DataPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "data/:dataId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ dataId }) =>
|
||||
loadQuery<DatumGraphNodeQuery>(consoleEnvironment, datumNodeQuery, { dataId }),
|
||||
loadQuery<DatumGraphNodeQuery>(coreEnvironment, datumNodeQuery, {
|
||||
dataId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("../pages/organizations/data/DatumDetailsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/data/DatumDetailsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/data/:dataId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ dataId }) =>
|
||||
loadQuery<DatumGraphNodeQuery>(consoleEnvironment, datumNodeQuery, { dataId }),
|
||||
loadQuery<DatumGraphNodeQuery>(coreEnvironment, datumNodeQuery, {
|
||||
dataId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("../pages/organizations/data/DatumDetailsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/data/DatumDetailsPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
import { Fragment } from "react";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { documentsQuery } from "/hooks/graph/DocumentGraph";
|
||||
import { documentNodeQuery } from "/hooks/graph/DocumentGraph";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { redirect, type LoaderFunctionArgs } from "react-router";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { DocumentGraphListQuery } from "/hooks/graph/__generated__/DocumentGraphListQuery.graphql";
|
||||
import type { DocumentGraphNodeQuery } from "/hooks/graph/__generated__/DocumentGraphNodeQuery.graphql";
|
||||
|
||||
@@ -15,7 +19,9 @@ const documentTabs = (prefix: string) => {
|
||||
return [
|
||||
{
|
||||
path: `${prefix}`,
|
||||
loader: ({ params: { organizationId, documentId, versionId } }: LoaderFunctionArgs) => {
|
||||
loader: ({
|
||||
params: { organizationId, documentId, versionId },
|
||||
}: LoaderFunctionArgs) => {
|
||||
const basePath = `/organizations/${organizationId}/documents/${documentId}`;
|
||||
const redirectPath = versionId
|
||||
? `${basePath}/versions/${versionId}/description`
|
||||
@@ -29,9 +35,7 @@ const documentTabs = (prefix: string) => {
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import(
|
||||
"../pages/organizations/documents/tabs/DocumentDescriptionTab"
|
||||
),
|
||||
import("../pages/organizations/documents/tabs/DocumentDescriptionTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -58,21 +62,25 @@ export const documentsRoutes = [
|
||||
path: "documents",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<DocumentGraphListQuery>(consoleEnvironment, documentsQuery, { organizationId: organizationId! }),
|
||||
loadQuery<DocumentGraphListQuery>(coreEnvironment, documentsQuery, {
|
||||
organizationId: organizationId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/documents/DocumentsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/documents/DocumentsPage"),
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "documents/:documentId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ documentId }) =>
|
||||
loadQuery<DocumentGraphNodeQuery>(consoleEnvironment, documentNodeQuery, { documentId: documentId! }),
|
||||
loadQuery<DocumentGraphNodeQuery>(coreEnvironment, documentNodeQuery, {
|
||||
documentId: documentId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("../pages/organizations/documents/DocumentDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/documents/DocumentDetailPage"),
|
||||
)),
|
||||
children: [...documentTabs(""), ...documentTabs("versions/:versionId/")],
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import {
|
||||
frameworksQuery,
|
||||
frameworkNodeQuery,
|
||||
@@ -9,7 +9,11 @@ import {
|
||||
import { Fragment } from "react";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { ControlSkeleton } from "../components/skeletons/ControlSkeleton";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { FrameworkGraphListQuery } from "/hooks/graph/__generated__/FrameworkGraphListQuery.graphql";
|
||||
import type { FrameworkGraphNodeQuery } from "/hooks/graph/__generated__/FrameworkGraphNodeQuery.graphql";
|
||||
import type { FrameworkGraphControlNodeQuery } from "/hooks/graph/__generated__/FrameworkGraphControlNodeQuery.graphql";
|
||||
@@ -19,21 +23,25 @@ export const frameworkRoutes = [
|
||||
path: "frameworks",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<FrameworkGraphListQuery>(consoleEnvironment, frameworksQuery, { organizationId: organizationId! }),
|
||||
loadQuery<FrameworkGraphListQuery>(coreEnvironment, frameworksQuery, {
|
||||
organizationId: organizationId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/frameworks/FrameworksPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/frameworks/FrameworksPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "frameworks/:frameworkId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ frameworkId }) =>
|
||||
loadQuery<FrameworkGraphNodeQuery>(consoleEnvironment, frameworkNodeQuery, { frameworkId: frameworkId! }),
|
||||
loadQuery<FrameworkGraphNodeQuery>(coreEnvironment, frameworkNodeQuery, {
|
||||
frameworkId: frameworkId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/frameworks/FrameworkDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/frameworks/FrameworkDetailPage")
|
||||
)),
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
@@ -43,11 +51,18 @@ export const frameworkRoutes = [
|
||||
path: "controls/:controlId",
|
||||
Fallback: ControlSkeleton,
|
||||
loader: loaderFromQueryLoader(({ controlId }) =>
|
||||
loadQuery<FrameworkGraphControlNodeQuery>(consoleEnvironment, frameworkControlNodeQuery, { controlId: controlId! }),
|
||||
loadQuery<FrameworkGraphControlNodeQuery>(
|
||||
coreEnvironment,
|
||||
frameworkControlNodeQuery,
|
||||
{ controlId: controlId! },
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/frameworks/FrameworkControlPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/frameworks/FrameworkControlPage")
|
||||
)),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
import { Fragment } from "react";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { measureNodeQuery, measuresQuery } from "/hooks/graph/MeasureGraph";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { redirect } from "react-router";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { MeasureGraphListQuery } from "/hooks/graph/__generated__/MeasureGraphListQuery.graphql";
|
||||
import type { MeasureGraphNodeQuery } from "/hooks/graph/__generated__/MeasureGraphNodeQuery.graphql";
|
||||
|
||||
@@ -15,9 +19,13 @@ export const measureRoutes = [
|
||||
path: "measures",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<MeasureGraphListQuery>(consoleEnvironment, measuresQuery, { organizationId: organizationId! }),
|
||||
loadQuery<MeasureGraphListQuery>(coreEnvironment, measuresQuery, {
|
||||
organizationId: organizationId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/measures/MeasuresPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/measures/MeasuresPage"))),
|
||||
children: [
|
||||
{
|
||||
path: "category/:categoryId",
|
||||
@@ -29,9 +37,13 @@ export const measureRoutes = [
|
||||
path: "measures/:measureId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ measureId }) =>
|
||||
loadQuery<MeasureGraphNodeQuery>(consoleEnvironment, measureNodeQuery, { measureId: measureId! }),
|
||||
loadQuery<MeasureGraphNodeQuery>(coreEnvironment, measureNodeQuery, {
|
||||
measureId: measureId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/measures/MeasureDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/measures/MeasureDetailPage"))),
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
@@ -44,14 +56,16 @@ export const measureRoutes = [
|
||||
path: "risks",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/measures/tabs/MeasureRisksTab.tsx")
|
||||
() =>
|
||||
import("/pages/organizations/measures/tabs/MeasureRisksTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "tasks",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/measures/tabs/MeasureTasksTab.tsx")
|
||||
() =>
|
||||
import("/pages/organizations/measures/tabs/MeasureTasksTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -59,7 +73,7 @@ export const measureRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("/pages/organizations/measures/tabs/MeasureControlsTab.tsx")
|
||||
import("/pages/organizations/measures/tabs/MeasureControlsTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -67,7 +81,7 @@ export const measureRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("/pages/organizations/measures/tabs/MeasureEvidencesTab.tsx")
|
||||
import("/pages/organizations/measures/tabs/MeasureEvidencesTab.tsx"),
|
||||
),
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Fragment } from "react";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { meetingsQuery } from "/hooks/graph/MeetingGraph";
|
||||
import { meetingNodeQuery } from "/hooks/graph/MeetingGraph";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
@@ -9,13 +9,19 @@ import { lazy } from "@probo/react-lazy";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import type { MeetingGraphListQuery } from "/hooks/graph/__generated__/MeetingGraphListQuery.graphql";
|
||||
import type { MeetingGraphNodeQuery } from "/hooks/graph/__generated__/MeetingGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
const meetingTabs = (prefix: string) => {
|
||||
return [
|
||||
{
|
||||
path: `${prefix}`,
|
||||
loader: ({ params: { organizationId, meetingId } }: LoaderFunctionArgs) => {
|
||||
loader: ({
|
||||
params: { organizationId, meetingId },
|
||||
}: LoaderFunctionArgs) => {
|
||||
const basePath = `/organizations/${organizationId}/meetings/${meetingId}`;
|
||||
const redirectPath = `${basePath}/minutes`;
|
||||
throw redirect(redirectPath);
|
||||
@@ -26,10 +32,7 @@ const meetingTabs = (prefix: string) => {
|
||||
path: `${prefix}minutes`,
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import(
|
||||
"../pages/organizations/meetings/tabs/MeetingMinutesTab"
|
||||
),
|
||||
() => import("../pages/organizations/meetings/tabs/MeetingMinutesTab"),
|
||||
),
|
||||
},
|
||||
];
|
||||
@@ -40,22 +43,25 @@ export const meetingsRoutes = [
|
||||
path: "meetings",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<MeetingGraphListQuery>(consoleEnvironment, meetingsQuery, { organizationId }),
|
||||
loadQuery<MeetingGraphListQuery>(coreEnvironment, meetingsQuery, {
|
||||
organizationId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/meetings/MeetingsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/meetings/MeetingsPage"),
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "meetings/:meetingId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ meetingId }) =>
|
||||
loadQuery<MeetingGraphNodeQuery>(consoleEnvironment, meetingNodeQuery, { meetingId }),
|
||||
loadQuery<MeetingGraphNodeQuery>(coreEnvironment, meetingNodeQuery, {
|
||||
meetingId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("../pages/organizations/meetings/MeetingDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/meetings/MeetingDetailPage"),
|
||||
)),
|
||||
children: [...meetingTabs("")],
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
|
||||
@@ -1,61 +1,96 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { nonconformitiesQuery, nonconformityNodeQuery } from "../hooks/graph/NonconformityGraph";
|
||||
import {
|
||||
nonconformitiesQuery,
|
||||
nonconformityNodeQuery,
|
||||
} from "../hooks/graph/NonconformityGraph";
|
||||
import type { NonconformityGraphListQuery } from "/hooks/graph/__generated__/NonconformityGraphListQuery.graphql";
|
||||
import type { NonconformityGraphNodeQuery } from "/hooks/graph/__generated__/NonconformityGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const nonconformityRoutes = [
|
||||
{
|
||||
path: "nonconformities",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<NonconformityGraphListQuery>(consoleEnvironment, nonconformitiesQuery, {
|
||||
organizationId,
|
||||
snapshotId: null
|
||||
}),
|
||||
loadQuery<NonconformityGraphListQuery>(
|
||||
coreEnvironment,
|
||||
nonconformitiesQuery,
|
||||
{
|
||||
organizationId,
|
||||
snapshotId: null,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("../pages/organizations/nonconformities/NonconformitiesPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/nonconformities/NonconformitiesPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/nonconformities",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<NonconformityGraphListQuery>(consoleEnvironment, nonconformitiesQuery, {
|
||||
organizationId,
|
||||
snapshotId,
|
||||
}),
|
||||
loadQuery<NonconformityGraphListQuery>(
|
||||
coreEnvironment,
|
||||
nonconformitiesQuery,
|
||||
{
|
||||
organizationId,
|
||||
snapshotId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("../pages/organizations/nonconformities/NonconformitiesPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/nonconformities/NonconformitiesPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "nonconformities/:nonconformityId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ nonconformityId }) =>
|
||||
loadQuery<NonconformityGraphNodeQuery>(consoleEnvironment, nonconformityNodeQuery, {
|
||||
nonconformityId,
|
||||
}),
|
||||
loadQuery<NonconformityGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
nonconformityNodeQuery,
|
||||
{
|
||||
nonconformityId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("../pages/organizations/nonconformities/NonconformityDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/nonconformities/NonconformityDetailsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/nonconformities/:nonconformityId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ nonconformityId }) =>
|
||||
loadQuery<NonconformityGraphNodeQuery>(consoleEnvironment, nonconformityNodeQuery, {
|
||||
nonconformityId: nonconformityId
|
||||
}),
|
||||
loadQuery<NonconformityGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
nonconformityNodeQuery,
|
||||
{
|
||||
nonconformityId: nonconformityId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("../pages/organizations/nonconformities/NonconformityDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/nonconformities/NonconformityDetailsPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,61 +1,80 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { obligationsQuery, obligationNodeQuery } from "/hooks/graph/ObligationGraph";
|
||||
import {
|
||||
obligationsQuery,
|
||||
obligationNodeQuery,
|
||||
} from "/hooks/graph/ObligationGraph";
|
||||
import type { ObligationGraphListQuery } from "/hooks/graph/__generated__/ObligationGraphListQuery.graphql";
|
||||
import type { ObligationGraphNodeQuery } from "/hooks/graph/__generated__/ObligationGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const obligationRoutes = [
|
||||
{
|
||||
path: "obligations",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<ObligationGraphListQuery>(consoleEnvironment, obligationsQuery, {
|
||||
loadQuery<ObligationGraphListQuery>(coreEnvironment, obligationsQuery, {
|
||||
organizationId,
|
||||
snapshotId: null
|
||||
snapshotId: null,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/obligations/ObligationsPage")
|
||||
)),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/obligations/ObligationsPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/obligations",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<ObligationGraphListQuery>(consoleEnvironment, obligationsQuery, {
|
||||
loadQuery<ObligationGraphListQuery>(coreEnvironment, obligationsQuery, {
|
||||
organizationId,
|
||||
snapshotId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/obligations/ObligationsPage")
|
||||
)),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/obligations/ObligationsPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "obligations/:obligationId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ obligationId }) =>
|
||||
loadQuery<ObligationGraphNodeQuery>(consoleEnvironment, obligationNodeQuery, {
|
||||
obligationId,
|
||||
}),
|
||||
loadQuery<ObligationGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
obligationNodeQuery,
|
||||
{
|
||||
obligationId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() => import("/pages/organizations/obligations/ObligationDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/obligations/ObligationDetailsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/obligations/:obligationId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ obligationId }) =>
|
||||
loadQuery<ObligationGraphNodeQuery>(consoleEnvironment, obligationNodeQuery, {
|
||||
obligationId,
|
||||
}),
|
||||
loadQuery<ObligationGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
obligationNodeQuery,
|
||||
{
|
||||
obligationId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() => import("/pages/organizations/obligations/ObligationDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/obligations/ObligationDetailsPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton.tsx";
|
||||
import {
|
||||
paginatedPeopleQuery,
|
||||
peopleNodeQuery,
|
||||
} from "/hooks/graph/PeopleGraph";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { PeopleGraphPaginatedQuery } from "/hooks/graph/__generated__/PeopleGraphPaginatedQuery.graphql";
|
||||
import type { PeopleGraphNodeQuery } from "/hooks/graph/__generated__/PeopleGraphNodeQuery.graphql";
|
||||
|
||||
@@ -16,39 +20,47 @@ export const peopleRoutes = [
|
||||
path: "people",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<PeopleGraphPaginatedQuery>(consoleEnvironment, paginatedPeopleQuery, { organizationId: organizationId! }),
|
||||
loadQuery<PeopleGraphPaginatedQuery>(
|
||||
coreEnvironment,
|
||||
paginatedPeopleQuery,
|
||||
{ organizationId: organizationId! },
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/people/PeopleListPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/people/PeopleListPage"))),
|
||||
},
|
||||
{
|
||||
path: "people/:peopleId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ peopleId }) =>
|
||||
loadQuery<PeopleGraphNodeQuery>(consoleEnvironment, peopleNodeQuery, { peopleId: peopleId! }),
|
||||
loadQuery<PeopleGraphNodeQuery>(coreEnvironment, peopleNodeQuery, {
|
||||
peopleId: peopleId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/people/PeopleDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/people/PeopleDetailPage")
|
||||
)),
|
||||
children: [
|
||||
{
|
||||
path: "tasks",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/people/tabs/PeopleTasksTab")
|
||||
() => import("/pages/organizations/people/tabs/PeopleTasksTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "role",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/people/tabs/PeopleRoleTab")
|
||||
() => import("/pages/organizations/people/tabs/PeopleRoleTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "profile",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/people/tabs/PeopleProfileTab")
|
||||
() => import("/pages/organizations/people/tabs/PeopleProfileTab"),
|
||||
),
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
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 {
|
||||
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";
|
||||
|
||||
@@ -12,50 +19,78 @@ export const processingActivityRoutes = [
|
||||
path: "processing-activities",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<ProcessingActivityGraphListQuery>(consoleEnvironment, processingActivitiesQuery, {
|
||||
organizationId: organizationId!,
|
||||
snapshotId: null
|
||||
}),
|
||||
loadQuery<ProcessingActivityGraphListQuery>(
|
||||
coreEnvironment,
|
||||
processingActivitiesQuery,
|
||||
{
|
||||
organizationId: organizationId!,
|
||||
snapshotId: null,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/processingActivities/ProcessingActivitiesPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/processingActivities/ProcessingActivitiesPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/processing-activities",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<ProcessingActivityGraphListQuery>(consoleEnvironment, processingActivitiesQuery, {
|
||||
organizationId: organizationId!,
|
||||
snapshotId,
|
||||
}),
|
||||
loadQuery<ProcessingActivityGraphListQuery>(
|
||||
coreEnvironment,
|
||||
processingActivitiesQuery,
|
||||
{
|
||||
organizationId: organizationId!,
|
||||
snapshotId,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/processingActivities/ProcessingActivitiesPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/processingActivities/ProcessingActivitiesPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "processing-activities/:activityId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ activityId }) =>
|
||||
loadQuery<ProcessingActivityGraphNodeQuery>(consoleEnvironment, processingActivityNodeQuery, {
|
||||
processingActivityId: activityId!,
|
||||
}),
|
||||
loadQuery<ProcessingActivityGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
processingActivityNodeQuery,
|
||||
{
|
||||
processingActivityId: activityId!,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/processing-activities/:activityId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ activityId }) =>
|
||||
loadQuery<ProcessingActivityGraphNodeQuery>(consoleEnvironment, processingActivityNodeQuery, {
|
||||
processingActivityId: activityId!,
|
||||
}),
|
||||
loadQuery<ProcessingActivityGraphNodeQuery>(
|
||||
coreEnvironment,
|
||||
processingActivityNodeQuery,
|
||||
{
|
||||
processingActivityId: activityId!,
|
||||
},
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(
|
||||
() =>
|
||||
import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage"),
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/processingActivities/ProcessingActivityDetailsPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
import { Fragment } from "react";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { RisksPageSkeleton } from "/components/skeletons/RisksPageSkeleton.tsx";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { riskNodeQuery, risksQuery } from "/hooks/graph/RiskGraph";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { redirect } from "react-router";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import type { RiskGraphNodeQuery } from "/hooks/graph/__generated__/RiskGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { RiskGraphListQuery } from "/hooks/graph/__generated__/RiskGraphListQuery.graphql";
|
||||
|
||||
export const riskRoutes = [
|
||||
@@ -16,31 +20,39 @@ export const riskRoutes = [
|
||||
path: "risks",
|
||||
Fallback: RisksPageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<RiskGraphListQuery>(consoleEnvironment, risksQuery, {
|
||||
loadQuery<RiskGraphListQuery>(coreEnvironment, risksQuery, {
|
||||
organizationId: organizationId!,
|
||||
snapshotId: null
|
||||
snapshotId: null,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/risks/RisksPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/risks/RisksPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/risks",
|
||||
Fallback: RisksPageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<RiskGraphListQuery>(consoleEnvironment, risksQuery, {
|
||||
loadQuery<RiskGraphListQuery>(coreEnvironment, risksQuery, {
|
||||
organizationId: organizationId!,
|
||||
snapshotId: snapshotId!
|
||||
snapshotId: snapshotId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/risks/RisksPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/risks/RisksPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "risks/:riskId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ riskId }) =>
|
||||
loadQuery<RiskGraphNodeQuery>(consoleEnvironment, riskNodeQuery, { riskId: riskId! }),
|
||||
loadQuery<RiskGraphNodeQuery>(coreEnvironment, riskNodeQuery, {
|
||||
riskId: riskId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/risks/RiskDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/risks/RiskDetailPage"))),
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
@@ -53,35 +65,36 @@ export const riskRoutes = [
|
||||
path: "overview",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/risks/tabs/RiskOverviewTab.tsx")
|
||||
() => import("/pages/organizations/risks/tabs/RiskOverviewTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "measures",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/risks/tabs/RiskMeasuresTab.tsx")
|
||||
() => import("/pages/organizations/risks/tabs/RiskMeasuresTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "documents",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/risks/tabs/RiskDocumentsTab.tsx")
|
||||
() => import("/pages/organizations/risks/tabs/RiskDocumentsTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "controls",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/risks/tabs/RiskControlsTab.tsx")
|
||||
() => import("/pages/organizations/risks/tabs/RiskControlsTab.tsx"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "obligations",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/risks/tabs/RiskObligationsTab.tsx")
|
||||
() =>
|
||||
import("/pages/organizations/risks/tabs/RiskObligationsTab.tsx"),
|
||||
),
|
||||
},
|
||||
],
|
||||
@@ -90,9 +103,13 @@ export const riskRoutes = [
|
||||
path: "snapshots/:snapshotId/risks/:riskId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ riskId }) =>
|
||||
loadQuery<RiskGraphNodeQuery>(consoleEnvironment, riskNodeQuery, { riskId: riskId! }),
|
||||
loadQuery<RiskGraphNodeQuery>(coreEnvironment, riskNodeQuery, {
|
||||
riskId: riskId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/risks/RiskDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/risks/RiskDetailPage"))),
|
||||
children: [
|
||||
{
|
||||
path: "",
|
||||
@@ -105,7 +122,7 @@ export const riskRoutes = [
|
||||
path: "overview",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/risks/tabs/RiskOverviewTab.tsx")
|
||||
() => import("/pages/organizations/risks/tabs/RiskOverviewTab.tsx"),
|
||||
),
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,31 +1,39 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { snapshotsQuery, snapshotNodeQuery } from "/hooks/graph/SnapshotGraph";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import type { SnapshotGraphListQuery } from "/hooks/graph/__generated__/SnapshotGraphListQuery.graphql";
|
||||
import type { SnapshotGraphNodeQuery } from "/hooks/graph/__generated__/SnapshotGraphNodeQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const snapshotsRoutes = [
|
||||
{
|
||||
path: "snapshots",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<SnapshotGraphListQuery>(consoleEnvironment, snapshotsQuery, { organizationId }),
|
||||
loadQuery<SnapshotGraphListQuery>(coreEnvironment, snapshotsQuery, {
|
||||
organizationId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/snapshots/SnapshotsPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/snapshots/SnapshotsPage")
|
||||
)),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ snapshotId }) =>
|
||||
loadQuery<SnapshotGraphNodeQuery>(consoleEnvironment, snapshotNodeQuery, { snapshotId }),
|
||||
loadQuery<SnapshotGraphNodeQuery>(coreEnvironment, snapshotNodeQuery, {
|
||||
snapshotId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/snapshots/SnapshotDetailPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/snapshots/SnapshotDetailPage")
|
||||
)),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,19 +1,25 @@
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { tasksQuery } from "/hooks/graph/TaskGraph";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { TaskGraphQuery } from "/hooks/graph/__generated__/TaskGraphQuery.graphql";
|
||||
export const taskRoutes = [
|
||||
{
|
||||
path: "tasks",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<TaskGraphQuery>(consoleEnvironment, tasksQuery, {
|
||||
loadQuery<TaskGraphQuery>(coreEnvironment, tasksQuery, {
|
||||
organizationId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/tasks/TasksPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/tasks/TasksPage")),
|
||||
),
|
||||
},
|
||||
] satisfies AppRoute[];
|
||||
|
||||
@@ -1,70 +1,84 @@
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { trustCenterQuery } from "../hooks/graph/TrustCenterGraph";
|
||||
import type { TrustCenterGraphQuery } from "/hooks/graph/__generated__/TrustCenterGraphQuery.graphql";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
|
||||
export const trustCenterRoutes = [
|
||||
{
|
||||
path: "trust-center",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<TrustCenterGraphQuery>(consoleEnvironment, trustCenterQuery, { organizationId }, { fetchPolicy: "network-only" }),
|
||||
loadQuery<TrustCenterGraphQuery>(
|
||||
coreEnvironment,
|
||||
trustCenterQuery,
|
||||
{ organizationId },
|
||||
{ fetchPolicy: "network-only" },
|
||||
),
|
||||
),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/trustCenter/TrustCenterPage")),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterPage")
|
||||
)),
|
||||
children: [
|
||||
{
|
||||
index: true,
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterOverviewTab")
|
||||
() =>
|
||||
import("/pages/organizations/trustCenter/TrustCenterOverviewTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "trust-by",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterReferencesTab")
|
||||
() =>
|
||||
import("/pages/organizations/trustCenter/TrustCenterReferencesTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "audits",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterAuditsTab")
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterAuditsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "documents",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterDocumentsTab")
|
||||
() =>
|
||||
import("/pages/organizations/trustCenter/TrustCenterDocumentsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "files",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterFilesTab")
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterFilesTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "vendors",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterVendorsTab")
|
||||
() =>
|
||||
import("/pages/organizations/trustCenter/TrustCenterVendorsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "access",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessTab")
|
||||
() =>
|
||||
import("/pages/organizations/trustCenter/TrustCenterAccessTab/TrustCenterAccessTab"),
|
||||
),
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import { lazy } from "@probo/react-lazy";
|
||||
import { loadQuery } from "react-relay";
|
||||
import { consoleEnvironment } from "/environments";
|
||||
import { coreEnvironment } from "/environments";
|
||||
import { PageSkeleton } from "/components/skeletons/PageSkeleton";
|
||||
import { vendorNodeQuery, vendorsQuery } from "/hooks/graph/VendorGraph";
|
||||
import { LinkCardSkeleton } from "/components/skeletons/LinkCardSkeleton";
|
||||
import { loaderFromQueryLoader, withQueryRef, type AppRoute } from "@probo/routes";
|
||||
import {
|
||||
loaderFromQueryLoader,
|
||||
withQueryRef,
|
||||
type AppRoute,
|
||||
} from "@probo/routes";
|
||||
import type { VendorGraphListQuery } from "/hooks/graph/__generated__/VendorGraphListQuery.graphql";
|
||||
import type { VendorGraphNodeQuery } from "/hooks/graph/__generated__/VendorGraphNodeQuery.graphql";
|
||||
|
||||
@@ -13,41 +17,45 @@ export const vendorRoutes = [
|
||||
path: "vendors",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId }) =>
|
||||
loadQuery<VendorGraphListQuery>(consoleEnvironment, vendorsQuery, {
|
||||
loadQuery<VendorGraphListQuery>(coreEnvironment, vendorsQuery, {
|
||||
organizationId: organizationId!,
|
||||
snapshotId: null
|
||||
snapshotId: null,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/vendors/VendorsPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/vendors/VendorsPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "snapshots/:snapshotId/vendors",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ organizationId, snapshotId }) =>
|
||||
loadQuery<VendorGraphListQuery>(consoleEnvironment, vendorsQuery, {
|
||||
loadQuery<VendorGraphListQuery>(coreEnvironment, vendorsQuery, {
|
||||
organizationId: organizationId!,
|
||||
snapshotId
|
||||
snapshotId,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(() => import("/pages/organizations/vendors/VendorsPage"))),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("/pages/organizations/vendors/VendorsPage")),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "vendors/:vendorId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ vendorId }) =>
|
||||
loadQuery<VendorGraphNodeQuery>(consoleEnvironment, vendorNodeQuery, {
|
||||
loadQuery<VendorGraphNodeQuery>(coreEnvironment, vendorNodeQuery, {
|
||||
vendorId: vendorId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/vendors/VendorDetailPage")
|
||||
)),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("../pages/organizations/vendors/VendorDetailPage")),
|
||||
),
|
||||
children: [
|
||||
{
|
||||
path: "overview",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("../pages/organizations/vendors/tabs/VendorOverviewTab")
|
||||
() => import("../pages/organizations/vendors/tabs/VendorOverviewTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -55,9 +63,7 @@ export const vendorRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import(
|
||||
"../pages/organizations/vendors/tabs/VendorCertificationsTab"
|
||||
)
|
||||
import("../pages/organizations/vendors/tabs/VendorCertificationsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -65,7 +71,7 @@ export const vendorRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("../pages/organizations/vendors/tabs/VendorComplianceTab")
|
||||
import("../pages/organizations/vendors/tabs/VendorComplianceTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -73,25 +79,21 @@ export const vendorRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import(
|
||||
"../pages/organizations/vendors/tabs/VendorRiskAssessmentTab"
|
||||
)
|
||||
import("../pages/organizations/vendors/tabs/VendorRiskAssessmentTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "contacts",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("../pages/organizations/vendors/tabs/VendorContactsTab")
|
||||
() => import("../pages/organizations/vendors/tabs/VendorContactsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "services",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("../pages/organizations/vendors/tabs/VendorServicesTab")
|
||||
() => import("../pages/organizations/vendors/tabs/VendorServicesTab"),
|
||||
),
|
||||
},
|
||||
],
|
||||
@@ -100,19 +102,19 @@ export const vendorRoutes = [
|
||||
path: "snapshots/:snapshotId/vendors/:vendorId",
|
||||
Fallback: PageSkeleton,
|
||||
loader: loaderFromQueryLoader(({ vendorId }) =>
|
||||
loadQuery<VendorGraphNodeQuery>(consoleEnvironment, vendorNodeQuery, {
|
||||
loadQuery<VendorGraphNodeQuery>(coreEnvironment, vendorNodeQuery, {
|
||||
vendorId: vendorId!,
|
||||
}),
|
||||
),
|
||||
Component: withQueryRef(lazy(
|
||||
() => import("../pages/organizations/vendors/VendorDetailPage")
|
||||
)),
|
||||
Component: withQueryRef(
|
||||
lazy(() => import("../pages/organizations/vendors/VendorDetailPage")),
|
||||
),
|
||||
children: [
|
||||
{
|
||||
path: "overview",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() => import("../pages/organizations/vendors/tabs/VendorOverviewTab")
|
||||
() => import("../pages/organizations/vendors/tabs/VendorOverviewTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -120,9 +122,7 @@ export const vendorRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import(
|
||||
"../pages/organizations/vendors/tabs/VendorCertificationsTab"
|
||||
)
|
||||
import("../pages/organizations/vendors/tabs/VendorCertificationsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -130,7 +130,7 @@ export const vendorRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("../pages/organizations/vendors/tabs/VendorComplianceTab")
|
||||
import("../pages/organizations/vendors/tabs/VendorComplianceTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -138,25 +138,21 @@ export const vendorRoutes = [
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import(
|
||||
"../pages/organizations/vendors/tabs/VendorRiskAssessmentTab"
|
||||
)
|
||||
import("../pages/organizations/vendors/tabs/VendorRiskAssessmentTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "contacts",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("../pages/organizations/vendors/tabs/VendorContactsTab")
|
||||
() => import("../pages/organizations/vendors/tabs/VendorContactsTab"),
|
||||
),
|
||||
},
|
||||
{
|
||||
path: "services",
|
||||
Fallback: LinkCardSkeleton,
|
||||
Component: lazy(
|
||||
() =>
|
||||
import("../pages/organizations/vendors/tabs/VendorServicesTab")
|
||||
() => import("../pages/organizations/vendors/tabs/VendorServicesTab"),
|
||||
),
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user