diff --git a/js/ui.js b/js/ui.js index 8fb1cdd..78a0660 100644 --- a/js/ui.js +++ b/js/ui.js @@ -1344,6 +1344,30 @@ export class UIRenderer { updateFsVolumeUI(); }; + const handleFsVolumeWheel = (e) => { + e.preventDefault(); + + const delta = e.deltaY > 0 ? -0.05 : 0.05; + const currentVolume = this.player.userVolume; + const newVolume = Math.max(0, Math.min(1, currentVolume + delta)); + + if (delta > 0 && audioPlayer.muted) { + audioPlayer.muted = false; + localStorage.setItem('muted', false); + } + + this.player.setVolume(newVolume); + updateFsVolumeUI(); + }; + + [fsVolumeBar, fsVolumeBtn].forEach((el) => { + if (el._fsVolumeWheelHandler) { + el.removeEventListener('wheel', el._fsVolumeWheelHandler); + } + el._fsVolumeWheelHandler = handleFsVolumeWheel; + el.addEventListener('wheel', handleFsVolumeWheel, { passive: false }); + }); + const setFsVolume = (e) => { const rect = fsVolumeBar.getBoundingClientRect(); const position = Math.max(0, Math.min(1, (e.clientX - rect.left) / rect.width));