Files
frontend-app-authoring/src/studio-home/data/slice.js
2023-09-19 10:04:43 -04:00

41 lines
1.0 KiB
JavaScript

/* eslint-disable no-param-reassign */
import { createSlice } from '@reduxjs/toolkit';
import { RequestStatus } from '../../data/constants';
const slice = createSlice({
name: 'studioHome',
initialState: {
loadingStatuses: {
studioHomeLoadingStatus: RequestStatus.IN_PROGRESS,
courseNotificationLoadingStatus: RequestStatus.IN_PROGRESS,
},
savingStatuses: {
courseCreatorSavingStatus: '',
deleteNotificationSavingStatus: '',
},
studioHomeData: {},
},
reducers: {
updateLoadingStatuses: (state, { payload }) => {
state.loadingStatuses = { ...state.loadingStatuses, ...payload };
},
updateSavingStatuses: (state, { payload }) => {
state.savingStatuses = { ...state.savingStatuses, ...payload };
},
fetchStudioHomeDataSuccess: (state, { payload }) => {
Object.assign(state.studioHomeData, payload);
},
},
});
export const {
updateSavingStatuses,
updateLoadingStatuses,
fetchStudioHomeDataSuccess,
} = slice.actions;
export const {
reducer,
} = slice;