@@ -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