import { Audio, AVPlaybackStatus, ResizeMode, Video } from "expo-av"; import { Image } from "expo-image"; import { Stack, useLocalSearchParams, useRouter } from "expo-router"; import React, { useEffect, useRef, useState } from "react"; import { Dimensions, StyleSheet, Text, TouchableOpacity, View, } from "react-native"; import { useSafeAreaInsets } from "react-native-safe-area-context"; import LotteryGrid from "./components/LotteryGrid"; import LotteryReel from "./components/LotteryReel"; import { Images } from "@/constants/images"; import services from "@/services/api"; const { width: SCREEN_WIDTH } = Dimensions.get("window"); // Sound URL from Uniapp config const SOUND_URL = "https://cdn.acefig.com/kai_xin_ma_te/resource/magic/lottery.mp3"; const DEFAULT_JACKPOT_VIDEO = "https://cdn.acefig.com/kai_xin_ma_te/supermart/box/lottery/jackpot.mp4"; export default function LotteryScreen() { const router = useRouter(); const params = useLocalSearchParams(); const insets = useSafeAreaInsets(); const num = Number(params.num) || 1; const isGrid = num >= 10; const tradeNo = params.tradeNo as string; const poolId = params.poolId as string; const [results, setResults] = useState([]); const [pool, setPool] = useState([]); const [loading, setLoading] = useState(true); const [sound, setSound] = useState(); const [animationFinished, setAnimationFinished] = useState(false); // Video state const [videoVisible, setVideoVisible] = useState(false); const [videoUrl, setVideoUrl] = useState(""); const videoRef = useRef