settings: split danger zone into delete originals / delete all activities
Move "Delete original files" out of the Storage card and into the Danger zone as a first, less-destructive step (simple confirm, no password needed). "Delete all activity data" and "Delete account" follow below it, both still password-gated. Descriptions clarify exactly what each action does and does not remove.
This commit is contained in:
@@ -31,17 +31,6 @@ import Base from '../../layouts/Base.astro';
|
||||
<span id="st-total" class="text-white tabular-nums"></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Delete originals -->
|
||||
<div id="del-originals-area" class="mt-4 hidden">
|
||||
<p class="text-xs text-zinc-500 mb-3">
|
||||
Original files are kept for reprocessing. Once your activities look correct you can free this space — the extracted data is not affected.
|
||||
</p>
|
||||
<button id="del-originals-btn"
|
||||
class="px-4 py-2 rounded-lg text-sm bg-zinc-800 hover:bg-amber-900 hover:text-amber-300 text-zinc-300 transition-colors">
|
||||
Delete original files
|
||||
</button>
|
||||
<p id="del-originals-status" class="text-xs mt-2 hidden"></p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Profile card -->
|
||||
@@ -141,10 +130,21 @@ import Base from '../../layouts/Base.astro';
|
||||
<section class="rounded-xl bg-zinc-900 border border-red-900/40 p-5">
|
||||
<h2 class="text-sm font-semibold text-red-400/70 uppercase tracking-wider mb-4">Danger zone</h2>
|
||||
|
||||
<!-- Delete activities -->
|
||||
<!-- Delete original files -->
|
||||
<div class="mb-5">
|
||||
<p class="text-sm text-zinc-300 font-medium mb-1">Reset activity data</p>
|
||||
<p class="text-xs text-zinc-500 mb-3">Wipes all extracted activities, edits, and photos. Your account is kept. Cannot be undone.</p>
|
||||
<p class="text-sm text-zinc-300 font-medium mb-1">Delete original files</p>
|
||||
<p class="text-xs text-zinc-500 mb-3">Removes the raw source files kept for reprocessing (originals/). Your extracted activities, edits, and photos are not affected.</p>
|
||||
<button id="del-originals-btn"
|
||||
class="px-4 py-2 rounded-lg text-sm bg-zinc-800 hover:bg-amber-900 hover:text-amber-300 text-zinc-400 transition-colors">
|
||||
Delete original files
|
||||
</button>
|
||||
<p id="del-originals-status" class="text-xs mt-2 hidden"></p>
|
||||
</div>
|
||||
|
||||
<!-- Delete all activity data -->
|
||||
<div class="border-t border-zinc-800 pt-5 mb-5">
|
||||
<p class="text-sm text-zinc-300 font-medium mb-1">Delete all activity data</p>
|
||||
<p class="text-xs text-zinc-500 mb-3">Wipes all extracted activities, edits, and photos. Your account and original files are kept. Cannot be undone.</p>
|
||||
<button id="del-activities-btn"
|
||||
class="px-4 py-2 rounded-lg text-sm bg-zinc-800 hover:bg-red-900 hover:text-red-300 text-zinc-400 transition-colors">
|
||||
Delete all activities
|
||||
@@ -218,10 +218,6 @@ import Base from '../../layouts/Base.astro';
|
||||
document.getElementById('st-strava-row')!.classList.remove('hidden');
|
||||
}
|
||||
|
||||
if (d.originals_mb > 0) {
|
||||
document.getElementById('del-originals-area')!.classList.remove('hidden');
|
||||
}
|
||||
|
||||
loading.classList.add('hidden');
|
||||
content.classList.remove('hidden');
|
||||
} catch (e: any) {
|
||||
@@ -240,7 +236,8 @@ import Base from '../../layouts/Base.astro';
|
||||
const d = await r.json();
|
||||
if (r.ok) {
|
||||
setStatus(statusEl, `Freed ${fmtMb(d.freed_mb)}.`, true);
|
||||
btn.closest('div')!.querySelector('button')!.remove();
|
||||
btn.disabled = true;
|
||||
btn.textContent = 'Already deleted';
|
||||
loadStorage();
|
||||
} else {
|
||||
btn.disabled = false;
|
||||
|
||||
Reference in New Issue
Block a user