From aa4743ad373455f1bd3e2d278e661b4d39abec7f Mon Sep 17 00:00:00 2001
From: Leonardo Christino <leomilho@gmail.com>
Date: Tue, 27 Feb 2024 17:07:25 +0100
Subject: [PATCH] chore: enable routing to save state id

---
 apps/web/src/app/app.tsx | 28 +++++++++++++---------------
 apps/web/src/main.tsx    |  3 ++-
 2 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/apps/web/src/app/app.tsx b/apps/web/src/app/app.tsx
index f8bc379dd..4481679f1 100644
--- a/apps/web/src/app/app.tsx
+++ b/apps/web/src/app/app.tsx
@@ -1,18 +1,7 @@
 import React, { useEffect, useRef, useState } from 'react';
-import {
-  useAuthorizationCache,
-  useQuerybuilderGraph,
-  useSessionCache,
-} from '@graphpolaris/shared/lib/data-access';
-import {
-  useAppDispatch,
-  useML,
-  useQuerybuilderSettings,
-} from '@graphpolaris/shared/lib/data-access/store';
-import {
-  resetGraphQueryResults,
-  queryingBackend,
-} from '@graphpolaris/shared/lib/data-access/store/graphQueryResultSlice';
+import { useAuthorizationCache, useQuerybuilderGraph, useSessionCache } from '@graphpolaris/shared/lib/data-access';
+import { useAppDispatch, useML, useQuerybuilderSettings } from '@graphpolaris/shared/lib/data-access/store';
+import { resetGraphQueryResults, queryingBackend } from '@graphpolaris/shared/lib/data-access/store/graphQueryResultSlice';
 import { Query2BackendQuery, QueryBuilder, QueryMultiGraph } from '@graphpolaris/shared/lib/querybuilder';
 import { Schema } from '@graphpolaris/shared/lib/schema/panel';
 import { Navbar } from '../components/navbar/navbar';
@@ -22,8 +11,11 @@ import { DashboardAlerts } from '@graphpolaris/shared/lib/data-access/authorizat
 import { EventBus } from '@graphpolaris/shared/lib/data-access/api/eventBus';
 import Onboarding from '../components/onboarding/onboarding';
 import { wsQueryRequest } from '@graphpolaris/shared/lib/data-access/api/wsQuery';
+import { URLParams, setParam } from '@graphpolaris/shared/lib/data-access/api/url';
 
-export interface App {}
+export type App = {
+  load?: string;
+};
 
 export function App(props: App) {
   const auth = useAuthorizationCache();
@@ -44,6 +36,12 @@ export function App(props: App) {
     }
   };
 
+  useEffect(() => {
+    if (props.load) {
+      setParam(URLParams.saveState, props.load);
+    }
+  }, [props]);
+
   const [authCheck, setAuthCheck] = useState(false);
 
   return (
diff --git a/apps/web/src/main.tsx b/apps/web/src/main.tsx
index 2da0c0381..8c0776767 100644
--- a/apps/web/src/main.tsx
+++ b/apps/web/src/main.tsx
@@ -17,7 +17,8 @@ if (domNode) {
       <Router>
         <Routes>
           {/* App */}
-          <Route path="/" element={<App />}></Route>
+          <Route path="/" element={<App load={undefined} />}></Route>
+          <Route path="/fraud" element={<App load="5bdf3354-673f-4dec-b6a0-196e67cd211c" />}></Route>
         </Routes>
       </Router>
     </Provider>,
-- 
GitLab