import { useEffect } from "react"; import { CheckCircle, Loader2, AlertCircle } from "lucide-react"; import { useTranslation } from "react-i18next"; interface ImportProgressModalProps { status: "importing" | "success" | "error"; message?: string; backupId?: string; onComplete?: () => void; onSuccess?: () => void; } export function ImportProgressModal({ status, message, backupId, onComplete, onSuccess, }: ImportProgressModalProps) { const { t } = useTranslation(); useEffect(() => { if (status === "success") { console.log( "[ImportProgressModal] Success detected, starting 2 second countdown", ); // 成功后等待2秒自动关闭并刷新数据 const timer = setTimeout(() => { console.log( "[ImportProgressModal] 2 seconds elapsed, calling callbacks...", ); if (onSuccess) { onSuccess(); } if (onComplete) { onComplete(); } }, 2000); return () => { console.log("[ImportProgressModal] Cleanup timer"); clearTimeout(timer); }; } }, [status, onComplete, onSuccess]); return (
{t("common.loading")}
> )} {status === "success" && ( <>{t("settings.backupId")}: {backupId}
)}{t("settings.autoReload")}
> )} {status === "error" && ( <>{message || t("settings.configCorrupted")}
> )}