import { ArrowRight, CheckCircle2, Cloud, ExternalLink, RefreshCw } from 'lucide-react' import clsx from 'clsx' export default function VercelSyncForm({ t, syncStatus, pollPaused, pollFailures, onManualRefresh, preconfig, vercelToken, setVercelToken, projectId, setProjectId, teamId, setTeamId, saveCredentials, setSaveCredentials, configSource, onConfigSourceChange, localConfig, localConfigName, localConfigError, onLocalConfigSelect, onLocalConfigClear, loading, onSync, }) { return (

{t('vercel.title')}

{syncStatus && (
{syncStatus.synced ? t('vercel.statusSynced') : syncStatus.has_synced_before ? t('vercel.statusNotSynced') : t('vercel.statusNeverSynced')}
)}

{t('vercel.description')}

{pollPaused && (

{t('vercel.pollPaused', { count: pollFailures })}

)} {syncStatus?.last_sync_time && (

{t('vercel.lastSyncTime', { time: new Date(syncStatus.last_sync_time * 1000).toLocaleString() })}

)} {syncStatus?.draft_differs && (

{t('vercel.draftDiffers')}

)}
{configSource === 'local' && (
onLocalConfigSelect(e.target.files?.[0])} className="block w-full text-sm file:mr-3 file:py-2 file:px-3 file:rounded-lg file:border-0 file:bg-secondary file:text-secondary-foreground hover:file:bg-secondary/80" /> {localConfigName && (
{t('vercel.localConfigLoaded', { name: localConfigName })}
)} {!localConfig && !localConfigError && (

{t('vercel.localConfigHint')}

)} {localConfigError && (

{localConfigError}

)}
)}
setVercelToken(e.target.value)} /> {preconfig?.has_token && !vercelToken && (
)}
setProjectId(e.target.value)} />

{t('vercel.projectIdHint')}

setTeamId(e.target.value)} />

{t('vercel.redeployHint')}

) }