import { useState } from "react"; import { View } from "react-native"; import { EmptyState } from "../../components/EmptyState"; import { MediaVideoPlayer } from "../../components/MediaVideoPlayer"; import { VideoPreviewModal, type VideoPreviewSource } from "../../components/VideoPreviewModal"; import type { MediaVideoPreviewSource } from "../../lib/videoPreviewSource"; /** Uses the signed progressive URL directly; choosing a file never preloads its video bytes as text. */ export function WorkspaceFileVideoPreview(props: { readonly name: string; readonly thumbnailKey: string; readonly uri: string | null; readonly source: MediaVideoPreviewSource | null; readonly resolvePlaybackUri: () => Promise; readonly unavailable: boolean; }) { const [preview, setPreview] = useState(null); const uri = props.uri; if (props.unavailable) { return ( ); } return ( setPreview(props.source) } /> setPreview(null)} /> ); }