diff --git a/components/common/SeerrItemRouter.tsx b/components/common/SeerrItemRouter.tsx index c6ab28fd..b567ea1d 100644 --- a/components/common/SeerrItemRouter.tsx +++ b/components/common/SeerrItemRouter.tsx @@ -42,7 +42,9 @@ export const TouchableSeerrRouter: React.FC> = ({ onPress={() => { if (!result) return; - // Build URL with query params - avoids Expo Router's strict type checking + // Build URL with query params - avoids Expo Router's strict type checking. + // Every value is coerced defensively: releaseYear/mediaType can be + // undefined or NaN at runtime, so `.toString()` would throw. const params = new URLSearchParams({ ...Object.fromEntries( Object.entries(result).map(([key, value]) => [ @@ -50,11 +52,11 @@ export const TouchableSeerrRouter: React.FC> = ({ String(value ?? ""), ]), ), - mediaTitle, - releaseYear: releaseYear.toString(), - canRequest: canRequest.toString(), - posterSrc, - mediaType: mediaType.toString(), + mediaTitle: mediaTitle ?? "", + releaseYear: String(releaseYear ?? ""), + canRequest: String(canRequest ?? false), + posterSrc: posterSrc ?? "", + mediaType: String(mediaType ?? ""), }); router.push(