diff --git a/app/(auth)/trailer/page.tsx b/app/(auth)/trailer/page.tsx deleted file mode 100644 index 9f331795..00000000 --- a/app/(auth)/trailer/page.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { useGlobalSearchParams } from "expo-router"; -import { useCallback, useEffect, useMemo, useState } from "react"; -import { Alert, Dimensions, View } from "react-native"; -import YoutubePlayer, { PLAYER_STATES } from "react-native-youtube-iframe"; - -export default function page() { - const searchParams = useGlobalSearchParams(); - - const { url } = searchParams as { url: string }; - - const videoId = useMemo(() => { - return url.split("v=")[1]; - }, [url]); - - const [playing, setPlaying] = useState(false); - - const onStateChange = useCallback((state: PLAYER_STATES) => { - if (state === "ended") { - setPlaying(false); - Alert.alert("video has finished playing!"); - } - }, []); - - const togglePlaying = useCallback(() => { - setPlaying((prev) => !prev); - }, []); - - useEffect(() => { - togglePlaying(); - }, []); - - const screenWidth = Dimensions.get("screen").width; - - return ( - - - - ); -} diff --git a/app/_layout.tsx b/app/_layout.tsx index bf779be5..23512523 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -336,14 +336,6 @@ function Layout() { header: () => null, }} /> - { - const router = useRouter(); - const trailerLink = useMemo(() => { - const url = (item as BaseItemDto).RemoteTrailers?.[0]?.Url - if (url) - return url - return (item as MovieDetails | TvDetails)?.relatedVideos?.find(v => v.type === "Trailer")?.url + if ("RemoteTrailers" in item && item.RemoteTrailers?.[0]?.Url) { + return item.RemoteTrailers[0].Url; + } + + if ("relatedVideos" in item) { + return item.relatedVideos?.find((v) => v.type === "Trailer")?.url; + } + + return undefined; }, [item]); const openTrailer = useCallback(async () => { - if (!trailerLink) return; + if (!trailerLink) { + Alert.alert("No trailer available"); + return; + } - const encodedTrailerLink = encodeURIComponent(trailerLink); - router.push(`/trailer/page?url=${encodedTrailerLink}`); - }, [router, trailerLink]); + try { + await Linking.openURL(trailerLink); + } catch (err) { + console.error("Failed to open trailer link:", err); + } + }, [trailerLink]); return (