diff --git a/frontend/src/components/GuideWrapper.jsx b/frontend/src/components/GuideWrapper.jsx index 891842e424..32ccd1ce27 100644 --- a/frontend/src/components/GuideWrapper.jsx +++ b/frontend/src/components/GuideWrapper.jsx @@ -103,13 +103,29 @@ export default function GuideWrapper() { disableBeacon: true, }, { - target: "#jobsHistory", + target: "#Jobs", content: (
-

Job History

+

Jobs History

- Here you could see the list of all previous jobs and expand over the - details through clicking that particular job from the table + Jobs are simple analysis of an observable or a file. Here you could + see the list of all previous jobs and expand over the details + through clicking that particular job from the table +

+
+ ), + disableBeacon: true, + }, + { + target: "#Investigations", + content: ( +
+

Investigations History

+

+ Investigations are a framework to connect jobs with each other. Here + you could see the list of all previous investigations and expand + over the details through clicking that particular investigation from + the table

), @@ -208,7 +224,7 @@ export default function GuideWrapper() { if (type === "step:after") { if (action === "close") { setGuideState({ run: true, stepIndex: 7 }); - navigate("/jobs"); + navigate("/history/jobs"); } else { setGuideState({ run: false, stepIndex: 0 }); navigate("/"); @@ -219,7 +235,6 @@ export default function GuideWrapper() { if (type === "step:after") { if (action === "close") { setGuideState({ run: true, stepIndex: 8 }); - navigate("/dashboard"); } else { setGuideState({ run: false, stepIndex: 0 }); navigate("/"); @@ -230,6 +245,7 @@ export default function GuideWrapper() { if (type === "step:after") { if (action === "close") { setGuideState({ run: true, stepIndex: 9 }); + navigate("/dashboard"); } else { setGuideState({ run: false, stepIndex: 0 }); navigate("/"); @@ -240,6 +256,16 @@ export default function GuideWrapper() { if (type === "step:after") { if (action === "close") { setGuideState({ run: true, stepIndex: 10 }); + } else { + setGuideState({ run: false, stepIndex: 0 }); + navigate("/"); + } + } + break; + case 10: + if (type === "step:after") { + if (action === "close") { + setGuideState({ run: true, stepIndex: 11 }); navigate("/"); } else { setGuideState({ run: false, stepIndex: 0 }); diff --git a/frontend/src/components/History.jsx b/frontend/src/components/History.jsx index d717850b0c..41fbc4d62a 100644 --- a/frontend/src/components/History.jsx +++ b/frontend/src/components/History.jsx @@ -6,6 +6,7 @@ import { Button, Col } from "reactstrap"; import { RouterTabs, FallBackLoading } from "@certego/certego-ui"; import { useNavigate, useLocation } from "react-router-dom"; +import { useGuideContext } from "../contexts/GuideContext"; import { createInvestigation } from "./investigations/result/investigationApi"; const JobsTable = React.lazy(() => import("./jobs/table/JobsTable")); @@ -54,6 +55,17 @@ export default function History() { const location = useLocation(); const isJobsTablePage = location?.pathname.includes("jobs"); + const { guideState, setGuideState } = useGuideContext(); + + React.useEffect(() => { + if (guideState.tourActive) { + setTimeout(() => { + setGuideState({ run: true, stepIndex: 7 }); + }, 200); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + const onClick = async () => { if (isJobsTablePage) { navigate("/scan"); diff --git a/frontend/src/components/dashboard/Dashboard.jsx b/frontend/src/components/dashboard/Dashboard.jsx index 32737e5d0a..0ef0970da2 100644 --- a/frontend/src/components/dashboard/Dashboard.jsx +++ b/frontend/src/components/dashboard/Dashboard.jsx @@ -47,7 +47,7 @@ export default function Dashboard() { useEffect(() => { if (guideState.tourActive) { setTimeout(() => { - setGuideState({ run: true, stepIndex: 8 }); + setGuideState({ run: true, stepIndex: 9 }); }, 100); } // eslint-disable-next-line react-hooks/exhaustive-deps diff --git a/frontend/src/components/jobs/table/JobsTable.jsx b/frontend/src/components/jobs/table/JobsTable.jsx index c51d5fe6f6..3e151afeee 100644 --- a/frontend/src/components/jobs/table/JobsTable.jsx +++ b/frontend/src/components/jobs/table/JobsTable.jsx @@ -16,7 +16,6 @@ import useTitle from "react-use/lib/useTitle"; import { jobTableColumns } from "./jobTableColumns"; import { JOB_BASE_URI } from "../../../constants/apiURLs"; -import { useGuideContext } from "../../../contexts/GuideContext"; import { usePluginConfigurationStore } from "../../../stores/usePluginConfigurationStore"; // constants @@ -65,17 +64,6 @@ export default function JobsTable() { if (!loadingTable) setInitialLoading(false); }, [loadingTable]); - const { guideState, setGuideState } = useGuideContext(); - - React.useEffect(() => { - if (guideState.tourActive) { - setTimeout(() => { - setGuideState({ run: true, stepIndex: 7 }); - }, 100); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - React.useEffect(() => { if (!initialLoading) refetch(); // eslint-disable-next-line react-hooks/exhaustive-deps