import React, { useEffect, useState } from 'react' export default function UploadActions({ step = 1, canStart = false, canContinue = false, canPublish = false, canGoBack = false, canReset = true, canCancel = false, canRetry = false, isUploading = false, isProcessing = false, isPublishing = false, isCancelling = false, disableReason = 'Complete required fields', onStart, onContinue, onPublish, onBack, onCancel, onReset, onRetry, onSaveDraft, showSaveDraft = false, mobileSticky = true, resetLabel = 'Reset', }) { const [confirmCancel, setConfirmCancel] = useState(false) useEffect(() => { if (!confirmCancel) return const timer = window.setTimeout(() => setConfirmCancel(false), 3200) return () => window.clearTimeout(timer) }, [confirmCancel]) const handleCancel = () => { if (!canCancel || isCancelling) return if (!confirmCancel) { setConfirmCancel(true) return } setConfirmCancel(false) onCancel?.() } const renderPrimary = () => { if (step === 1) { const disabled = !canStart || isUploading || isProcessing || isCancelling const label = isUploading ? 'Uploading…' : isProcessing ? 'Processing…' : 'Start upload' return ( ) } if (step === 2) { const disabled = !canContinue return ( ) } const disabled = !canPublish || isPublishing return ( ) } return ( ) }