56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
(() => {
|
|
const titles = {
|
|
"scene-details": "Manage scene details",
|
|
purpose: "Manage purpose",
|
|
metrics: "Manage metrics",
|
|
threads: "Manage threads",
|
|
characters: "Manage characters",
|
|
knowledge: "Manage knowledge",
|
|
relationships: "Manage relationships",
|
|
locations: "Manage locations",
|
|
assets: "Manage assets",
|
|
custody: "Manage custody",
|
|
notes: "Manage notes",
|
|
checklist: "Manage checklist",
|
|
attachments: "Manage attachments",
|
|
warnings: "Review warnings"
|
|
};
|
|
|
|
document.addEventListener("click", event => {
|
|
const openButton = event.target.closest("[data-scene-editor]");
|
|
if (openButton) {
|
|
const root = openButton.closest("[data-scene-inspector-v2]");
|
|
const overlay = root?.querySelector("[data-scene-editor-overlay]");
|
|
if (!overlay) {
|
|
return;
|
|
}
|
|
|
|
const key = openButton.dataset.sceneEditor;
|
|
const title = overlay.querySelector("[data-scene-editor-title]");
|
|
const body = overlay.querySelector("[data-scene-editor-body]");
|
|
if (title) {
|
|
title.textContent = titles[key] || "Focused editor";
|
|
}
|
|
if (body) {
|
|
body.textContent = "";
|
|
}
|
|
overlay.hidden = false;
|
|
overlay.setAttribute("aria-hidden", "false");
|
|
root.classList.add("editor-overlay-open");
|
|
overlay.querySelector("[data-scene-editor-close]")?.focus();
|
|
return;
|
|
}
|
|
|
|
const closeButton = event.target.closest("[data-scene-editor-close]");
|
|
if (closeButton) {
|
|
const overlay = closeButton.closest("[data-scene-editor-overlay]");
|
|
const root = closeButton.closest("[data-scene-inspector-v2]");
|
|
if (overlay) {
|
|
overlay.hidden = true;
|
|
overlay.setAttribute("aria-hidden", "true");
|
|
}
|
|
root?.classList.remove("editor-overlay-open");
|
|
}
|
|
});
|
|
})();
|