diff --git a/frontend/src/App/State/MoviesAppState.ts b/frontend/src/App/State/MoviesAppState.ts index 2c0904fead..24c0493bf2 100644 --- a/frontend/src/App/State/MoviesAppState.ts +++ b/frontend/src/App/State/MoviesAppState.ts @@ -20,8 +20,10 @@ export interface MovieIndexAppState { showTitle: boolean; showMonitored: boolean; showQualityProfile: boolean; - showReleaseDate: boolean; showCinemaRelease: boolean; + showDigitalRelease: boolean; + showPhysicalRelease: boolean; + showReleaseDate: boolean; showTmdbRating: boolean; showImdbRating: boolean; showRottenTomatoesRating: boolean; diff --git a/frontend/src/Movie/Details/MovieDetails.js b/frontend/src/Movie/Details/MovieDetails.js index e609a0b4fb..d90b190b38 100644 --- a/frontend/src/Movie/Details/MovieDetails.js +++ b/frontend/src/Movie/Details/MovieDetails.js @@ -438,8 +438,8 @@ class MovieDetails extends Component { body={ } position={tooltipPositions.BOTTOM} diff --git a/frontend/src/Movie/Details/MovieReleaseDates.tsx b/frontend/src/Movie/Details/MovieReleaseDates.tsx index 5a0144f8fd..d9604358b5 100644 --- a/frontend/src/Movie/Details/MovieReleaseDates.tsx +++ b/frontend/src/Movie/Details/MovieReleaseDates.tsx @@ -32,7 +32,7 @@ function MovieReleaseDates(props: MovieReleaseDatesProps) { } return ( -
+ <> {inCinemas ? (
@@ -44,6 +44,7 @@ function MovieReleaseDates(props: MovieReleaseDatesProps) { })}
) : null} + {digitalRelease ? (
@@ -55,6 +56,7 @@ function MovieReleaseDates(props: MovieReleaseDatesProps) { })}
) : null} + {physicalRelease ? (
@@ -68,7 +70,7 @@ function MovieReleaseDates(props: MovieReleaseDatesProps) { )}
) : null} -
+ ); } diff --git a/frontend/src/Movie/Index/Menus/MovieIndexSortMenu.tsx b/frontend/src/Movie/Index/Menus/MovieIndexSortMenu.tsx index 390263a6fa..6c8e23df7c 100644 --- a/frontend/src/Movie/Index/Menus/MovieIndexSortMenu.tsx +++ b/frontend/src/Movie/Index/Menus/MovieIndexSortMenu.tsx @@ -82,15 +82,6 @@ function MovieIndexSortMenu(props: MovieIndexSortMenuProps) { {translate('InCinemas')} - - {translate('PhysicalRelease')} - - + + {translate('PhysicalRelease')} + + ) : null} + {showDigitalRelease && digitalRelease ? ( +
+ {' '} + {getRelativeDate(digitalRelease, shortDateFormat, showRelativeDates, { + timeFormat, + timeForToday: false, + })} +
+ ) : null} + + {showPhysicalRelease && physicalRelease ? ( +
+ {' '} + {getRelativeDate( + physicalRelease, + shortDateFormat, + showRelativeDates, + { + timeFormat, + timeForToday: false, + } + )} +
+ ) : null} + {showReleaseDate && releaseDate ? (
{' '} @@ -291,6 +318,8 @@ function MovieIndexPoster(props: MovieIndexPosterProps) { year={year} showQualityProfile={showQualityProfile} showCinemaRelease={showCinemaRelease} + showDigitalRelease={showDigitalRelease} + showPhysicalRelease={showPhysicalRelease} showReleaseDate={showReleaseDate} showRelativeDates={showRelativeDates} shortDateFormat={shortDateFormat} diff --git a/frontend/src/Movie/Index/Posters/MovieIndexPosterInfo.tsx b/frontend/src/Movie/Index/Posters/MovieIndexPosterInfo.tsx index 70ed4bb722..db46979240 100644 --- a/frontend/src/Movie/Index/Posters/MovieIndexPosterInfo.tsx +++ b/frontend/src/Movie/Index/Posters/MovieIndexPosterInfo.tsx @@ -34,6 +34,8 @@ interface MovieIndexPosterInfoProps { sortKey: string; showRelativeDates: boolean; showCinemaRelease: boolean; + showDigitalRelease: boolean; + showPhysicalRelease: boolean; showReleaseDate: boolean; shortDateFormat: string; longDateFormat: string; @@ -65,6 +67,8 @@ function MovieIndexPosterInfo(props: MovieIndexPosterInfoProps) { sortKey, showRelativeDates, showCinemaRelease, + showDigitalRelease, + showPhysicalRelease, showReleaseDate, shortDateFormat, longDateFormat, @@ -142,7 +146,7 @@ function MovieIndexPosterInfo(props: MovieIndexPosterInfoProps) { ); } - if (sortKey === 'digitalRelease' && digitalRelease && !showReleaseDate) { + if (sortKey === 'digitalRelease' && digitalRelease && !showDigitalRelease) { const digitalReleaseDate = getRelativeDate( digitalRelease, shortDateFormat, @@ -160,7 +164,11 @@ function MovieIndexPosterInfo(props: MovieIndexPosterInfoProps) { ); } - if (sortKey === 'physicalRelease' && physicalRelease && !showReleaseDate) { + if ( + sortKey === 'physicalRelease' && + physicalRelease && + !showPhysicalRelease + ) { const physicalReleaseDate = getRelativeDate( physicalRelease, shortDateFormat, diff --git a/frontend/src/Movie/Index/Posters/MovieIndexPosters.tsx b/frontend/src/Movie/Index/Posters/MovieIndexPosters.tsx index e8ca631fec..afa7bf07fd 100644 --- a/frontend/src/Movie/Index/Posters/MovieIndexPosters.tsx +++ b/frontend/src/Movie/Index/Posters/MovieIndexPosters.tsx @@ -144,6 +144,8 @@ export default function MovieIndexPosters(props: MovieIndexPostersProps) { showMonitored, showQualityProfile, showCinemaRelease, + showDigitalRelease, + showPhysicalRelease, showReleaseDate, showTmdbRating, showImdbRating, @@ -173,6 +175,14 @@ export default function MovieIndexPosters(props: MovieIndexPostersProps) { heights.push(19); } + if (showDigitalRelease) { + heights.push(19); + } + + if (showPhysicalRelease) { + heights.push(19); + } + if (showReleaseDate) { heights.push(19); } @@ -214,7 +224,15 @@ export default function MovieIndexPosters(props: MovieIndexPostersProps) { } break; case 'digitalRelease': + if (!showDigitalRelease) { + heights.push(19); + } + break; case 'physicalRelease': + if (!showPhysicalRelease) { + heights.push(19); + } + break; case 'releaseDate': if (!showReleaseDate) { heights.push(19); diff --git a/frontend/src/Movie/Index/Posters/Options/MovieIndexPosterOptionsModalContent.tsx b/frontend/src/Movie/Index/Posters/Options/MovieIndexPosterOptionsModalContent.tsx index ff1f9e717f..85d33eeae5 100644 --- a/frontend/src/Movie/Index/Posters/Options/MovieIndexPosterOptionsModalContent.tsx +++ b/frontend/src/Movie/Index/Posters/Options/MovieIndexPosterOptionsModalContent.tsx @@ -9,7 +9,7 @@ import ModalBody from 'Components/Modal/ModalBody'; import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; -import { inputTypes } from 'Helpers/Props'; +import { inputTypes, sizes } from 'Helpers/Props'; import { setMoviePosterOption } from 'Store/Actions/movieIndexActions'; import translate from 'Utilities/String/translate'; import selectPosterOptions from '../selectPosterOptions'; @@ -53,6 +53,8 @@ function MovieIndexPosterOptionsModalContent( showMonitored, showQualityProfile, showCinemaRelease, + showDigitalRelease, + showPhysicalRelease, showReleaseDate, showTmdbRating, showImdbRating, @@ -76,7 +78,7 @@ function MovieIndexPosterOptionsModalContent(
- + {translate('PosterSize')} - + {translate('DetailedProgressBar')} - + {translate('ShowTitle')} - + {translate('ShowMonitored')} - + {translate('ShowQualityProfile')} - + {translate('ShowCinemaRelease')} - + + {translate('ShowDigitalRelease')} + + + + + + {translate('ShowPhysicalRelease')} + + + + + {translate('ShowReleaseDate')} - + {translate('ShowTmdbRating')} - + {translate('ShowImdbRating')} - + {translate('ShowRottenTomatoesRating')} - + {translate('ShowTags')} - + {translate('ShowSearch')}