File size: 1,966 Bytes
b5ba7a5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
/**
* Floating window setup
*/
document.querySelectorAll(".floating-window").forEach(
/**
* Runs for each floating window
*
* @param {HTMLDivElement} w
*/
(w) => {
makeDraggable(w);
w.addEventListener(
"wheel",
(e) => {
e.stopPropagation();
},
{passive: false}
);
w.addEventListener(
"click",
(e) => {
e.stopPropagation();
},
{passive: false}
);
}
);
/**
* Collapsible element setup
*/
var coll = document.getElementsByClassName("collapsible");
for (var i = 0; i < coll.length; i++) {
let active = false;
coll[i].addEventListener("click", function () {
var content = this.nextElementSibling;
if (!active) {
this.classList.add("active");
content.classList.add("active");
} else {
this.classList.remove("active");
content.classList.remove("active");
}
const observer = new ResizeObserver(() => {
if (active) content.style.maxHeight = content.scrollHeight + "px";
});
Array.from(content.querySelectorAll("*")).forEach((child) => {
observer.observe(child);
});
if (active) {
content.style.maxHeight = null;
active = false;
} else {
content.style.maxHeight = content.scrollHeight + "px";
active = true;
}
});
}
/**
* Prompt history setup
*/
const _promptHistoryEl = document.getElementById("prompt-history");
const _promptHistoryBtn = document.getElementById("prompt-history-btn");
_promptHistoryEl.addEventListener("mouseleave", () => {
_promptHistoryEl.classList.remove("expanded");
});
_promptHistoryBtn.addEventListener("click", () =>
_promptHistoryEl.classList.toggle("expanded")
);
/**
* Settings overlay setup
*/
document.getElementById("settings-btn").addEventListener("click", () => {
document.getElementById("page-overlay-wrapper").classList.toggle("invisible");
});
document.getElementById("settings-btn-close").addEventListener("click", () => {
document.getElementById("page-overlay-wrapper").classList.toggle("invisible");
});
|