diff options
| author | Nate Sesti <33237525+sestinj@users.noreply.github.com> | 2023-07-26 00:56:29 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-26 00:56:29 -0700 | 
| commit | def8e5612cd4c889a2e26d4152fffcf3d694abdf (patch) | |
| tree | ca423625619b9d628651bcc9a395ba8f47fa03a6 /extension/react-app/src/redux | |
| parent | b759e2dbfe36b3e8873527b9736d64866da9b604 (diff) | |
| parent | d9a4ed993aad36464776c093333af1a310e5a492 (diff) | |
| download | sncontinue-def8e5612cd4c889a2e26d4152fffcf3d694abdf.tar.gz sncontinue-def8e5612cd4c889a2e26d4152fffcf3d694abdf.tar.bz2 sncontinue-def8e5612cd4c889a2e26d4152fffcf3d694abdf.zip | |
Merge pull request #297 from continuedev/merge-config-py-TO-main
Merge config py to main
Diffstat (limited to 'extension/react-app/src/redux')
| -rw-r--r-- | extension/react-app/src/redux/selectors/uiStateSelectors.ts | 5 | ||||
| -rw-r--r-- | extension/react-app/src/redux/slices/uiStateSlice.ts | 24 | ||||
| -rw-r--r-- | extension/react-app/src/redux/store.ts | 6 | 
3 files changed, 35 insertions, 0 deletions
| diff --git a/extension/react-app/src/redux/selectors/uiStateSelectors.ts b/extension/react-app/src/redux/selectors/uiStateSelectors.ts new file mode 100644 index 00000000..7ebc9338 --- /dev/null +++ b/extension/react-app/src/redux/selectors/uiStateSelectors.ts @@ -0,0 +1,5 @@ +import { RootStore } from "../store"; + +const selectBottomMessage = (state: RootStore) => state.uiState.bottomMessage; + +export { selectBottomMessage }; diff --git a/extension/react-app/src/redux/slices/uiStateSlice.ts b/extension/react-app/src/redux/slices/uiStateSlice.ts new file mode 100644 index 00000000..837d19e9 --- /dev/null +++ b/extension/react-app/src/redux/slices/uiStateSlice.ts @@ -0,0 +1,24 @@ +import { createSlice } from "@reduxjs/toolkit"; + +export const uiStateSlice = createSlice({ +  name: "uiState", +  initialState: { +    bottomMessage: undefined, +    bottomMessageCloseTimeout: undefined, +  }, +  reducers: { +    setBottomMessage: (state, action) => { +      state.bottomMessage = action.payload; +    }, +    setBottomMessageCloseTimeout: (state, action) => { +      if (state.bottomMessageCloseTimeout) { +        clearTimeout(state.bottomMessageCloseTimeout); +      } +      state.bottomMessageCloseTimeout = action.payload; +    }, +  }, +}); + +export const { setBottomMessage, setBottomMessageCloseTimeout } = +  uiStateSlice.actions; +export default uiStateSlice.reducer; diff --git a/extension/react-app/src/redux/store.ts b/extension/react-app/src/redux/store.ts index b6eb55b3..d49513e5 100644 --- a/extension/react-app/src/redux/store.ts +++ b/extension/react-app/src/redux/store.ts @@ -3,6 +3,7 @@ import debugStateReducer from "./slices/debugContexSlice";  import chatReducer from "./slices/chatSlice";  import configReducer from "./slices/configSlice";  import miscReducer from "./slices/miscSlice"; +import uiStateReducer from "./slices/uiStateSlice";  import { RangeInFile, SerializedDebugContext } from "../../../src/client";  export interface ChatMessage { @@ -31,6 +32,10 @@ export interface RootStore {    misc: {      highlightedCode: RangeInFile | undefined;    }; +  uiState: { +    bottomMessage: JSX.Element | undefined; +    bottomMessageCloseTimeout: NodeJS.Timeout | undefined; +  };  }  const store = configureStore({ @@ -39,6 +44,7 @@ const store = configureStore({      chat: chatReducer,      config: configReducer,      misc: miscReducer, +    uiState: uiStateReducer,    },  }); | 
