Skip to content

Commit 2bc47cb

Browse files
committed
recorder: pull out confirmDelete()
1 parent 09b8324 commit 2bc47cb

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

apps/recorder/interface.html

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -855,6 +855,30 @@ <h2>Settings</h2>
855855
});
856856
}
857857

858+
async function confirmDelete(button, filenames) {
859+
if (button.dataset.confirmDelete === "true") {
860+
// Second click - proceed with deletion
861+
for(const filename of filenames)
862+
await deleteTrack(filename);
863+
getTrackList();
864+
} else {
865+
// First click - change to confirm state
866+
const originalText = button.textContent;
867+
button.textContent = "Confirm Delete";
868+
button.classList.add("btn-error");
869+
button.dataset.confirmDelete = "true";
870+
871+
// Reset after 3 seconds
872+
setTimeout(() => {
873+
if (button.dataset.confirmDelete === "true") {
874+
button.textContent = originalText;
875+
button.classList.remove("btn-error");
876+
delete button.dataset.confirmDelete;
877+
}
878+
}, 3000);
879+
}
880+
}
881+
858882
function attachTrackButtonListeners(container) {
859883
const buttons = container.querySelectorAll("button[task]");
860884

@@ -869,26 +893,7 @@ <h2>Settings</h2>
869893

870894
switch(task) {
871895
case "delete":
872-
if (button.dataset.confirmDelete === "true") {
873-
// Second click - proceed with deletion
874-
await deleteTrack(filename);
875-
getTrackList();
876-
} else {
877-
// First click - change to confirm state
878-
const originalText = button.textContent;
879-
button.textContent = "Confirm Delete";
880-
button.classList.add("btn-error");
881-
button.dataset.confirmDelete = "true";
882-
883-
// Reset after 3 seconds
884-
setTimeout(() => {
885-
if (button.dataset.confirmDelete === "true") {
886-
button.textContent = originalText;
887-
button.classList.remove("btn-error");
888-
delete button.dataset.confirmDelete;
889-
}
890-
}, 3000);
891-
}
896+
confirmDelete(button, [filename]);
892897
break;
893898
case "downloadkml":
894899
await downloadTracks([filename], track => saveKML(track, `Bangle.js Track ${trackid}`));

0 commit comments

Comments
 (0)