From ecb9b901639ab1a284dc289db3befd59bfd14736 Mon Sep 17 00:00:00 2001 From: herrrta <73949927+herrrta@users.noreply.github.com> Date: Sat, 15 Feb 2025 12:51:55 -0500 Subject: [PATCH] fix: Stop playback when gesture navigating back --- app/(auth)/player/direct-player.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/(auth)/player/direct-player.tsx b/app/(auth)/player/direct-player.tsx index d36c9f4c..51a5f54d 100644 --- a/app/(auth)/player/direct-player.tsx +++ b/app/(auth)/player/direct-player.tsx @@ -27,7 +27,7 @@ import { } from "@jellyfin/sdk/lib/utils/api"; import { useQuery } from "@tanstack/react-query"; import { useHaptic } from "@/hooks/useHaptic"; -import { useFocusEffect, useGlobalSearchParams } from "expo-router"; +import { useGlobalSearchParams, useNavigation } from "expo-router"; import { useAtomValue } from "jotai"; import React, { useCallback, @@ -54,6 +54,7 @@ export default function page() { const user = useAtomValue(userAtom); const api = useAtomValue(apiAtom); const { t } = useTranslation(); + const navigation = useNavigation(); const [isPlaybackStopped, setIsPlaybackStopped] = useState(false); const [showControls, _setShowControls] = useState(true); @@ -396,6 +397,13 @@ export default function page() { const insets = useSafeAreaInsets(); + useEffect(() => { + const beforeRemoveListener = navigation.addListener('beforeRemove', stop); + return () => { + beforeRemoveListener(); + }; + }, [navigation]); + if (!item || isLoadingItem || isLoadingStreamUrl || !stream) return (