Files
frontend-app-authoring/src/import-page/data/slice.ts
renovate[bot] 8fe5fb6a20 chore(deps): update dependency universal-cookie to v8 (#2512)
* fix(deps): update dependency universal-cookie to v8

* refactor: validate typing of universal-cookie usages

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Braden MacDonald <braden@opencraft.com>
2025-10-06 23:08:46 +00:00

64 lines
1.4 KiB
TypeScript

/* eslint-disable no-param-reassign */
import { createSlice } from '@reduxjs/toolkit';
const initialState = {
currentStage: 0,
error: { hasError: false, message: '' },
progress: 0,
importTriggered: false,
fileName: null,
loadingStatus: '',
savingStatus: '',
successDate: null,
};
const slice = createSlice({
name: 'importPage',
initialState,
reducers: {
updateCurrentStage: (state, { payload }) => {
if (payload >= state.currentStage) {
state.currentStage = payload;
}
},
updateError: (state, { payload }) => {
state.error = { ...state.error, ...payload };
},
updateProgress: (state, { payload }) => {
state.progress = payload;
},
updateImportTriggered: (state, { payload }) => {
state.importTriggered = payload;
},
updateFileName: (state, { payload }) => {
state.fileName = payload;
},
reset: () => initialState,
updateLoadingStatus: (state, { payload }) => {
state.loadingStatus = payload;
},
updateSavingStatus: (state, { payload }) => {
state.savingStatus = payload;
},
updateSuccessDate: (state, { payload }) => {
state.successDate = payload;
},
},
});
export const {
updateCurrentStage,
updateError,
updateProgress,
updateImportTriggered,
updateFileName,
reset,
updateLoadingStatus,
updateSavingStatus,
updateSuccessDate,
} = slice.actions;
export const {
reducer,
} = slice;