From 2f149ade302d3b463c567429fa4cd3e406a6754b Mon Sep 17 00:00:00 2001 From: ManiMatter Date: Mon, 9 Sep 2024 12:30:03 +0200 Subject: [PATCH] Added lastSearchTime to API & Wanted Screens. Commented out 'status' on the same since already commented out on wantedactions.js --- .gitignore | 7 +--- frontend/src/Album/Album.ts | 1 + frontend/src/Store/Actions/wantedActions.js | 12 ++++++ .../CutoffUnmet/CutoffUnmetConnector.js | 6 ++- .../src/Wanted/CutoffUnmet/CutoffUnmetRow.js | 39 ++++++++++++------- .../src/Wanted/Missing/MissingConnector.js | 6 ++- frontend/src/Wanted/Missing/MissingRow.js | 11 ++++++ src/Lidarr.Api.V1/Albums/AlbumResource.cs | 4 +- src/NzbDrone.Core/Localization/Core/en.json | 1 + 9 files changed, 62 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index 05531517e..f493aadf0 100644 --- a/.gitignore +++ b/.gitignore @@ -132,6 +132,7 @@ setup/Output/ bin obj output/* +_temp* # .NET Core project.lock.json @@ -139,12 +140,6 @@ project.fragment.lock.json artifacts/ **/Properties/launchSettings.json -#VS outout folders -bin -obj -output/* - - # macOS metadata files ._* .DS_Store diff --git a/frontend/src/Album/Album.ts b/frontend/src/Album/Album.ts index 7a645efee..86f1ed5fe 100644 --- a/frontend/src/Album/Album.ts +++ b/frontend/src/Album/Album.ts @@ -20,6 +20,7 @@ interface Album extends ModelBase { monitored: boolean; releaseDate: string; statistics: Statistics; + lastSearchTime?: string; isSaving?: boolean; } diff --git a/frontend/src/Store/Actions/wantedActions.js b/frontend/src/Store/Actions/wantedActions.js index 35aa162d4..61d6f7752 100644 --- a/frontend/src/Store/Actions/wantedActions.js +++ b/frontend/src/Store/Actions/wantedActions.js @@ -52,6 +52,12 @@ export const defaultState = { isSortable: true, isVisible: true }, + { + name: 'albums.lastSearchTime', + label: () => translate('LastSearched'), + isSortable: true, + isVisible: false + }, // { // name: 'status', // label: 'Status', @@ -131,6 +137,12 @@ export const defaultState = { // label: 'Status', // isVisible: true // }, + { + name: 'albums.lastSearchTime', + label: () => translate('LastSearched'), + isSortable: true, + isVisible: false + }, { name: 'actions', columnLabel: () => translate('Actions'), diff --git a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js index dbb4f2235..1dd9870d1 100644 --- a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js +++ b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js @@ -131,13 +131,15 @@ class CutoffUnmetConnector extends Component { onSearchSelectedPress = (selected) => { this.props.executeCommand({ name: commandNames.ALBUM_SEARCH, - albumIds: selected + albumIds: selected, + commandFinished: this.repopulate }); }; onSearchAllCutoffUnmetPress = () => { this.props.executeCommand({ - name: commandNames.CUTOFF_UNMET_ALBUM_SEARCH + name: commandNames.CUTOFF_UNMET_ALBUM_SEARCH, + commandFinished: this.repopulate }); }; diff --git a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js index 785b9b1c1..c8e02f63c 100644 --- a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js +++ b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js @@ -3,23 +3,24 @@ import React from 'react'; import albumEntities from 'Album/albumEntities'; import AlbumSearchCellConnector from 'Album/AlbumSearchCellConnector'; import AlbumTitleLink from 'Album/AlbumTitleLink'; -import EpisodeStatusConnector from 'Album/EpisodeStatusConnector'; +// import EpisodeStatusConnector from 'Album/EpisodeStatusConnector'; import ArtistNameLink from 'Artist/ArtistNameLink'; import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellConnector'; import TableRowCell from 'Components/Table/Cells/TableRowCell'; import TableSelectCell from 'Components/Table/Cells/TableSelectCell'; import TableRow from 'Components/Table/TableRow'; -import styles from './CutoffUnmetRow.css'; +// import styles from './CutoffUnmetRow.css'; function CutoffUnmetRow(props) { const { id, - trackFileId, + // trackFileId, artist, releaseDate, foreignAlbumId, albumType, title, + lastSearchTime, disambiguation, isSelected, columns, @@ -89,21 +90,30 @@ function CutoffUnmetRow(props) { ); } - if (name === 'status') { + if (name === 'albums.lastSearchTime') { return ( - - - + date={lastSearchTime} + /> ); } + // if (name === 'status') { + // return ( + // + // + // + // ); + // } + if (name === 'actions') { return ( { this.props.executeCommand({ name: commandNames.ALBUM_SEARCH, - albumIds: selected + albumIds: selected, + commandFinished: this.repopulate }); }; onSearchAllMissingPress = () => { this.props.executeCommand({ - name: commandNames.MISSING_ALBUM_SEARCH + name: commandNames.MISSING_ALBUM_SEARCH, + commandFinished: this.repopulate }); }; diff --git a/frontend/src/Wanted/Missing/MissingRow.js b/frontend/src/Wanted/Missing/MissingRow.js index 0eb1a0452..6c0b5a0c6 100644 --- a/frontend/src/Wanted/Missing/MissingRow.js +++ b/frontend/src/Wanted/Missing/MissingRow.js @@ -17,6 +17,7 @@ function MissingRow(props) { albumType, foreignAlbumId, title, + lastSearchTime, disambiguation, isSelected, columns, @@ -86,6 +87,15 @@ function MissingRow(props) { ); } + if (name === 'albums.lastSearchTime') { + return ( + + ); + } + if (name === 'actions') { return ( Images { get; set; } public List Links { get; set; } + public DateTime? LastSearchTime { get; set; } public AlbumStatisticsResource Statistics { get; set; } public AddAlbumOptions AddOptions { get; set; } public string RemoteCover { get; set; } @@ -86,7 +87,8 @@ namespace Lidarr.Api.V1.Albums SecondaryTypes = model.SecondaryTypes.Select(s => s.Name).ToList(), Releases = model.AlbumReleases?.Value.ToResource() ?? new List(), Media = selectedRelease?.Media.ToResource() ?? new List(), - Artist = model.Artist?.Value.ToResource() + Artist = model.Artist?.Value.ToResource(), + LastSearchTime = model.LastSearchTime }; } diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json index 0936742c7..fa7f3b1fd 100644 --- a/src/NzbDrone.Core/Localization/Core/en.json +++ b/src/NzbDrone.Core/Localization/Core/en.json @@ -644,6 +644,7 @@ "LastAlbum": "Last Album", "LastDuration": "Last Duration", "LastExecution": "Last Execution", + "LastSearched": "Last Searched", "LastUsed": "Last Used", "LastWriteTime": "Last Write Time", "LatestAlbum": "Latest Album",