diff --git a/libs/shared-state-books/src/lib/books.reducer.ts b/libs/shared-state-books/src/lib/books.reducer.ts index b653d33..89efeef 100644 --- a/libs/shared-state-books/src/lib/books.reducer.ts +++ b/libs/shared-state-books/src/lib/books.reducer.ts @@ -34,5 +34,29 @@ export const reducer = createReducer( ...state, activeBookId: action.bookId, }; + }), + on(BooksApiActions.booksLoaded, (state, action) => { + return { + ...state, + collection: action.books, + }; + }), + on(BooksApiActions.bookCreated, (state, action) => { + return { + collection: createBook(state.collection, action.book), + activeBookId: null, + }; + }), + on(BooksApiActions.bookUpdated, (state, action) => { + return { + collection: updateBook(state.collection, action.book), + activeBookId: null, + }; + }), + on(BooksApiActions.bookDeleted, (state, action) => { + return { + ...state, + collection: deleteBook(state.collection, action.bookId), + }; }) );