Merge pull request #284 from willianpm/feature/fullscreen-volume-wheel

feat: add mouse wheel support for fullscreen volume control
This commit is contained in:
edideaur 2026-03-08 13:52:23 +02:00 committed by GitHub
commit 9e280f6094
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

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