import { collectionCreateActions, CollectionCreateAction } from './collection-creator-action';
-export type CollectionCreatorState = {
- creator: CollectionCreator
-};
-
-interface CollectionCreator {
+export interface CollectionCreatorState {
opened: boolean;
- pending: boolean;
ownerUuid: string;
}
-const updateCreator = (state: CollectionCreatorState, creator: Partial<CollectionCreator>) => ({
+const updateCreator = (state: CollectionCreatorState, creator?: Partial<CollectionCreatorState>) => ({
...state,
- creator: {
- ...state.creator,
- ...creator
- }
+ ...creator
});
const initialState: CollectionCreatorState = {
- creator: {
- opened: false,
- pending: false,
- ownerUuid: ""
- }
+ opened: false,
+ ownerUuid: ''
};
-export const collectionCreationReducer = (state: CollectionCreatorState = initialState, action: CollectionCreateAction) => {
+export const collectionCreatorReducer = (state: CollectionCreatorState = initialState, action: CollectionCreateAction) => {
return collectionCreateActions.match(action, {
- OPEN_COLLECTION_CREATOR: ({ ownerUuid }) => updateCreator(state, { ownerUuid, opened: true, pending: false }),
+ OPEN_COLLECTION_CREATOR: ({ ownerUuid }) => updateCreator(state, { ownerUuid, opened: true }),
CLOSE_COLLECTION_CREATOR: () => updateCreator(state, { opened: false }),
- CREATE_COLLECTION: () => updateCreator(state, { opened: true }),
+ CREATE_COLLECTION: () => updateCreator(state),
CREATE_COLLECTION_SUCCESS: () => updateCreator(state, { opened: false, ownerUuid: "" }),
default: () => state
});