diff options
Diffstat (limited to 'modern/src/store')
-rw-r--r-- | modern/src/store/errors.js | 21 | ||||
-rw-r--r-- | modern/src/store/index.js | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/modern/src/store/errors.js b/modern/src/store/errors.js new file mode 100644 index 00000000..d1b86e5a --- /dev/null +++ b/modern/src/store/errors.js @@ -0,0 +1,21 @@ +import { createSlice } from '@reduxjs/toolkit'; + +const { reducer, actions } = createSlice({ + name: 'errors', + initialState: { + errors: [], + }, + reducers: { + push(state, action) { + state.errors.push(action.payload); + }, + pop(state, _) { + if (state.errors.length) { + state.errors.shift(); + } + }, + }, +}); + +export { actions as errorsActions }; +export { reducer as errorsReducer }; diff --git a/modern/src/store/index.js b/modern/src/store/index.js index 6e2bb204..72867b76 100644 --- a/modern/src/store/index.js +++ b/modern/src/store/index.js @@ -1,5 +1,6 @@ import { combineReducers, configureStore } from '@reduxjs/toolkit'; +import { errorsReducer as errors } from './errors'; import { sessionReducer as session } from './session'; import { devicesReducer as devices } from './devices'; import { positionsReducer as positions } from './positions'; @@ -9,6 +10,7 @@ import { driversReducer as drivers } from './drivers'; import { maintenancesReducer as maintenances } from './maintenances'; const reducer = combineReducers({ + errors, session, devices, positions, @@ -18,6 +20,7 @@ const reducer = combineReducers({ maintenances, }); +export { errorsActions } from './errors'; export { sessionActions } from './session'; export { devicesActions } from './devices'; export { positionsActions } from './positions'; |