Lidarr/frontend/src/Artist/Index/ArtistIndexFooter.js

105 lines
2.4 KiB
JavaScript
Raw Normal View History

2017-09-04 02:20:56 +00:00
import PropTypes from 'prop-types';
import React from 'react';
import DescriptionList from 'Components/DescriptionList/DescriptionList';
import DescriptionListItem from 'Components/DescriptionList/DescriptionListItem';
import styles from './ArtistIndexFooter.css';
function ArtistIndexFooter({ series }) {
const count = series.length;
2017-09-16 20:22:06 +00:00
let tracks = 0;
let trackFiles = 0;
2017-09-04 02:20:56 +00:00
let ended = 0;
let continuing = 0;
let monitored = 0;
series.forEach((s) => {
2017-09-16 20:22:06 +00:00
tracks += s.trackCount || 0;
trackFiles += s.trackFileCount || 0;
2017-09-04 02:20:56 +00:00
if (s.status === 'ended') {
ended++;
} else {
continuing++;
}
if (s.monitored) {
monitored++;
}
});
return (
<div className={styles.footer}>
<div>
<div className={styles.legendItem}>
2017-10-07 06:21:06 +00:00
<div className={styles.continuing} />
2017-09-04 02:20:56 +00:00
<div>Continuing (All tracks downloaded)</div>
</div>
<div className={styles.legendItem}>
2017-10-07 06:21:06 +00:00
<div className={styles.ended} />
2017-09-04 02:20:56 +00:00
<div>Ended (All tracks downloaded)</div>
</div>
<div className={styles.legendItem}>
2017-10-07 06:21:06 +00:00
<div className={styles.missingMonitored} />
2017-09-04 02:20:56 +00:00
<div>Missing Tracks (Artist monitored)</div>
</div>
<div className={styles.legendItem}>
2017-10-07 06:21:06 +00:00
<div className={styles.missingUnmonitored} />
2017-09-04 02:20:56 +00:00
<div>Missing Tracks (Artist not monitored)</div>
</div>
</div>
<div className={styles.statistics}>
<DescriptionList>
<DescriptionListItem
title="Artist"
data={count}
/>
<DescriptionListItem
title="Ended"
data={ended}
/>
<DescriptionListItem
title="Continuing"
data={continuing}
/>
</DescriptionList>
<DescriptionList>
<DescriptionListItem
title="Monitored"
data={monitored}
/>
<DescriptionListItem
title="Unmonitored"
data={count - monitored}
/>
</DescriptionList>
<DescriptionList>
<DescriptionListItem
title="Tracks"
2017-09-16 20:22:06 +00:00
data={tracks}
2017-09-04 02:20:56 +00:00
/>
<DescriptionListItem
title="Files"
2017-09-16 20:22:06 +00:00
data={trackFiles}
2017-09-04 02:20:56 +00:00
/>
</DescriptionList>
</div>
</div>
);
}
ArtistIndexFooter.propTypes = {
series: PropTypes.arrayOf(PropTypes.object).isRequired
};
export default ArtistIndexFooter;