Fixed Ducking. Refined UI.
This commit is contained in:
@@ -286,6 +286,7 @@ class OptionsUIModule extends BaseModule {
|
||||
const masterVolumeValue = document.createElement('span');
|
||||
masterVolumeValue.className = 'slider-value';
|
||||
masterVolumeValue.textContent = '100%';
|
||||
this.elements.masterVolumeValue = masterVolumeValue;
|
||||
masterVolumeContainer.appendChild(masterVolumeValue);
|
||||
|
||||
this.elements.masterVolume = createUIElement('input', {
|
||||
@@ -299,7 +300,7 @@ class OptionsUIModule extends BaseModule {
|
||||
|
||||
// Update displayed value when slider changes
|
||||
this.elements.masterVolume.addEventListener('input', () => {
|
||||
masterVolumeValue.textContent = `${this.elements.masterVolume.value}%`;
|
||||
this.elements.masterVolumeValue.textContent = `${this.elements.masterVolume.value}%`;
|
||||
});
|
||||
|
||||
audioSection.appendChild(masterVolumeContainer);
|
||||
@@ -315,6 +316,7 @@ class OptionsUIModule extends BaseModule {
|
||||
const ttsVolumeValue = document.createElement('span');
|
||||
ttsVolumeValue.className = 'slider-value';
|
||||
ttsVolumeValue.textContent = '100%';
|
||||
this.elements.ttsVolumeValue = ttsVolumeValue;
|
||||
ttsVolumeContainer.appendChild(ttsVolumeValue);
|
||||
|
||||
this.elements.ttsVolume = createUIElement('input', {
|
||||
@@ -328,7 +330,7 @@ class OptionsUIModule extends BaseModule {
|
||||
|
||||
// Update displayed value when slider changes
|
||||
this.elements.ttsVolume.addEventListener('input', () => {
|
||||
ttsVolumeValue.textContent = `${this.elements.ttsVolume.value}%`;
|
||||
this.elements.ttsVolumeValue.textContent = `${this.elements.ttsVolume.value}%`;
|
||||
});
|
||||
|
||||
audioSection.appendChild(ttsVolumeContainer);
|
||||
@@ -344,6 +346,7 @@ class OptionsUIModule extends BaseModule {
|
||||
const musicVolumeValue = document.createElement('span');
|
||||
musicVolumeValue.className = 'slider-value';
|
||||
musicVolumeValue.textContent = '100%';
|
||||
this.elements.musicVolumeValue = musicVolumeValue;
|
||||
musicVolumeContainer.appendChild(musicVolumeValue);
|
||||
|
||||
this.elements.musicVolume = createUIElement('input', {
|
||||
@@ -357,7 +360,7 @@ class OptionsUIModule extends BaseModule {
|
||||
|
||||
// Update displayed value when slider changes
|
||||
this.elements.musicVolume.addEventListener('input', () => {
|
||||
musicVolumeValue.textContent = `${this.elements.musicVolume.value}%`;
|
||||
this.elements.musicVolumeValue.textContent = `${this.elements.musicVolume.value}%`;
|
||||
});
|
||||
|
||||
audioSection.appendChild(musicVolumeContainer);
|
||||
@@ -373,6 +376,7 @@ class OptionsUIModule extends BaseModule {
|
||||
const sfxVolumeValue = document.createElement('span');
|
||||
sfxVolumeValue.className = 'slider-value';
|
||||
sfxVolumeValue.textContent = '100%';
|
||||
this.elements.sfxVolumeValue = sfxVolumeValue;
|
||||
sfxVolumeContainer.appendChild(sfxVolumeValue);
|
||||
|
||||
this.elements.sfxVolume = createUIElement('input', {
|
||||
@@ -386,7 +390,7 @@ class OptionsUIModule extends BaseModule {
|
||||
|
||||
// Update displayed value when slider changes
|
||||
this.elements.sfxVolume.addEventListener('input', () => {
|
||||
sfxVolumeValue.textContent = `${this.elements.sfxVolume.value}%`;
|
||||
this.elements.sfxVolumeValue.textContent = `${this.elements.sfxVolume.value}%`;
|
||||
});
|
||||
|
||||
audioSection.appendChild(sfxVolumeContainer);
|
||||
@@ -839,6 +843,7 @@ class OptionsUIModule extends BaseModule {
|
||||
this.bindings = persistenceManager.setupBindings('#options-modal');
|
||||
console.log('Options UI: Preference bindings set up', this.bindings.length);
|
||||
this.updateSpeedDisplay();
|
||||
this.updateVolumeDisplays();
|
||||
|
||||
// Add event listeners for side effects when preferences change
|
||||
document.addEventListener('preference-updated', (event) => {
|
||||
@@ -929,6 +934,21 @@ class OptionsUIModule extends BaseModule {
|
||||
|
||||
this.elements.ttsSpeedValue.textContent = `${this.elements.ttsSpeed.value}%`;
|
||||
}
|
||||
|
||||
updateVolumeDisplays() {
|
||||
if (this.elements.masterVolume && this.elements.masterVolumeValue) {
|
||||
this.elements.masterVolumeValue.textContent = `${this.elements.masterVolume.value}%`;
|
||||
}
|
||||
if (this.elements.ttsVolume && this.elements.ttsVolumeValue) {
|
||||
this.elements.ttsVolumeValue.textContent = `${this.elements.ttsVolume.value}%`;
|
||||
}
|
||||
if (this.elements.musicVolume && this.elements.musicVolumeValue) {
|
||||
this.elements.musicVolumeValue.textContent = `${this.elements.musicVolume.value}%`;
|
||||
}
|
||||
if (this.elements.sfxVolume && this.elements.sfxVolumeValue) {
|
||||
this.elements.sfxVolumeValue.textContent = `${this.elements.sfxVolume.value}%`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create the singleton instance
|
||||
|
||||
Reference in New Issue
Block a user