From b637a0f7d2c9b7a686f37fffe9c1ed6f7130c2d1 Mon Sep 17 00:00:00 2001 From: herrrta <73949927+herrrta@users.noreply.github.com> Date: Mon, 6 Jan 2025 19:55:09 -0500 Subject: [PATCH] use JellyseerrPoster component --- .../jellyseerr/company/[companyId].tsx | 49 ++----------------- .../jellyseerr/genre/[genreId].tsx | 49 ++----------------- .../jellyseerr/person/[personId].tsx | 32 +++--------- 3 files changed, 14 insertions(+), 116 deletions(-) diff --git a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/company/[companyId].tsx b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/company/[companyId].tsx index 02762a51..c5eda557 100644 --- a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/company/[companyId].tsx +++ b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/company/[companyId].tsx @@ -12,13 +12,12 @@ import ParallaxSlideShow from "@/components/jellyseerr/ParallaxSlideShow"; import {MovieResult, Results, TvResult} from "@/utils/jellyseerr/server/models/Search"; import {COMPANY_LOGO_IMAGE_FILTER} from "@/utils/jellyseerr/src/components/Discover/NetworkSlider"; import {uniqBy} from "lodash"; +import JellyseerrPoster from "@/components/posters/JellyseerrPoster"; export default function page() { const local = useLocalSearchParams(); - const segments = useSegments(); const {jellyseerrApi} = useJellyseerr(); - const from = segments[2]; const {companyId, name, image, type} = local as unknown as { companyId: string, name: string, @@ -62,32 +61,6 @@ export default function page() { [jellyseerrApi, flatData] ); - const viewDetails = (result: Results) => { - router.push({ - //@ts-ignore - pathname: `/(auth)/(tabs)/${from}/jellyseerr/page`, - //@ts-ignore - params: { - ...result, - mediaTitle: getName(result), - releaseYear: getYear(result), - canRequest: "false", - posterSrc: jellyseerrApi?.imageProxy( - (result as MovieResult | TvResult).posterPath, - "w300_and_h450_face" - ), - }, - }); - }; - - const getName = (result: Results) => { - return (result as TvResult).name || (result as MovieResult).title - } - - const getYear = (result: Results) => { - return new Date((result as TvResult).firstAirDate || (result as MovieResult).releaseDate).getFullYear() - } - return ( } - renderItem={(item, index) => ( - viewDetails(item)} - > - - - {getName(item)} - {getYear(item)} - - )} + renderItem={(item, index) => + + } /> ); } diff --git a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/genre/[genreId].tsx b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/genre/[genreId].tsx index 34a4fc7b..dbbce320 100644 --- a/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/genre/[genreId].tsx +++ b/app/(auth)/(tabs)/(home,libraries,search,favorites)/jellyseerr/genre/[genreId].tsx @@ -11,13 +11,12 @@ import ParallaxSlideShow from "@/components/jellyseerr/ParallaxSlideShow"; import {MovieResult, Results, TvResult} from "@/utils/jellyseerr/server/models/Search"; import {uniqBy} from "lodash"; import {textShadowStyle} from "@/components/jellyseerr/discover/GenericSlideCard"; +import JellyseerrPoster from "@/components/posters/JellyseerrPoster"; export default function page() { const local = useLocalSearchParams(); - const segments = useSegments(); const {jellyseerrApi} = useJellyseerr(); - const from = segments[2]; const {genreId, name, type} = local as unknown as { genreId: string, name: string, @@ -59,32 +58,6 @@ export default function page() { [jellyseerrApi, flatData] ); - const viewDetails = (result: Results) => { - router.push({ - //@ts-ignore - pathname: `/(auth)/(tabs)/${from}/jellyseerr/page`, - //@ts-ignore - params: { - ...result, - mediaTitle: getName(result), - releaseYear: getYear(result), - canRequest: "false", - posterSrc: jellyseerrApi?.imageProxy( - (result as MovieResult | TvResult).posterPath, - "w300_and_h450_face" - ), - }, - }); - }; - - const getName = (result: Results) => { - return (result as TvResult).name || (result as MovieResult).title - } - - const getYear = (result: Results) => { - return new Date((result as TvResult).firstAirDate || (result as MovieResult).releaseDate).getFullYear() - } - return ( } - renderItem={(item, index) => ( - viewDetails(item)} - > - - - {getName(item)} - {getYear(item)} - - )} + renderItem={(item, index) => + + } /> ); } 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 84f59f4b..3be8cc50 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 @@ -10,11 +10,13 @@ import { useJellyseerr } from "@/hooks/useJellyseerr"; import { Text } from "@/components/common/Text"; import { Image } from "expo-image"; import { OverviewText } from "@/components/OverviewText"; -import { orderBy } from "lodash"; +import {orderBy, uniqBy} from "lodash"; import { PersonCreditCast } from "@/utils/jellyseerr/server/models/Person"; import Poster from "@/components/posters/Poster"; import JellyseerrMediaIcon from "@/components/jellyseerr/JellyseerrMediaIcon"; import ParallaxSlideShow from "@/components/jellyseerr/ParallaxSlideShow"; +import JellyseerrPoster from "@/components/posters/JellyseerrPoster"; +import {MovieResult, TvResult} from "@/utils/jellyseerr/server/models/Search"; export default function page() { const local = useLocalSearchParams(); @@ -44,11 +46,11 @@ export default function page() { const castedRoles: PersonCreditCast[] = useMemo( () => - orderBy( + uniqBy(orderBy( data?.combinedCredits?.cast, ["voteCount", "voteAverage"], "desc" - ), + ), 'id'), [data?.combinedCredits] ); const backdrops = useMemo( @@ -123,29 +125,7 @@ export default function page() { MainContent={() => ( )} - renderItem={(item, index) => ( - viewDetails(item)} - > - - - {item.character && ( - - as {item.character} - - )} - - )} + renderItem={(item, index) => } /> ); }