From 090dea046aeaec6e55ba0252307ce6a18370dd26 Mon Sep 17 00:00:00 2001 From: Ryan Feigenbaum Date: Wed, 9 Aug 2023 12:32:36 -0400 Subject: [PATCH] fix progress --- assets/js/app/playlist.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/assets/js/app/playlist.js b/assets/js/app/playlist.js index 99462a3b..b444a94c 100644 --- a/assets/js/app/playlist.js +++ b/assets/js/app/playlist.js @@ -11,6 +11,7 @@ export default function createPlaylist() { const coverArtcontainer = document.querySelector('.sm-playlist-cover-art'); let nIntervId; let prevSong; + let isPlaying = false; const tag = document.createElement('script'); tag.src = 'https://www.youtube.com/iframe_api'; @@ -116,7 +117,10 @@ export default function createPlaylist() { }); function showSongProgress() { - handleSongProgress(player, parseSeconds); + if (isPlaying) { + handleSongProgress(player, parseSeconds); + window.requestAnimationFrame(showSongProgress); + } } function onPlayerReady() { @@ -151,10 +155,12 @@ export default function createPlaylist() { function onPlayerStateChange(event) { if (event.data === 2) { + isPlaying = false; window.cancelAnimationFrame(nIntervId); setSongState(false); } else if (event.data === 1) { + isPlaying = true; setSongState(true, player); if (nIntervId) { @@ -167,6 +173,7 @@ export default function createPlaylist() { prevSong.parentElement.classList.remove('sm-active'); } } else { + isPlaying = false; window.cancelAnimationFrame(nIntervId); } }