"use client" import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogTitle, } from "@/components/ui/alert-dialog" import { Alert, AlertDescription, AlertTitle } from "@/components/reui/alert" import type { Backup } from "@/lib/data" import { AlertCircleIcon, LoaderCircleIcon, TriangleAlertIcon } from "lucide-react" export function BackupDeleteDialog({ backup, busy, onConfirm, onCancel, }: { backup: Backup | null busy: boolean onConfirm: () => void onCancel: () => void }) { return ( { if (!v && !busy) onCancel() }}> Удалить бэкап? Файл {backup?.filename} будет удалён {backup?.storage === "s3" || backup?.storage === "both" ? " локально и из S3" : " с диска"}. Отмена {busy ? : null} Удалить ) } export function BackupRestoreDialog({ backup, busy, onConfirm, onCancel, }: { backup: Backup | null busy: boolean onConfirm: () => void onCancel: () => void }) { return ( { if (!v && !busy) onCancel() }}> Восстановить конфигурацию? Файл {backup?.filename} будет загружен на {backup?.server} и импортирован. Это изменит рабочую конфигурацию роутера Сессия может оборваться. Убедитесь, что выбран именно этот сервер и этот снимок. Отмена {busy ? : null} Восстановить ) }