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