-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsettings.js
54 lines (43 loc) · 1.38 KB
/
settings.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const settingsButton = document.getElementById("settingsButton");
const modal = document.getElementById("settingsModal");
const closeButton = document.querySelector(".close");
const volumeInput = document.getElementById("volume");
let isSettingsOpen = false;
settingsButton.addEventListener("click", toggleSettings);
closeButton.addEventListener("click", closeSettings);
document.addEventListener("keydown", handleKeyPress);
function toggleSettings() {
isSettingsOpen = !isSettingsOpen;
if (isSettingsOpen) {
openSettings();
} else {
closeSettings();
applySettings();
}
}
function openSettings() {
modal.style.display = "block";
const overlay = document.getElementById("overlay");
}
function closeSettings() {
isSettingsOpen = false;
modal.style.display = "none";
const overlay = document.getElementById("overlay");
overlay.style.display = "none";
}
function handleKeyPress(event) {
if (event.key === "Escape" && isSettingsOpen) {
closeSettings();
applySettings();
}
}
function updateVolume() {
const volume = volumeInput.value / 100;
const sources = document.querySelectorAll("audio");
sources.forEach(source => {
const gainNode = audioContext.createGain();
source.connect(gainNode);
gainNode.connect(audioContext.destination);
gainNode.gain.value = volume;
});
}