import { useEffect, useState } from 'react'; import { X, Download, Loader2 } from 'lucide-react'; import { Button } from '@/components/ui/button'; import type { ExportProgress } from '@/lib/exporter'; interface ExportDialogProps { isOpen: boolean; onClose: () => void; progress: ExportProgress | null; isExporting: boolean; error: string | null; onCancel?: () => void; } export function ExportDialog({ isOpen, onClose, progress, isExporting, error, onCancel, }: ExportDialogProps) { const [showSuccess, setShowSuccess] = useState(false); useEffect(() => { if (!isExporting && progress && progress.percentage >= 100 && !error) { setShowSuccess(true); const timer = setTimeout(() => { setShowSuccess(false); onClose(); }, 2000); return () => clearTimeout(timer); } }, [isExporting, progress, error, onClose]); if (!isOpen) return null; return ( <>
{error}
Video saved successfully!