diff --git a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/page.tsx b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/page.tsx
index 805727fd..678680c7 100644
--- a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/page.tsx
+++ b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/page.tsx
@@ -1,22 +1,33 @@
-import React, {useCallback, useEffect, useMemo, useRef, useState} from "react";
-import {useLocalSearchParams, useNavigation} from "expo-router";
+import React, {
+ useCallback,
+ useEffect,
+ useMemo,
+ useRef,
+ useState,
+} from "react";
+import { useLocalSearchParams, useNavigation } from "expo-router";
import { MovieResult, TvResult } from "@/utils/jellyseerr/server/models/Search";
import { Text } from "@/components/common/Text";
import { ParallaxScrollView } from "@/components/ParallaxPage";
import { Image } from "expo-image";
-import { TouchableOpacity, View} from "react-native";
+import { TouchableOpacity, View } from "react-native";
import { Ionicons } from "@expo/vector-icons";
import { useSafeAreaInsets } from "react-native-safe-area-context";
import { OverviewText } from "@/components/OverviewText";
import { GenreTags } from "@/components/GenreTags";
-import {MediaRequestStatus, MediaStatus, MediaType} from "@/utils/jellyseerr/server/constants/media";
+import {
+ MediaRequestStatus,
+ MediaStatus,
+ MediaType,
+} from "@/utils/jellyseerr/server/constants/media";
import { useQuery } from "@tanstack/react-query";
import { useJellyseerr } from "@/hooks/useJellyseerr";
import { Button } from "@/components/Button";
import {
BottomSheetBackdrop,
BottomSheetBackdropProps,
- BottomSheetModal, BottomSheetTextInput,
+ BottomSheetModal,
+ BottomSheetTextInput,
BottomSheetView,
} from "@gorhom/bottom-sheet";
import {
@@ -29,7 +40,7 @@ import JellyseerrSeasons from "@/components/series/JellyseerrSeasons";
import { JellyserrRatings } from "@/components/Ratings";
import MediaRequest from "@/utils/jellyseerr/server/entity/MediaRequest";
import DetailFacts from "@/components/jellyseerr/DetailFacts";
-import {ItemActions} from "@/components/series/SeriesActions";
+import { ItemActions } from "@/components/series/SeriesActions";
import Cast from "@/components/jellyseerr/Cast";
const Page: React.FC = () => {
@@ -59,7 +70,7 @@ const Page: React.FC = () => {
data: details,
isFetching,
isLoading,
- refetch
+ refetch,
} = useQuery({
enabled: !!jellyseerrApi && !!result && !!result.id,
queryKey: ["jellyseerr", "detail", result.mediaType, result.id],
@@ -77,11 +88,17 @@ const Page: React.FC = () => {
});
const canRequest = useMemo(() => {
- const pendingRequests = details?.mediaInfo?.requests
- ?.some((r: MediaRequest) => r.status == MediaRequestStatus.PENDING || r.status == MediaRequestStatus.APPROVED)
+ const pendingRequests = details?.mediaInfo?.requests?.some(
+ (r: MediaRequest) =>
+ r.status == MediaRequestStatus.PENDING ||
+ r.status == MediaRequestStatus.APPROVED
+ );
- return (details?.mediaInfo?.status === MediaStatus.UNKNOWN && !pendingRequests) ||
- (!details?.mediaInfo?.status && canRequestString === "true");
+ return (
+ (details?.mediaInfo?.status === MediaStatus.UNKNOWN &&
+ !pendingRequests) ||
+ (!details?.mediaInfo?.status && canRequestString === "true")
+ );
}, [canRequestString, details]);
const renderBackdrop = useCallback(
@@ -107,32 +124,31 @@ const Page: React.FC = () => {
}
}, [jellyseerrApi, details, result, issueType, issueMessage]);
- const request = useCallback(
- async () => {
- requestMedia(mediaTitle, {
- mediaId: Number(result.id!!),
- mediaType: result.mediaType!!,
- tvdbId: details?.externalIds?.tvdbId,
- seasons: (details as TvDetails)?.seasons
- ?.filter?.((s) => s.seasonNumber !== 0)
- ?.map?.((s) => s.seasonNumber),
- },
- refetch
- )
- },
- [details, result, requestMedia]
- );
+ const request = useCallback(async () => {
+ requestMedia(
+ mediaTitle,
+ {
+ mediaId: Number(result.id!!),
+ mediaType: result.mediaType!!,
+ tvdbId: details?.externalIds?.tvdbId,
+ seasons: (details as TvDetails)?.seasons
+ ?.filter?.((s) => s.seasonNumber !== 0)
+ ?.map?.((s) => s.seasonNumber),
+ },
+ refetch
+ );
+ }, [details, result, requestMedia]);
useEffect(() => {
if (details) {
navigation.setOptions({
- headerRight: () =>
-
-
-
+ headerRight: () => (
+
+
+
+ ),
});
}
-
}, [details]);
return (
@@ -157,7 +173,10 @@ const Page: React.FC = () => {
height: "100%",
}}
source={{
- uri: jellyseerrApi?.imageProxy(result.backdropPath, 'w1920_and_h800_multi_faces'),
+ uri: jellyseerrApi?.imageProxy(
+ result.backdropPath,
+ "w1920_and_h800_multi_faces"
+ ),
}}
/>
) : (
@@ -241,10 +260,7 @@ const Page: React.FC = () => {
className="p-2 border border-neutral-800 bg-neutral-900 rounded-xl"
details={details}
/>
-
+
@@ -311,13 +327,11 @@ const Page: React.FC = () => {
-
+