From b630e0784b2feeddaeabed882198721944dd5aa4 Mon Sep 17 00:00:00 2001 From: bot2 Date: Mon, 17 Nov 2025 20:53:57 +0800 Subject: [PATCH] fix: correct invalid BCP 47 language tag in Jellyseerr components MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix RangeError caused by invalid locale tags (e.g., zh-CN-US) in multiple Jellyseerr components. The locale variable already contains a complete BCP 47 language tag (e.g., zh-CN), so concatenating it with region (e.g., US) creates an invalid tag. Changes: - DetailFacts.tsx: Fix 5 occurrences in date and currency formatting - JellyseerrSeasons.tsx: Fix 1 occurrence in upcoming air date - person/[personId].tsx: Fix 1 occurrence in birthday formatting Total: 3 files, 7 fixes Closes #1130 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../jellyseerr/person/[personId].tsx | 13 ++++----- components/jellyseerr/DetailFacts.tsx | 28 ++++++++----------- components/series/JellyseerrSeasons.tsx | 2 +- 3 files changed, 17 insertions(+), 26 deletions(-) diff --git a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/person/[personId].tsx b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/person/[personId].tsx index a29e1280..0bfb35be 100644 --- a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/person/[personId].tsx +++ b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/person/[personId].tsx @@ -88,14 +88,11 @@ export default function page() { {t("jellyseerr.born")}{" "} {data?.details?.birthday && - new Date(data.details.birthday).toLocaleDateString( - `${locale}-${region}`, - { - year: "numeric", - month: "long", - day: "numeric", - }, - )}{" "} + new Date(data.details.birthday).toLocaleDateString(locale, { + year: "numeric", + month: "long", + day: "numeric", + })}{" "} | {data?.details?.placeOfBirth} diff --git a/components/jellyseerr/DetailFacts.tsx b/components/jellyseerr/DetailFacts.tsx index 0250920f..ab86acae 100644 --- a/components/jellyseerr/DetailFacts.tsx +++ b/components/jellyseerr/DetailFacts.tsx @@ -81,10 +81,7 @@ const DetailFacts: React.FC< const firstAirDate = useMemo(() => { const firstAirDate = (details as TvDetails)?.firstAirDate; if (firstAirDate) { - return new Date(firstAirDate).toLocaleDateString( - `${locale}-${region}`, - dateOpts, - ); + return new Date(firstAirDate).toLocaleDateString(locale, dateOpts); } }, [details]); @@ -92,28 +89,25 @@ const DetailFacts: React.FC< const firstAirDate = (details as TvDetails)?.firstAirDate; const nextAirDate = (details as TvDetails)?.nextEpisodeToAir?.airDate; if (nextAirDate && firstAirDate !== nextAirDate) { - return new Date(nextAirDate).toLocaleDateString( - `${locale}-${region}`, - dateOpts, - ); + return new Date(nextAirDate).toLocaleDateString(locale, dateOpts); } }, [details]); const revenue = useMemo( () => - (details as MovieDetails)?.revenue?.toLocaleString?.( - `${locale}-${region}`, - { style: "currency", currency: "USD" }, - ), + (details as MovieDetails)?.revenue?.toLocaleString?.(locale, { + style: "currency", + currency: "USD", + }), [details], ); const budget = useMemo( () => - (details as MovieDetails)?.budget?.toLocaleString?.( - `${locale}-${region}`, - { style: "currency", currency: "USD" }, - ), + (details as MovieDetails)?.budget?.toLocaleString?.(locale, { + style: "currency", + currency: "USD", + }), [details], ); @@ -171,7 +165,7 @@ const DetailFacts: React.FC< )} {new Date(r.release_date).toLocaleDateString( - `${locale}-${region}`, + locale, dateOpts, )} diff --git a/components/series/JellyseerrSeasons.tsx b/components/series/JellyseerrSeasons.tsx index 3b130683..476d16b1 100644 --- a/components/series/JellyseerrSeasons.tsx +++ b/components/series/JellyseerrSeasons.tsx @@ -69,7 +69,7 @@ const RenderItem = ({ item }: any) => { if (airDate) { const airDateObj = new Date(airDate); if (new Date() < airDateObj) { - return airDateObj.toLocaleDateString(`${locale}-${region}`, dateOpts); + return airDateObj.toLocaleDateString(locale, dateOpts); } } }, [item, locale, region]);