From e6f4b88cf3e0f09fb8674fa8aea12c7164b77ea4 Mon Sep 17 00:00:00 2001 From: Stevie Robinson Date: Tue, 28 Nov 2023 20:09:31 +0100 Subject: [PATCH] New: Show Proper or Repack tag in interactive search (cherry picked from commit efb000529b5dff42829df3ef151e4750a7b15cf6) Closes #9523 --- .../InteractiveSearchRow.css | 4 ++ .../InteractiveSearchRow.tsx | 2 +- frontend/src/Movie/MovieQuality.js | 56 +++++++++++++++---- 3 files changed, 51 insertions(+), 11 deletions(-) diff --git a/frontend/src/InteractiveSearch/InteractiveSearchRow.css b/frontend/src/InteractiveSearch/InteractiveSearchRow.css index 929f22ab3..97ac6807a 100644 --- a/frontend/src/InteractiveSearch/InteractiveSearchRow.css +++ b/frontend/src/InteractiveSearch/InteractiveSearchRow.css @@ -22,6 +22,10 @@ composes: cell from '~Components/Table/Cells/TableRowCell.css'; } +.quality { + white-space: nowrap; +} + .languages { width: 100px; } diff --git a/frontend/src/InteractiveSearch/InteractiveSearchRow.tsx b/frontend/src/InteractiveSearch/InteractiveSearchRow.tsx index 93437bbca..8489ac63d 100644 --- a/frontend/src/InteractiveSearch/InteractiveSearchRow.tsx +++ b/frontend/src/InteractiveSearch/InteractiveSearchRow.tsx @@ -266,7 +266,7 @@ function InteractiveSearchRow(props: InteractiveSearchRowProps) { - + diff --git a/frontend/src/Movie/MovieQuality.js b/frontend/src/Movie/MovieQuality.js index ba4d4cc09..fad9a0e63 100644 --- a/frontend/src/Movie/MovieQuality.js +++ b/frontend/src/Movie/MovieQuality.js @@ -3,6 +3,7 @@ import React from 'react'; import Label from 'Components/Label'; import { kinds } from 'Helpers/Props'; import formatBytes from 'Utilities/Number/formatBytes'; +import translate from 'Utilities/String/translate'; function getTooltip(title, quality, size, isMonitored, isCutoffNotMet) { const revision = quality.revision; @@ -28,6 +29,36 @@ function getTooltip(title, quality, size, isMonitored, isCutoffNotMet) { return title; } +function revisionLabel(className, quality, showRevision) { + if (!showRevision) { + return; + } + + if (quality.revision.isRepack) { + return ( + + ); + } + + if (quality.revision.version && quality.revision.version > 1) { + return ( + + ); + } +} + function MovieQuality(props) { const { className, @@ -35,7 +66,8 @@ function MovieQuality(props) { quality, size, isMonitored, - isCutoffNotMet + isCutoffNotMet, + showRevision } = props; let kind = kinds.DEFAULT; @@ -50,13 +82,15 @@ function MovieQuality(props) { } return ( - + + {revisionLabel(className, quality, showRevision)} + ); } @@ -66,12 +100,14 @@ MovieQuality.propTypes = { quality: PropTypes.object.isRequired, size: PropTypes.number, isMonitored: PropTypes.bool, - isCutoffNotMet: PropTypes.bool + isCutoffNotMet: PropTypes.bool, + showRevision: PropTypes.bool }; MovieQuality.defaultProps = { title: '', - isMonitored: true + isMonitored: true, + showRevision: false }; export default MovieQuality;