Rename FrameworkPage -> FrameworkLayout
Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
@@ -7,7 +7,7 @@ import OrganizationLayout from "./OrganizationLayout";
|
|||||||
import { SettingsPage } from "./SettingsPage";
|
import { SettingsPage } from "./SettingsPage";
|
||||||
import { CreateFrameworkPage } from "./frameworks/CreateFrameworkPage";
|
import { CreateFrameworkPage } from "./frameworks/CreateFrameworkPage";
|
||||||
import { FrameworkListPage } from "./frameworks/FrameworkListPage";
|
import { FrameworkListPage } from "./frameworks/FrameworkListPage";
|
||||||
import { FrameworkPage } from "./frameworks/FrameworkPage";
|
import { FrameworkLayout } from "./frameworks/FrameworkLayout";
|
||||||
import { UpdateFrameworkPage } from "./frameworks/UpdateFrameworkPage";
|
import { UpdateFrameworkPage } from "./frameworks/UpdateFrameworkPage";
|
||||||
import { ControlPage } from "./frameworks/controls/ControlPage";
|
import { ControlPage } from "./frameworks/controls/ControlPage";
|
||||||
import { EditMitigationPage } from "./mitigations/EditMitigationPage";
|
import { EditMitigationPage } from "./mitigations/EditMitigationPage";
|
||||||
@@ -39,7 +39,7 @@ export function OrganizationsRoutes() {
|
|||||||
<Route path="frameworks" element={<FrameworkListPage />} />
|
<Route path="frameworks" element={<FrameworkListPage />} />
|
||||||
<Route path="frameworks/create" element={<CreateFrameworkPage />} />
|
<Route path="frameworks/create" element={<CreateFrameworkPage />} />
|
||||||
<Route path="frameworks/:frameworkId/*">
|
<Route path="frameworks/:frameworkId/*">
|
||||||
<Route element={<FrameworkPage />}>
|
<Route element={<FrameworkLayout />}>
|
||||||
<Route index />
|
<Route index />
|
||||||
<Route path="controls/:controlId" element={<ControlPage />} />
|
<Route path="controls/:controlId" element={<ControlPage />} />
|
||||||
</Route>
|
</Route>
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import { useMatch } from "react-router";
|
|||||||
import { lazy } from "@probo/react-lazy";
|
import { lazy } from "@probo/react-lazy";
|
||||||
import ErrorBoundary from "@/components/ErrorBoundary";
|
import ErrorBoundary from "@/components/ErrorBoundary";
|
||||||
|
|
||||||
const FrameworkView = lazy(() => import("./FrameworkView"));
|
const FrameworkLayoutView = lazy(() => import("./FrameworkLayoutView"));
|
||||||
|
|
||||||
export function FrameworkViewSkeleton() {
|
export function FrameworkLayoutViewSkeleton() {
|
||||||
return (
|
return (
|
||||||
<PageTemplateSkeleton
|
<PageTemplateSkeleton
|
||||||
actions={
|
actions={
|
||||||
@@ -35,15 +35,18 @@ export function FrameworkViewSkeleton() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function FrameworkPage() {
|
export function FrameworkLayout() {
|
||||||
const match = useMatch(
|
const match = useMatch(
|
||||||
"organizations/:organizationId/frameworks/:frameworkId/*"
|
"organizations/:organizationId/frameworks/:frameworkId/*"
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense key={match?.pathnameBase} fallback={<FrameworkViewSkeleton />}>
|
<Suspense
|
||||||
|
key={match?.pathnameBase}
|
||||||
|
fallback={<FrameworkLayoutViewSkeleton />}
|
||||||
|
>
|
||||||
<ErrorBoundary key={match?.pathnameBase}>
|
<ErrorBoundary key={match?.pathnameBase}>
|
||||||
<FrameworkView />
|
<FrameworkLayoutView />
|
||||||
</ErrorBoundary>
|
</ErrorBoundary>
|
||||||
</Suspense>
|
</Suspense>
|
||||||
);
|
);
|
||||||
@@ -21,9 +21,8 @@ import { useToast } from "@/hooks/use-toast";
|
|||||||
import type { FrameworkViewQuery as FrameworkViewQueryType } from "./__generated__/FrameworkViewQuery.graphql";
|
import type { FrameworkViewQuery as FrameworkViewQueryType } from "./__generated__/FrameworkViewQuery.graphql";
|
||||||
import type { FrameworkViewDeleteMutation } from "./__generated__/FrameworkViewDeleteMutation.graphql";
|
import type { FrameworkViewDeleteMutation } from "./__generated__/FrameworkViewDeleteMutation.graphql";
|
||||||
import { PageTemplate } from "@/components/PageTemplate";
|
import { PageTemplate } from "@/components/PageTemplate";
|
||||||
import { FrameworkViewSkeleton } from "./FrameworkPage";
|
import { FrameworkLayoutViewSkeleton } from "./FrameworkLayout";
|
||||||
import { ControlList } from "./FrameworkView/ControlList";
|
import { ControlList } from "./FrameworkLayoutView/ControlList";
|
||||||
import ControlView from "./controls/ControlView";
|
|
||||||
|
|
||||||
const FrameworkViewQuery = graphql`
|
const FrameworkViewQuery = graphql`
|
||||||
query FrameworkViewQuery($frameworkId: ID!) {
|
query FrameworkViewQuery($frameworkId: ID!) {
|
||||||
@@ -68,9 +67,8 @@ function FrameworkViewContent({
|
|||||||
}) {
|
}) {
|
||||||
const data = usePreloadedQuery(FrameworkViewQuery, queryRef);
|
const data = usePreloadedQuery(FrameworkViewQuery, queryRef);
|
||||||
const framework = data.node;
|
const framework = data.node;
|
||||||
const control = data.node.firstControl?.edges[0];
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { organizationId, controlId } = useParams();
|
const { organizationId } = useParams();
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false);
|
const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false);
|
||||||
const [isDeleting, setIsDeleting] = useState(false);
|
const [isDeleting, setIsDeleting] = useState(false);
|
||||||
@@ -153,7 +151,7 @@ function FrameworkViewContent({
|
|||||||
>
|
>
|
||||||
<div className="flex flex-row items-start justify-start w-full h-[calc(100vh-216px)] overflow-hidden -ml-8">
|
<div className="flex flex-row items-start justify-start w-full h-[calc(100vh-216px)] overflow-hidden -ml-8">
|
||||||
<ControlList fragmentKey={framework} />
|
<ControlList fragmentKey={framework} />
|
||||||
{controlId && <ControlView controlId={control?.node.id} />}
|
<Outlet />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Delete Confirmation Dialog */}
|
{/* Delete Confirmation Dialog */}
|
||||||
@@ -198,11 +196,11 @@ export default function FrameworkView() {
|
|||||||
}, [loadQuery, frameworkId]);
|
}, [loadQuery, frameworkId]);
|
||||||
|
|
||||||
if (!queryRef) {
|
if (!queryRef) {
|
||||||
return <FrameworkViewSkeleton />;
|
return <FrameworkLayoutViewSkeleton />;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Suspense fallback={<FrameworkViewSkeleton />}>
|
<Suspense fallback={<FrameworkLayoutViewSkeleton />}>
|
||||||
<FrameworkViewContent queryRef={queryRef} />
|
<FrameworkViewContent queryRef={queryRef} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
);
|
);
|
||||||
Reference in New Issue
Block a user