mirror of
https://github.com/Readarr/Readarr
synced 2026-01-07 16:13:05 +01:00
parent
8011112919
commit
472da10149
2 changed files with 23 additions and 37 deletions
|
|
@ -14,16 +14,18 @@ class BookIndexFooter extends PureComponent {
|
|||
// Render
|
||||
|
||||
render() {
|
||||
const { author } = this.props;
|
||||
const count = author.length;
|
||||
const { book } = this.props;
|
||||
const count = book.length;
|
||||
let books = 0;
|
||||
let bookFiles = 0;
|
||||
let ended = 0;
|
||||
let continuing = 0;
|
||||
let monitored = 0;
|
||||
let totalFileSize = 0;
|
||||
|
||||
author.forEach((s) => {
|
||||
const authors = new Set();
|
||||
|
||||
book.forEach((s) => {
|
||||
authors.add(s.authorId);
|
||||
|
||||
const { statistics = {} } = s;
|
||||
|
||||
const {
|
||||
|
|
@ -35,12 +37,6 @@ class BookIndexFooter extends PureComponent {
|
|||
books += bookCount;
|
||||
bookFiles += bookFileCount;
|
||||
|
||||
if (s.status === 'ended') {
|
||||
ended++;
|
||||
} else {
|
||||
continuing++;
|
||||
}
|
||||
|
||||
if (s.monitored) {
|
||||
monitored++;
|
||||
}
|
||||
|
|
@ -104,23 +100,6 @@ class BookIndexFooter extends PureComponent {
|
|||
</div>
|
||||
|
||||
<div className={styles.statistics}>
|
||||
<DescriptionList>
|
||||
<DescriptionListItem
|
||||
title={translate('Authors')}
|
||||
data={count}
|
||||
/>
|
||||
|
||||
<DescriptionListItem
|
||||
title={translate('Ended')}
|
||||
data={ended}
|
||||
/>
|
||||
|
||||
<DescriptionListItem
|
||||
title={translate('Continuing')}
|
||||
data={continuing}
|
||||
/>
|
||||
</DescriptionList>
|
||||
|
||||
<DescriptionList>
|
||||
<DescriptionListItem
|
||||
title={translate('Monitored')}
|
||||
|
|
@ -134,6 +113,11 @@ class BookIndexFooter extends PureComponent {
|
|||
</DescriptionList>
|
||||
|
||||
<DescriptionList>
|
||||
<DescriptionListItem
|
||||
title={translate('Authors')}
|
||||
data={authors.size}
|
||||
/>
|
||||
|
||||
<DescriptionListItem
|
||||
title={translate('Books')}
|
||||
data={books}
|
||||
|
|
@ -161,7 +145,7 @@ class BookIndexFooter extends PureComponent {
|
|||
}
|
||||
|
||||
BookIndexFooter.propTypes = {
|
||||
author: PropTypes.arrayOf(PropTypes.object).isRequired
|
||||
book: PropTypes.arrayOf(PropTypes.object).isRequired
|
||||
};
|
||||
|
||||
export default BookIndexFooter;
|
||||
|
|
|
|||
|
|
@ -6,16 +6,18 @@ import BookIndexFooter from './BookIndexFooter';
|
|||
|
||||
function createUnoptimizedSelector() {
|
||||
return createSelector(
|
||||
createClientSideCollectionSelector('authors', 'authorIndex'),
|
||||
(authors) => {
|
||||
return authors.items.map((s) => {
|
||||
createClientSideCollectionSelector('books', 'bookIndex'),
|
||||
(books) => {
|
||||
return books.items.map((s) => {
|
||||
const {
|
||||
authorId,
|
||||
monitored,
|
||||
status,
|
||||
statistics
|
||||
} = s;
|
||||
|
||||
return {
|
||||
authorId,
|
||||
monitored,
|
||||
status,
|
||||
statistics
|
||||
|
|
@ -25,19 +27,19 @@ function createUnoptimizedSelector() {
|
|||
);
|
||||
}
|
||||
|
||||
function createAuthorSelector() {
|
||||
function createBookSelector() {
|
||||
return createDeepEqualSelector(
|
||||
createUnoptimizedSelector(),
|
||||
(author) => author
|
||||
(book) => book
|
||||
);
|
||||
}
|
||||
|
||||
function createMapStateToProps() {
|
||||
return createSelector(
|
||||
createAuthorSelector(),
|
||||
(author) => {
|
||||
createBookSelector(),
|
||||
(book) => {
|
||||
return {
|
||||
author
|
||||
book
|
||||
};
|
||||
}
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue