From cd977d117e5b0d736876f7bad6a928ec107d7da4 Mon Sep 17 00:00:00 2001 From: tom-heidenreich Date: Tue, 21 Jan 2025 13:20:45 +0100 Subject: [PATCH] feat: add intro/credit skip buttons to chromecast controls --- app/(auth)/player/google-cast-player.tsx | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/app/(auth)/player/google-cast-player.tsx b/app/(auth)/player/google-cast-player.tsx index 0048588a..29eb2626 100644 --- a/app/(auth)/player/google-cast-player.tsx +++ b/app/(auth)/player/google-cast-player.tsx @@ -19,6 +19,9 @@ import { useHaptic } from "@/hooks/useHaptic"; import { writeToLog } from "@/utils/log"; import { formatTimeString } from "@/utils/time"; import { BlurView } from "expo-blur"; +import SkipButton from "@/components/video-player/controls/SkipButton"; +import { useIntroSkipper } from "@/hooks/useIntroSkipper"; +import { useCreditSkipper } from "@/hooks/useCreditSkipper"; export default function Player() { @@ -271,9 +274,26 @@ function ChromecastControls({ mediaStatus, client }: { mediaStatus: MediaStatus, }, [settings, isPlaying]); const mediaMetadata = mediaStatus.mediaInfo?.metadata; + const itemId = mediaStatus.mediaInfo?.contentId const type = mediaMetadata?.type || 'generic' const images = mediaMetadata?.images || [] + + const { showSkipButton, skipIntro } = useIntroSkipper( + itemId, + currentTime, + seek, + play, + false + ); + + const { showSkipCreditButton, skipCredit } = useCreditSkipper( + itemId, + currentTime, + seek, + play, + false + ); const blurhash = '|rF?hV%2WCj[ayj[a|j[az_NaeWBj@ayfRayfQfQM{M|azj[azf6fQfQfQIpWXofj[ayj[j[fQayWCoeoeaya}j[ayfQa{oLj?j[WVj[ayayj[fQoff7azayj[ayj[j[ayofayayayj[fQj[ayayj[ayfjj[j[ayjuayj['; @@ -309,6 +329,19 @@ function ChromecastControls({ mediaStatus, client }: { mediaStatus: MediaStatus, contentFit="cover" transition={1000} /> + + + + + + )