From d8066ec17278e8dc78f6d8b408ae987a1241ddeb Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 5 Feb 2024 22:26:54 +0200 Subject: [PATCH] New: Size column for albums Closes #3292 --- frontend/src/Album/Details/AlbumDetailsMedium.js | 2 +- frontend/src/Artist/Details/AlbumRow.css | 1 + frontend/src/Artist/Details/AlbumRow.css.d.ts | 1 + frontend/src/Artist/Details/AlbumRow.js | 15 ++++++++++++++- .../src/Artist/Details/ArtistDetailsSeason.js | 2 +- frontend/src/Store/Actions/albumActions.js | 11 +++++++++++ src/NzbDrone.Core/Localization/Core/en.json | 1 + 7 files changed, 30 insertions(+), 3 deletions(-) diff --git a/frontend/src/Album/Details/AlbumDetailsMedium.js b/frontend/src/Album/Details/AlbumDetailsMedium.js index fb665cb88..09c489b2d 100644 --- a/frontend/src/Album/Details/AlbumDetailsMedium.js +++ b/frontend/src/Album/Details/AlbumDetailsMedium.js @@ -175,7 +175,7 @@ class AlbumDetailsMedium extends Component { :
- No tracks in this medium + {translate('NoTracksInThisMedium')}
}
diff --git a/frontend/src/Artist/Details/AlbumRow.css b/frontend/src/Artist/Details/AlbumRow.css index 836fec7ac..383d97746 100644 --- a/frontend/src/Artist/Details/AlbumRow.css +++ b/frontend/src/Artist/Details/AlbumRow.css @@ -10,6 +10,7 @@ width: 42px; } +.size, .status { composes: cell from '~Components/Table/Cells/TableRowCell.css'; diff --git a/frontend/src/Artist/Details/AlbumRow.css.d.ts b/frontend/src/Artist/Details/AlbumRow.css.d.ts index d63f87253..90377b53b 100644 --- a/frontend/src/Artist/Details/AlbumRow.css.d.ts +++ b/frontend/src/Artist/Details/AlbumRow.css.d.ts @@ -2,6 +2,7 @@ // Please do not change this file! interface CssExports { 'monitored': string; + 'size': string; 'status': string; 'title': string; } diff --git a/frontend/src/Artist/Details/AlbumRow.js b/frontend/src/Artist/Details/AlbumRow.js index 52cd07975..3219c7161 100644 --- a/frontend/src/Artist/Details/AlbumRow.js +++ b/frontend/src/Artist/Details/AlbumRow.js @@ -10,6 +10,7 @@ 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 formatBytes from 'Utilities/Number/formatBytes'; import translate from 'Utilities/String/translate'; import styles from './AlbumRow.css'; @@ -87,7 +88,8 @@ class AlbumRow extends Component { const { trackCount = 0, trackFileCount = 0, - totalTrackCount = 0 + totalTrackCount = 0, + sizeOnDisk = 0 } = statistics; return ( @@ -196,6 +198,17 @@ class AlbumRow extends Component { ); } + if (name === 'size') { + return ( + + {!!sizeOnDisk && formatBytes(sizeOnDisk)} + + ); + } + if (name === 'status') { return ( translate('Size'), + isSortable: true, + isVisible: false + }, { name: 'rating', label: () => translate('Rating'), diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index 99843ffd9..a05bb0b65 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -725,6 +725,7 @@ "NoMissingItems": "No missing items", "NoResultsFound": "No results found", "NoTagsHaveBeenAddedYet": "No tags have been added yet", + "NoTracksInThisMedium": "No tracks in this medium", "NoUpdatesAreAvailable": "No updates are available", "None": "None", "NoneData": "No albums will be monitored",