Replace isBusy with new activity-state manager

This commit is contained in:
Philipp Stracker 2024-12-05 18:55:56 +01:00
parent 405c397331
commit 9786a18eb0
No known key found for this signature in database
5 changed files with 77 additions and 16 deletions

View file

@ -14,7 +14,7 @@ import ACTION_TYPES from './action-types';
const defaultTransient = {
isReady: false,
isBusy: false,
activities: new Map(),
// Read only values, provided by the server via hydrate.
wooSettings: {
@ -57,6 +57,21 @@ const commonReducer = createReducer( defaultTransient, defaultPersistent, {
return cleanState;
},
[ ACTION_TYPES.START_ACTIVITY ]: ( state, payload ) => {
return setTransient( state, {
activities: new Map( state.activities ).set(
payload.id,
payload.description
),
} );
},
[ ACTION_TYPES.STOP_ACTIVITY ]: ( state, payload ) => {
const newActivities = new Map( state.activities );
newActivities.delete( payload.id );
return setTransient( state, { activities: newActivities } );
},
[ ACTION_TYPES.HYDRATE ]: ( state, payload ) => {
const newState = setPersistent( state, payload.data );