import { useCallback, useEffect, useRef, useState } from 'react'; import { X } from 'lucide-react'; import type { AutoplayPayload } from '@/lib/autoplay-ipc'; export function AutoplayApp() { const [payload, setPayload] = useState(null); const mediaRef = useRef(null); useEffect(() => { return window.electronAutoplay.onPlay((p) => setPayload(p)); }, []); useEffect(() => { return window.electronAutoplay.onStop(() => { mediaRef.current?.pause(); setPayload(null); }); }, []); const stop = useCallback(() => { mediaRef.current?.pause(); setPayload(null); window.electronAutoplay.dismiss(); }, []); if (!payload) { return
; } const isVideo = payload.mimeType.startsWith('video/'); const handleClick = () => { mediaRef.current?.pause(); window.electronAutoplay.navigate({ networkId: payload.networkId, streamId: payload.streamId, }); }; const handleClose = (e: React.MouseEvent) => { e.stopPropagation(); stop(); }; return (
{isVideo ? ( <>
); }