commit 16ce90f7b93a94e4dc155c22c0ce664418fffdbc
parent 48ebfc9de83ddc96f252cc2dcb8168e96afa99fc
Author: Hunter
Date:   Tue, 28 Oct 2025 13:44:30 -0400

support dragging progress bar on mobile

Diffstat:
Mscript.js | 11++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/script.js b/script.js @@ -248,7 +248,9 @@ function updateVisualProgress(event) { if (!playerReady) return; const rect = progressBar.getBoundingClientRect(); - const clickPosition = event.clientX - rect.left; + // Support both mouse and touch events + const clientX = event.touches ? event.touches[0].clientX : event.clientX; + const clickPosition = clientX - rect.left; const clickPercentage = Math.max(0, Math.min(1, clickPosition / rect.width)); progressBar.style.setProperty('--progress', `${clickPercentage * 100}%`); @@ -319,10 +321,17 @@ function onProgressMouseUp(event) { playPauseBtn.addEventListener('click', togglePlayPause); nextBtn.addEventListener('click', nextSong); prevBtn.addEventListener('click', prevSong); + +// Mouse events for desktop progressContainer.addEventListener('mousedown', onProgressMouseDown); document.addEventListener('mousemove', onProgressMouseMove); document.addEventListener('mouseup', onProgressMouseUp); +// Touch events for mobile +progressContainer.addEventListener('touchstart', onProgressMouseDown, { passive: false }); +document.addEventListener('touchmove', onProgressMouseMove, { passive: false }); +document.addEventListener('touchend', onProgressMouseUp); + // Keyboard controls document.addEventListener('keydown', function(event) { if (!playerReady) return;