diff --git a/libs/shared/lib/data-access/api/wsState.tsx b/libs/shared/lib/data-access/api/wsState.tsx index 6a0ff2eaba529ffab5543c9b90b6db647ee15461..f227653a73e84647dc052a01927e63bcd1a70b26 100644 --- a/libs/shared/lib/data-access/api/wsState.tsx +++ b/libs/shared/lib/data-access/api/wsState.tsx @@ -1,9 +1,5 @@ -import { useEffect } from 'react'; import { WebSocketHandler } from '../socket'; -import Broker from '../socket/broker'; -import { keyTypeI, subKeyTypeI } from '../socket/types'; -import { useAppDispatch, useConfig } from '../store'; -import { addSaveState, updateSaveStateList } from '../store/sessionSlice'; +import { URLParams, setParam } from './url'; // export function wsGetState() { // Broker.instance().subscribe((data) => dispatch(readInSchemaFromBackend(data)), 'schema_result'); @@ -58,6 +54,7 @@ export function wsSelectState(saveStateId: string | undefined) { body: { saveStateId: saveStateId }, //messageTypeGetSaveState }); WebSocketHandler.instance().useSaveStateID(saveStateId); + setParam(URLParams.saveState, saveStateId); } export function wsCreateState(request: SaveStateI) { diff --git a/libs/shared/lib/data-access/store/sessionSlice.ts b/libs/shared/lib/data-access/store/sessionSlice.ts index 2adf04d6ef72f9b787f8310f5149ba5b5f56286b..da99e4797eb7af24f88eca40cd6ef198fa3b734f 100644 --- a/libs/shared/lib/data-access/store/sessionSlice.ts +++ b/libs/shared/lib/data-access/store/sessionSlice.ts @@ -1,7 +1,7 @@ -import { includes } from 'lodash-es'; import { createSlice, PayloadAction } from '@reduxjs/toolkit'; import type { RootState } from './store'; -import { DatabaseInfo, DatabaseStatus, SaveStateI, wsSelectState } from '../api/wsState'; +import { DatabaseStatus, SaveStateI, wsSelectState } from '../api/wsState'; +import { getParam, URLParams } from '../api/url'; /** Message format of the error message from the backend */ export type ErrorMessage = { @@ -42,6 +42,7 @@ export const sessionSlice = createSlice({ }); state.saveStates = newState; + state.currentSaveState = getParam(URLParams.saveState) || state.currentSaveState; if (!state.currentSaveState || !(state.currentSaveState in state.saveStates)) { if (Object.keys(state.saveStates).length > 0) { state.currentSaveState = Object.keys(state.saveStates)[0];