From 80c23580696356c649ff30de131e9be7d504058f Mon Sep 17 00:00:00 2001 From: jack-mil <62065280+jack-mil@users.noreply.github.com> Date: Wed, 12 Jul 2023 16:41:35 +0000 Subject: [PATCH] New: Show CF Score in episode row --- frontend/src/Series/Details/EpisodeRow.css | 6 ++++++ frontend/src/Series/Details/EpisodeRow.css.d.ts | 1 + frontend/src/Series/Details/EpisodeRow.js | 14 ++++++++++++++ frontend/src/Series/Details/EpisodeRowConnector.js | 1 + frontend/src/Store/Actions/episodeActions.js | 13 ++++++++++++- .../EpisodeFiles/EpisodeFileResource.cs | 6 +++++- 6 files changed, 39 insertions(+), 2 deletions(-) diff --git a/frontend/src/Series/Details/EpisodeRow.css b/frontend/src/Series/Details/EpisodeRow.css index b27a69f1a..4a0940362 100644 --- a/frontend/src/Series/Details/EpisodeRow.css +++ b/frontend/src/Series/Details/EpisodeRow.css @@ -56,3 +56,9 @@ width: 120px; } + +.customFormatScore { + composes: cell from '~Components/Table/Cells/TableRowCell.css'; + + width: 55px; +} diff --git a/frontend/src/Series/Details/EpisodeRow.css.d.ts b/frontend/src/Series/Details/EpisodeRow.css.d.ts index 138000856..d4a5cfe93 100644 --- a/frontend/src/Series/Details/EpisodeRow.css.d.ts +++ b/frontend/src/Series/Details/EpisodeRow.css.d.ts @@ -3,6 +3,7 @@ interface CssExports { 'audio': string; 'audioLanguages': string; + 'customFormatScore': string; 'episodeNumber': string; 'episodeNumberAnime': string; 'languages': string; diff --git a/frontend/src/Series/Details/EpisodeRow.js b/frontend/src/Series/Details/EpisodeRow.js index eba223b16..45f737495 100644 --- a/frontend/src/Series/Details/EpisodeRow.js +++ b/frontend/src/Series/Details/EpisodeRow.js @@ -13,6 +13,7 @@ import EpisodeFileLanguageConnector from 'EpisodeFile/EpisodeFileLanguageConnect import MediaInfoConnector from 'EpisodeFile/MediaInfoConnector'; import * as mediaInfoTypes from 'EpisodeFile/mediaInfoTypes'; import formatBytes from 'Utilities/Number/formatBytes'; +import formatPreferredWordScore from 'Utilities/Number/formatPreferredWordScore'; import formatRuntime from 'Utilities/Number/formatRuntime'; import styles from './EpisodeRow.css'; @@ -72,6 +73,7 @@ class EpisodeRow extends Component { episodeFileSize, releaseGroup, customFormats, + customFormatScore, alternateTitles, columns } = this.props; @@ -193,6 +195,17 @@ class EpisodeRow extends Component { ); } + if (name === 'customFormatScore') { + return ( + + {formatPreferredWordScore(customFormatScore)} + + ); + } + if (name === 'languages') { return ( Languages { get; set; } public QualityModel Quality { get; set; } public List CustomFormats { get; set; } + public int CustomFormatScore { get; set; } public MediaInfoResource MediaInfo { get; set; } public bool QualityCutoffNotMet { get; set; } @@ -67,6 +68,8 @@ namespace Sonarr.Api.V3.EpisodeFiles } model.Series = series; + var customFormats = formatCalculationService?.ParseCustomFormat(model, model.Series); + var customFormatScore = series?.QualityProfile.Value.CalculateCustomFormatScore(customFormats) ?? 0; return new EpisodeFileResource { @@ -84,7 +87,8 @@ namespace Sonarr.Api.V3.EpisodeFiles Quality = model.Quality, MediaInfo = model.MediaInfo.ToResource(model.SceneName), QualityCutoffNotMet = upgradableSpecification.QualityCutoffNotMet(series.QualityProfile.Value, model.Quality), - CustomFormats = formatCalculationService.ParseCustomFormat(model).ToResource(false) + CustomFormats = customFormats.ToResource(false), + CustomFormatScore = customFormatScore }; } }