fix(modals): keep restored settings and theme windows open (#6924)

* fix(modals): keep restored settings and theme windows open

* fix(theme): cancel closing on a rapid toggle reopen

* test: isolate photo routing from external MCP registry state

* fix(cache): preserve the upstream editor worker key format
This commit is contained in:
red person
2026-11-03 00:37:38 +00:00
committed by GitHub
parent 3efbecd50a
commit b7ab0a37c1
8 changed files with 199 additions and 38 deletions
+8 -20
View File
@@ -6,6 +6,8 @@
import { makeWindowDraggable } from '../windowDrag.js';
import { clearDockSide } from '../modalSnap.js';
import { toggle as restoreMinimizedModal } from '../modalManager.js';
import { showModal, hideModal } from '../modalVisibility.js';
const _dragBound = new WeakSet();
const _closeBound = new WeakSet();
@@ -147,30 +149,16 @@ export function bindSettingsClose(modalEl, options = {}) {
export function showSettingsModal(modalEl) {
if (!modalEl) return;
if (restoreMinimizedModal(modalEl.id)) {
showModal(modalEl);
return;
}
if (modalEl.classList.contains('hidden')) {
resetSettingsWindowPlacement(modalEl);
}
modalEl.classList.remove('hidden');
showModal(modalEl);
}
export function hideSettingsModal(modalEl) {
if (!modalEl) return;
const content = modalEl.querySelector('.modal-content, .settings-modal-content');
if (content && !content.classList.contains('modal-closing')) {
content.classList.add('modal-closing');
content.addEventListener('animationend', () => {
modalEl.classList.add('hidden');
content.classList.remove('modal-closing');
}, { once: true });
setTimeout(() => {
if (!modalEl.classList.contains('hidden')) {
modalEl.classList.add('hidden');
content.classList.remove('modal-closing');
}
}, 250);
return;
}
modalEl.classList.add('hidden');
hideModal(modalEl);
}