From e0aa40eea05c0dd6295818a09aa209c9f1884baf Mon Sep 17 00:00:00 2001 From: zimplexing Date: Wed, 16 Jul 2025 21:26:37 +0800 Subject: [PATCH] feat: enhance PlayScreen and VideoCard with improved video loading and app state handling; update player store for better episode management --- app/play.tsx | 35 ++++++++++++---- components/VideoCard.tv.tsx | 5 +-- stores/authStore.ts | 2 +- stores/detailStore.ts | 2 +- stores/homeStore.ts | 2 +- stores/playerStore.ts | 80 +++++++++++++++++++++++++------------ stores/settingsStore.ts | 3 +- 7 files changed, 88 insertions(+), 41 deletions(-) diff --git a/app/play.tsx b/app/play.tsx index 0e4a526..52a5fef 100644 --- a/app/play.tsx +++ b/app/play.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useRef } from "react"; -import { StyleSheet, TouchableOpacity, ActivityIndicator, BackHandler } from "react-native"; +import { StyleSheet, TouchableOpacity, ActivityIndicator, BackHandler, AppState, AppStateStatus } from "react-native"; import { useLocalSearchParams, useRouter } from "expo-router"; import { Video, ResizeMode } from "expo-av"; import { useKeepAwake } from "expo-keep-awake"; @@ -13,7 +13,7 @@ import { LoadingOverlay } from "@/components/LoadingOverlay"; import useDetailStore from "@/stores/detailStore"; import { useTVRemoteHandler } from "@/hooks/useTVRemoteHandler"; import Toast from "react-native-toast-message"; -import usePlayerStore from "@/stores/playerStore"; +import usePlayerStore, { selectCurrentEpisode } from "@/stores/playerStore"; export default function PlayScreen() { const videoRef = useRef