mirror of
https://github.com/Lidarr/Lidarr
synced 2025-12-15 21:06:24 +01:00
Fixed: Status color for unreleased albums
This commit is contained in:
parent
b892d1e9ea
commit
4dd5411461
5 changed files with 25 additions and 6 deletions
|
|
@ -595,6 +595,7 @@ class AlbumDetails extends Component {
|
||||||
key={medium.mediumNumber}
|
key={medium.mediumNumber}
|
||||||
albumId={id}
|
albumId={id}
|
||||||
albumMonitored={monitored}
|
albumMonitored={monitored}
|
||||||
|
albumReleaseDate={releaseDate}
|
||||||
{...medium}
|
{...medium}
|
||||||
isExpanded={expandedState[medium.mediumNumber]}
|
isExpanded={expandedState[medium.mediumNumber]}
|
||||||
onExpandPress={this.onExpandPress}
|
onExpandPress={this.onExpandPress}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import Link from 'Components/Link/Link';
|
||||||
import Table from 'Components/Table/Table';
|
import Table from 'Components/Table/Table';
|
||||||
import TableBody from 'Components/Table/TableBody';
|
import TableBody from 'Components/Table/TableBody';
|
||||||
import { icons, kinds, sizes } from 'Helpers/Props';
|
import { icons, kinds, sizes } from 'Helpers/Props';
|
||||||
|
import isAfter from 'Utilities/Date/isAfter';
|
||||||
import translate from 'Utilities/String/translate';
|
import translate from 'Utilities/String/translate';
|
||||||
import TrackRowConnector from './TrackRowConnector';
|
import TrackRowConnector from './TrackRowConnector';
|
||||||
import styles from './AlbumDetailsMedium.css';
|
import styles from './AlbumDetailsMedium.css';
|
||||||
|
|
@ -31,11 +32,15 @@ function getMediumStatistics(tracks) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTrackCountKind(monitored, trackFileCount, trackCount) {
|
function getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount) {
|
||||||
if (trackFileCount === trackCount && trackCount > 0) {
|
if (trackFileCount === trackCount && trackCount > 0) {
|
||||||
return kinds.SUCCESS;
|
return kinds.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!releaseDate || isAfter(releaseDate)) {
|
||||||
|
return kinds.DISABLED;
|
||||||
|
}
|
||||||
|
|
||||||
if (!monitored) {
|
if (!monitored) {
|
||||||
return kinds.WARNING;
|
return kinds.WARNING;
|
||||||
}
|
}
|
||||||
|
|
@ -90,6 +95,7 @@ class AlbumDetailsMedium extends Component {
|
||||||
mediumNumber,
|
mediumNumber,
|
||||||
mediumFormat,
|
mediumFormat,
|
||||||
albumMonitored,
|
albumMonitored,
|
||||||
|
albumReleaseDate,
|
||||||
items,
|
items,
|
||||||
columns,
|
columns,
|
||||||
onTableOptionChange,
|
onTableOptionChange,
|
||||||
|
|
@ -119,7 +125,7 @@ class AlbumDetailsMedium extends Component {
|
||||||
|
|
||||||
<Label
|
<Label
|
||||||
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
|
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
|
||||||
kind={getTrackCountKind(albumMonitored, trackFileCount, trackCount)}
|
kind={getTrackCountKind(albumMonitored, albumReleaseDate, trackFileCount, trackCount)}
|
||||||
size={sizes.LARGE}
|
size={sizes.LARGE}
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
|
|
@ -194,6 +200,7 @@ class AlbumDetailsMedium extends Component {
|
||||||
AlbumDetailsMedium.propTypes = {
|
AlbumDetailsMedium.propTypes = {
|
||||||
albumId: PropTypes.number.isRequired,
|
albumId: PropTypes.number.isRequired,
|
||||||
albumMonitored: PropTypes.bool.isRequired,
|
albumMonitored: PropTypes.bool.isRequired,
|
||||||
|
albumReleaseDate: PropTypes.string,
|
||||||
mediumNumber: PropTypes.number.isRequired,
|
mediumNumber: PropTypes.number.isRequired,
|
||||||
mediumFormat: PropTypes.string.isRequired,
|
mediumFormat: PropTypes.string.isRequired,
|
||||||
items: PropTypes.arrayOf(PropTypes.object).isRequired,
|
items: PropTypes.arrayOf(PropTypes.object).isRequired,
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ class AlbumDetailsMediumConnector extends Component {
|
||||||
AlbumDetailsMediumConnector.propTypes = {
|
AlbumDetailsMediumConnector.propTypes = {
|
||||||
albumId: PropTypes.number.isRequired,
|
albumId: PropTypes.number.isRequired,
|
||||||
albumMonitored: PropTypes.bool.isRequired,
|
albumMonitored: PropTypes.bool.isRequired,
|
||||||
|
albumReleaseDate: PropTypes.string,
|
||||||
mediumNumber: PropTypes.number.isRequired,
|
mediumNumber: PropTypes.number.isRequired,
|
||||||
setTracksTableOption: PropTypes.func.isRequired,
|
setTracksTableOption: PropTypes.func.isRequired,
|
||||||
executeCommand: PropTypes.func.isRequired
|
executeCommand: PropTypes.func.isRequired
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,20 @@ import TableRowCell from 'Components/Table/Cells/TableRowCell';
|
||||||
import TableRow from 'Components/Table/TableRow';
|
import TableRow from 'Components/Table/TableRow';
|
||||||
import { kinds, sizes } from 'Helpers/Props';
|
import { kinds, sizes } from 'Helpers/Props';
|
||||||
import formatTimeSpan from 'Utilities/Date/formatTimeSpan';
|
import formatTimeSpan from 'Utilities/Date/formatTimeSpan';
|
||||||
|
import isAfter from 'Utilities/Date/isAfter';
|
||||||
import formatBytes from 'Utilities/Number/formatBytes';
|
import formatBytes from 'Utilities/Number/formatBytes';
|
||||||
import translate from 'Utilities/String/translate';
|
import translate from 'Utilities/String/translate';
|
||||||
import styles from './AlbumRow.css';
|
import styles from './AlbumRow.css';
|
||||||
|
|
||||||
function getTrackCountKind(monitored, trackFileCount, trackCount) {
|
function getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount) {
|
||||||
if (trackFileCount === trackCount && trackCount > 0) {
|
if (trackFileCount === trackCount && trackCount > 0) {
|
||||||
return kinds.SUCCESS;
|
return kinds.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!releaseDate || isAfter(releaseDate)) {
|
||||||
|
return kinds.DISABLED;
|
||||||
|
}
|
||||||
|
|
||||||
if (!monitored) {
|
if (!monitored) {
|
||||||
return kinds.WARNING;
|
return kinds.WARNING;
|
||||||
}
|
}
|
||||||
|
|
@ -215,7 +220,7 @@ class AlbumRow extends Component {
|
||||||
>
|
>
|
||||||
<Label
|
<Label
|
||||||
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
|
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
|
||||||
kind={getTrackCountKind(monitored, trackFileCount, trackCount)}
|
kind={getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount)}
|
||||||
size={sizes.MEDIUM}
|
size={sizes.MEDIUM}
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,19 @@ import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellCo
|
||||||
import TableRowCell from 'Components/Table/Cells/TableRowCell';
|
import TableRowCell from 'Components/Table/Cells/TableRowCell';
|
||||||
import TableRow from 'Components/Table/TableRow';
|
import TableRow from 'Components/Table/TableRow';
|
||||||
import { kinds, sizes } from 'Helpers/Props';
|
import { kinds, sizes } from 'Helpers/Props';
|
||||||
|
import isAfter from 'Utilities/Date/isAfter';
|
||||||
import translate from 'Utilities/String/translate';
|
import translate from 'Utilities/String/translate';
|
||||||
import styles from './SelectAlbumRow.css';
|
import styles from './SelectAlbumRow.css';
|
||||||
|
|
||||||
function getTrackCountKind(monitored, trackFileCount, trackCount) {
|
function getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount) {
|
||||||
if (trackFileCount === trackCount && trackCount > 0) {
|
if (trackFileCount === trackCount && trackCount > 0) {
|
||||||
return kinds.SUCCESS;
|
return kinds.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!releaseDate || isAfter(releaseDate)) {
|
||||||
|
return kinds.DISABLED;
|
||||||
|
}
|
||||||
|
|
||||||
if (!monitored) {
|
if (!monitored) {
|
||||||
return kinds.WARNING;
|
return kinds.WARNING;
|
||||||
}
|
}
|
||||||
|
|
@ -99,7 +104,7 @@ class SelectAlbumRow extends Component {
|
||||||
>
|
>
|
||||||
<Label
|
<Label
|
||||||
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
|
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
|
||||||
kind={getTrackCountKind(monitored, trackFileCount, trackCount)}
|
kind={getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount)}
|
||||||
size={sizes.MEDIUM}
|
size={sizes.MEDIUM}
|
||||||
>
|
>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue