Fixed two way binding for speech button.
This commit is contained in:
+16
-1
@@ -82,7 +82,7 @@ class TTSPlayerModule extends BaseModule {
|
||||
}
|
||||
});
|
||||
|
||||
// Listen for TTS toggle events from UI
|
||||
// Listen for TTS toggle events from UI - support both event names
|
||||
this.addEventListener(document, 'tts:toggle', () => {
|
||||
this.toggle();
|
||||
// Dispatch state change event for UI to update
|
||||
@@ -91,6 +91,21 @@ class TTSPlayerModule extends BaseModule {
|
||||
}));
|
||||
});
|
||||
|
||||
// Also listen for ui:tts:toggle events (from the main UI)
|
||||
this.addEventListener(document, 'ui:tts:toggle', (event) => {
|
||||
// If we have explicit enabled value, use it instead of toggling
|
||||
if (event.detail && typeof event.detail.enabled === 'boolean') {
|
||||
this.enabled = event.detail.enabled;
|
||||
} else {
|
||||
this.toggle();
|
||||
}
|
||||
|
||||
// Dispatch state change event for UI to update
|
||||
document.dispatchEvent(new CustomEvent('tts:stateChange', {
|
||||
detail: { enabled: this.enabled, available: ttsFactory.ttsAvailable }
|
||||
}));
|
||||
});
|
||||
|
||||
// Listen for sentence ready events to preload TTS
|
||||
this.addEventListener(document, 'buffer:sentence', (event) => {
|
||||
if (event.detail && event.detail.sentence && this.enabled) {
|
||||
|
||||
@@ -269,6 +269,19 @@ class UIController extends BaseModule {
|
||||
}
|
||||
});
|
||||
|
||||
// Listen for TTS state changes (from options UI or TTS player)
|
||||
document.addEventListener('tts:stateChange', (event) => {
|
||||
if (event.detail && typeof event.detail.enabled === 'boolean') {
|
||||
this.ttsEnabled = event.detail.enabled;
|
||||
this.updateButtonStates();
|
||||
|
||||
// Ensure persistence is updated
|
||||
if (persistenceManager) {
|
||||
persistenceManager.updatePreference('tts', 'enabled', this.ttsEnabled);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Listen for TTS engine changes
|
||||
document.addEventListener('tts:engine:change', (event) => {
|
||||
// Update button states since TTS engine changed
|
||||
|
||||
Reference in New Issue
Block a user