{data?.seasons
- .filter(
- (season) =>
- season.seasonNumber !== 0 && season.episodeCount !== 0
- )
+ .filter((season) => season.episodeCount !== 0)
.map((season) => {
const seasonRequest = getSeasonRequest(
season.seasonNumber
@@ -637,7 +631,7 @@ const TvRequestModal = ({
{season.seasonNumber === 0
- ? intl.formatMessage(messages.extras)
+ ? intl.formatMessage(globalMessages.specials)
: intl.formatMessage(messages.seasonnumber, {
number: season.seasonNumber,
})}
diff --git a/src/components/TvDetails/index.tsx b/src/components/TvDetails/index.tsx
index 2f44a7d8c..1b0b3c667 100644
--- a/src/components/TvDetails/index.tsx
+++ b/src/components/TvDetails/index.tsx
@@ -200,6 +200,7 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
);
}
+ // Does NOT include "Specials"
const seasonCount = data.seasons.filter(
(season) => season.seasonNumber !== 0 && season.episodeCount !== 0
).length;
@@ -257,9 +258,17 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
return [...requestedSeasons, ...availableSeasons];
};
- const isComplete = seasonCount <= getAllRequestedSeasons(false).length;
+ const showHasSpecials = data.seasons.some(
+ (season) => season.seasonNumber === 0
+ );
+
+ const isComplete =
+ (showHasSpecials ? seasonCount + 1 : seasonCount) <=
+ getAllRequestedSeasons(false).length;
- const is4kComplete = seasonCount <= getAllRequestedSeasons(true).length;
+ const is4kComplete =
+ (showHasSpecials ? seasonCount + 1 : seasonCount) <=
+ getAllRequestedSeasons(true).length;
const streamingProviders =
data?.watchProviders?.find((provider) => provider.iso_3166_1 === region)
@@ -522,7 +531,6 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
{data.seasons
.slice()
.reverse()
- .filter((season) => season.seasonNumber !== 0)
.map((season) => {
const show4k =
settings.currentSettings.series4kEnabled &&
@@ -576,9 +584,11 @@ const TvDetails = ({ tv }: TvDetailsProps) => {
>
- {intl.formatMessage(messages.seasonnumber, {
- seasonNumber: season.seasonNumber,
- })}
+ {season.seasonNumber === 0
+ ? intl.formatMessage(globalMessages.specials)
+ : intl.formatMessage(messages.seasonnumber, {
+ seasonNumber: season.seasonNumber,
+ })}
{intl.formatMessage(messages.episodeCount, {
diff --git a/src/i18n/globalMessages.ts b/src/i18n/globalMessages.ts
index ca66a891f..64ae16c1c 100644
--- a/src/i18n/globalMessages.ts
+++ b/src/i18n/globalMessages.ts
@@ -55,6 +55,7 @@ const globalMessages = defineMessages({
noresults: 'No results.',
open: 'Open',
resolved: 'Resolved',
+ specials: 'Specials',
});
export default globalMessages;
diff --git a/src/i18n/locale/en.json b/src/i18n/locale/en.json
index 60a2d46bc..568895313 100644
--- a/src/i18n/locale/en.json
+++ b/src/i18n/locale/en.json
@@ -471,7 +471,6 @@
"components.RequestModal.cancel": "Cancel Request",
"components.RequestModal.edit": "Edit Request",
"components.RequestModal.errorediting": "Something went wrong while editing the request.",
- "components.RequestModal.extras": "Extras",
"components.RequestModal.numberofepisodes": "# of Episodes",
"components.RequestModal.pending4krequest": "Pending 4K Request",
"components.RequestModal.pendingapproval": "Your request is pending approval.",
|