Enhance modal styles for better visibility and responsiveness; add initialization logic to sync modal state

This commit is contained in:
Will Miao
2025-03-06 18:37:13 +08:00
parent cfcc954ffe
commit 5c521e40d4
2 changed files with 76 additions and 14 deletions

View File

@@ -5,6 +5,29 @@ export class SettingsManager {
constructor() {
this.initialized = false;
this.isOpen = false;
// Add initialization to sync with modal state
this.initialize();
}
initialize() {
if (this.initialized) return;
// Add event listener to sync state when modal is closed via other means (like Escape key)
const settingsModal = document.getElementById('settingsModal');
if (settingsModal) {
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
this.isOpen = settingsModal.style.display === 'block';
}
});
});
observer.observe(settingsModal, { attributes: true });
}
this.initialized = true;
}
toggleSettings() {