import { X } from "lucide-react"; import { useTranslation } from "react-i18next"; import type { ImportPreview } from "../context/AppContext"; import { useEscapeKey } from "../hooks/useEscapeKey"; import { useScrollLock } from "../hooks/useScrollLock"; interface ImportReviewModalProps { isOpen: boolean; importPreview: ImportPreview | null; formattedExportedAt: string; importing: boolean; exporting: boolean; onClose: () => void; onBackup: () => void; onConfirm: () => void; } export function ImportReviewModal({ isOpen, importPreview, formattedExportedAt, importing, exporting, onClose, onBackup, onConfirm, }: ImportReviewModalProps) { const { t } = useTranslation(); const titleId = "import-review-modal-title"; const hasExistingData = importPreview?.warnings.replacesExistingData ?? false; const hasWarnings = Boolean( importPreview?.warnings.replacesExistingData || importPreview?.warnings.regeneratesShareLinks || importPreview?.warnings.containsImages || importPreview?.warnings.containsSensitiveData ); useScrollLock(isOpen); useEscapeKey(isOpen, onClose); if (!isOpen || !importPreview) { return null; } return (
{t(hasExistingData ? "exportImport.reviewDescription" : "exportImport.reviewDescriptionEmpty")}
{t("exportImport.confirmImportWarning")}
) : ({t("exportImport.confirmImportEmptyMessage")}
)}{t("exportImport.backupHint")}