From 78eca5030aaf889d23208992fc84102171d1b74c Mon Sep 17 00:00:00 2001 From: stweedo <108593831+stweedo@users.noreply.github.com> Date: Sat, 28 Jun 2025 11:44:13 -0500 Subject: [PATCH] Update interface.html to add confirmation before track delete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of showing another popup for track delete confirmation, it now simply changes the button text to “Confirm Delete” for 3 seconds and a second tap will actually perform the delete. --- apps/recorder/interface.html | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/apps/recorder/interface.html b/apps/recorder/interface.html index 3426fd389..5b8ff0b88 100644 --- a/apps/recorder/interface.html +++ b/apps/recorder/interface.html @@ -829,11 +829,29 @@ ${trackData.Latitude ? ` switch(task) { case "delete": - Util.showModal(`Deleting ${filename}...`); - Util.eraseStorageFile(filename, () => { - Util.hideModal(); - getTrackList(); - }); + if (button.dataset.confirmDelete === "true") { + // Second click - proceed with deletion + Util.showModal(`Deleting ${filename}...`); + Util.eraseStorageFile(filename, () => { + Util.hideModal(); + getTrackList(); + }); + } else { + // First click - change to confirm state + const originalText = button.textContent; + button.textContent = "Confirm Delete"; + button.classList.add("btn-error"); + button.dataset.confirmDelete = "true"; + + // Reset after 3 seconds + setTimeout(() => { + if (button.dataset.confirmDelete === "true") { + button.textContent = originalText; + button.classList.remove("btn-error"); + delete button.dataset.confirmDelete; + } + }, 3000); + } break; case "downloadkml": downloadTrack(filename, track => saveKML(track, `Bangle.js Track ${trackid}`));