"use client" import {useState} from "react" import {Loader2} from "lucide-react" import { AlertDialog, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "@/components/ui/alert-dialog" import {Button} from "@/components/ui/button" import {Input} from "@/components/ui/input" import {Label} from "@/components/ui/label" interface CleanupDialogProps { open: boolean onOpenChange: (open: boolean) => void onConfirm: (keepCount: number) => void loading: boolean } export function CleanupDialog({ open, onOpenChange, onConfirm, loading, }: CleanupDialogProps) { const [keepCount, setKeepCount] = useState(10) const [error, setError] = useState(null) const handleConfirm = () => { if (keepCount < 3) { setError("最少保留 3 个历史快照") return } setError(null) onConfirm(keepCount) } return ( 清理历史快照 删除旧的历史快照配置,系统将始终保护当前已激活的版本不被删除。
setKeepCount(Number.parseInt(e.target.value, 10) || 3)} disabled={loading} />

默认为 10 个,最少需保留 3 个。

{error ?

{error}

: null}
取消
) }