mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-07-20 02:54:17 +01:00
fix: correct invalid BCP 47 language tag in Jellyseerr components
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 <noreply@anthropic.com>
This commit is contained in:
@@ -88,14 +88,11 @@ export default function page() {
|
|||||||
<Text className='opacity-50'>
|
<Text className='opacity-50'>
|
||||||
{t("jellyseerr.born")}{" "}
|
{t("jellyseerr.born")}{" "}
|
||||||
{data?.details?.birthday &&
|
{data?.details?.birthday &&
|
||||||
new Date(data.details.birthday).toLocaleDateString(
|
new Date(data.details.birthday).toLocaleDateString(locale, {
|
||||||
`${locale}-${region}`,
|
year: "numeric",
|
||||||
{
|
month: "long",
|
||||||
year: "numeric",
|
day: "numeric",
|
||||||
month: "long",
|
})}{" "}
|
||||||
day: "numeric",
|
|
||||||
},
|
|
||||||
)}{" "}
|
|
||||||
| {data?.details?.placeOfBirth}
|
| {data?.details?.placeOfBirth}
|
||||||
</Text>
|
</Text>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -81,10 +81,7 @@ const DetailFacts: React.FC<
|
|||||||
const firstAirDate = useMemo(() => {
|
const firstAirDate = useMemo(() => {
|
||||||
const firstAirDate = (details as TvDetails)?.firstAirDate;
|
const firstAirDate = (details as TvDetails)?.firstAirDate;
|
||||||
if (firstAirDate) {
|
if (firstAirDate) {
|
||||||
return new Date(firstAirDate).toLocaleDateString(
|
return new Date(firstAirDate).toLocaleDateString(locale, dateOpts);
|
||||||
`${locale}-${region}`,
|
|
||||||
dateOpts,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}, [details]);
|
}, [details]);
|
||||||
|
|
||||||
@@ -92,28 +89,25 @@ const DetailFacts: React.FC<
|
|||||||
const firstAirDate = (details as TvDetails)?.firstAirDate;
|
const firstAirDate = (details as TvDetails)?.firstAirDate;
|
||||||
const nextAirDate = (details as TvDetails)?.nextEpisodeToAir?.airDate;
|
const nextAirDate = (details as TvDetails)?.nextEpisodeToAir?.airDate;
|
||||||
if (nextAirDate && firstAirDate !== nextAirDate) {
|
if (nextAirDate && firstAirDate !== nextAirDate) {
|
||||||
return new Date(nextAirDate).toLocaleDateString(
|
return new Date(nextAirDate).toLocaleDateString(locale, dateOpts);
|
||||||
`${locale}-${region}`,
|
|
||||||
dateOpts,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}, [details]);
|
}, [details]);
|
||||||
|
|
||||||
const revenue = useMemo(
|
const revenue = useMemo(
|
||||||
() =>
|
() =>
|
||||||
(details as MovieDetails)?.revenue?.toLocaleString?.(
|
(details as MovieDetails)?.revenue?.toLocaleString?.(locale, {
|
||||||
`${locale}-${region}`,
|
style: "currency",
|
||||||
{ style: "currency", currency: "USD" },
|
currency: "USD",
|
||||||
),
|
}),
|
||||||
[details],
|
[details],
|
||||||
);
|
);
|
||||||
|
|
||||||
const budget = useMemo(
|
const budget = useMemo(
|
||||||
() =>
|
() =>
|
||||||
(details as MovieDetails)?.budget?.toLocaleString?.(
|
(details as MovieDetails)?.budget?.toLocaleString?.(locale, {
|
||||||
`${locale}-${region}`,
|
style: "currency",
|
||||||
{ style: "currency", currency: "USD" },
|
currency: "USD",
|
||||||
),
|
}),
|
||||||
[details],
|
[details],
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -171,7 +165,7 @@ const DetailFacts: React.FC<
|
|||||||
)}
|
)}
|
||||||
<Text>
|
<Text>
|
||||||
{new Date(r.release_date).toLocaleDateString(
|
{new Date(r.release_date).toLocaleDateString(
|
||||||
`${locale}-${region}`,
|
locale,
|
||||||
dateOpts,
|
dateOpts,
|
||||||
)}
|
)}
|
||||||
</Text>
|
</Text>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ const RenderItem = ({ item }: any) => {
|
|||||||
if (airDate) {
|
if (airDate) {
|
||||||
const airDateObj = new Date(airDate);
|
const airDateObj = new Date(airDate);
|
||||||
if (new Date() < airDateObj) {
|
if (new Date() < airDateObj) {
|
||||||
return airDateObj.toLocaleDateString(`${locale}-${region}`, dateOpts);
|
return airDateObj.toLocaleDateString(locale, dateOpts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [item, locale, region]);
|
}, [item, locale, region]);
|
||||||
|
|||||||
Reference in New Issue
Block a user