cleanup & sync summary

This commit is contained in:
olcxja 2026-10-19 09:26:02 +02:00
commit be4f67fb60
17 changed files with 637 additions and 207 deletions

View file

@ -131,15 +131,17 @@ function createPrefix(name) {
async function deletePrefix(name, onProgress) {
if (String(name).toLowerCase() === MAIN.toLowerCase()) return { ok: false, error: 'isMain' }
const defs = listPrefixes()
defs.prefixes = defs.prefixes.filter(p => p.name !== name)
if (defs.default === name) defs.default = MAIN
savePrefixes(defs)
const emit = (phase, detail) => {
if (onProgress) onProgress({ phase, label: name, ...detail })
}
emit('count', { files: 0, bytes: 0 })
const total = await treeSize(prefixPath(name))
await removeTree(prefixPath(name), p => emit('remove', { files: p.files, bytes: p.bytes, totalFiles: total.files, totalBytes: total.bytes }))
// the registry forgets it only once the folder is gone, so an interrupted
// delete stays visible and can be retried
defs.prefixes = defs.prefixes.filter(p => p.name !== name)
if (defs.default === name) defs.default = MAIN
savePrefixes(defs)
return { ok: true }
}