Fixed: Better book status column in author details

This commit is contained in:
ta264
2021-09-02 21:12:14 +01:00
parent ffc97d8489
commit 12c67891fb
7 changed files with 145 additions and 64 deletions
@@ -2,17 +2,38 @@
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import createAuthorSelector from 'Store/Selectors/createAuthorSelector';
import createBookFileSelector from 'Store/Selectors/createBookFileSelector';
import BookRow from './BookRow';
const selectBookFiles = createSelector(
(state) => state.bookFiles,
(bookFiles) => {
const {
items
} = bookFiles;
const bookFileDict = items.reduce((acc, file) => {
const bookId = file.bookId;
if (!acc.hasOwnProperty(bookId)) {
acc[bookId] = [];
}
acc[bookId].push(file);
return acc;
}, {});
return bookFileDict;
}
);
function createMapStateToProps() {
return createSelector(
createAuthorSelector(),
createBookFileSelector(),
(author = {}, bookFile) => {
selectBookFiles,
(state, { id }) => id,
(author = {}, bookFiles, bookId) => {
return {
authorMonitored: author.monitored,
bookFilePath: bookFile ? bookFile.path : null
bookFiles: bookFiles[bookId] ?? []
};
}
);