Fixed: Status color for unreleased albums

This commit is contained in:
Bogdan 2025-07-20 11:54:05 +03:00 committed by bakerboy448
parent b892d1e9ea
commit 4dd5411461
5 changed files with 25 additions and 6 deletions

View file

@ -595,6 +595,7 @@ class AlbumDetails extends Component {
key={medium.mediumNumber}
albumId={id}
albumMonitored={monitored}
albumReleaseDate={releaseDate}
{...medium}
isExpanded={expandedState[medium.mediumNumber]}
onExpandPress={this.onExpandPress}

View file

@ -7,6 +7,7 @@ import Link from 'Components/Link/Link';
import Table from 'Components/Table/Table';
import TableBody from 'Components/Table/TableBody';
import { icons, kinds, sizes } from 'Helpers/Props';
import isAfter from 'Utilities/Date/isAfter';
import translate from 'Utilities/String/translate';
import TrackRowConnector from './TrackRowConnector';
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) {
return kinds.SUCCESS;
}
if (!releaseDate || isAfter(releaseDate)) {
return kinds.DISABLED;
}
if (!monitored) {
return kinds.WARNING;
}
@ -90,6 +95,7 @@ class AlbumDetailsMedium extends Component {
mediumNumber,
mediumFormat,
albumMonitored,
albumReleaseDate,
items,
columns,
onTableOptionChange,
@ -119,7 +125,7 @@ class AlbumDetailsMedium extends Component {
<Label
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
kind={getTrackCountKind(albumMonitored, trackFileCount, trackCount)}
kind={getTrackCountKind(albumMonitored, albumReleaseDate, trackFileCount, trackCount)}
size={sizes.LARGE}
>
{
@ -194,6 +200,7 @@ class AlbumDetailsMedium extends Component {
AlbumDetailsMedium.propTypes = {
albumId: PropTypes.number.isRequired,
albumMonitored: PropTypes.bool.isRequired,
albumReleaseDate: PropTypes.string,
mediumNumber: PropTypes.number.isRequired,
mediumFormat: PropTypes.string.isRequired,
items: PropTypes.arrayOf(PropTypes.object).isRequired,

View file

@ -57,6 +57,7 @@ class AlbumDetailsMediumConnector extends Component {
AlbumDetailsMediumConnector.propTypes = {
albumId: PropTypes.number.isRequired,
albumMonitored: PropTypes.bool.isRequired,
albumReleaseDate: PropTypes.string,
mediumNumber: PropTypes.number.isRequired,
setTracksTableOption: PropTypes.func.isRequired,
executeCommand: PropTypes.func.isRequired

View file

@ -10,15 +10,20 @@ import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow';
import { kinds, sizes } from 'Helpers/Props';
import formatTimeSpan from 'Utilities/Date/formatTimeSpan';
import isAfter from 'Utilities/Date/isAfter';
import formatBytes from 'Utilities/Number/formatBytes';
import translate from 'Utilities/String/translate';
import styles from './AlbumRow.css';
function getTrackCountKind(monitored, trackFileCount, trackCount) {
function getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount) {
if (trackFileCount === trackCount && trackCount > 0) {
return kinds.SUCCESS;
}
if (!releaseDate || isAfter(releaseDate)) {
return kinds.DISABLED;
}
if (!monitored) {
return kinds.WARNING;
}
@ -215,7 +220,7 @@ class AlbumRow extends Component {
>
<Label
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
kind={getTrackCountKind(monitored, trackFileCount, trackCount)}
kind={getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount)}
size={sizes.MEDIUM}
>
{

View file

@ -5,14 +5,19 @@ import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellCo
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow';
import { kinds, sizes } from 'Helpers/Props';
import isAfter from 'Utilities/Date/isAfter';
import translate from 'Utilities/String/translate';
import styles from './SelectAlbumRow.css';
function getTrackCountKind(monitored, trackFileCount, trackCount) {
function getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount) {
if (trackFileCount === trackCount && trackCount > 0) {
return kinds.SUCCESS;
}
if (!releaseDate || isAfter(releaseDate)) {
return kinds.DISABLED;
}
if (!monitored) {
return kinds.WARNING;
}
@ -99,7 +104,7 @@ class SelectAlbumRow extends Component {
>
<Label
title={translate('TotalTrackCountTracksTotalTrackFileCountTracksWithFilesInterp', [totalTrackCount, trackFileCount])}
kind={getTrackCountKind(monitored, trackFileCount, trackCount)}
kind={getTrackCountKind(monitored, releaseDate, trackFileCount, trackCount)}
size={sizes.MEDIUM}
>
{