diff --git a/AppImage/components/backup-storage-retention.tsx b/AppImage/components/backup-storage-retention.tsx index f27ae046..4d15c6a5 100644 --- a/AppImage/components/backup-storage-retention.tsx +++ b/AppImage/components/backup-storage-retention.tsx @@ -23,6 +23,7 @@ export function BackupStorageRetention() { const [editing, setEditing] = useState(null) const [fields, setFields] = useState>({}) const [keepAll, setKeepAll] = useState(false) + const [useDefault, setUseDefault] = useState(false) const [busy, setBusy] = useState(false) const [message, setMessage] = useState("") const [saveError, setSaveError] = useState("") @@ -30,7 +31,8 @@ export function BackupStorageRetention() { function edit(storage: StorageRetention) { const policy = parseRetention(storage.prune_backups) setFields(policy.fields) - setKeepAll(policy.keepAll || !storage.prune_backups) + setKeepAll(policy.keepAll) + setUseDefault(!storage.prune_backups) setSaveError("") setMessage("") setEditing(storage) @@ -38,8 +40,8 @@ export function BackupStorageRetention() { async function save() { if (!editing || busy) return - const prune = buildRetention(fields, keepAll) - if (!prune) return setSaveError(t("backup.storageRetention.choosePolicy")) + const prune = useDefault ? "" : buildRetention(fields, keepAll) + if (!useDefault && !prune) return setSaveError(t("backup.storageRetention.choosePolicy")) setBusy(true) setSaveError("") try { @@ -79,14 +81,18 @@ export function BackupStorageRetention() { {t("backup.storageRetention.editTitle", { storage: editing?.id ?? "" })} {t("backup.storageRetention.effect")} -