diff --git a/libs/shared-state-books/src/lib/books.reducer.ts b/libs/shared-state-books/src/lib/books.reducer.ts index 89efeef..5d6270f 100644 --- a/libs/shared-state-books/src/lib/books.reducer.ts +++ b/libs/shared-state-books/src/lib/books.reducer.ts @@ -60,3 +60,16 @@ export const reducer = createReducer( }; }) ); + +export const selectAll = (state: State) => state.collection; +export const selectActiveBookId = (state: State) => state.activeBookId; +export const selectActiveBook = createSelector( + selectAll, + selectActiveBookId, + (books, activeBookId) => + books.find((book) => book.id === activeBookId) || null +); +export const selectEarningsTotals = createSelector( + selectAll, + calculateBooksGrossEarnings +);