add recording, fix solpush, persistence tests and tiny improvements

This commit is contained in:
KingKDot
2026-06-02 17:18:46 -05:00
parent 7f0a7b1d91
commit 146626ec0d
23 changed files with 1508 additions and 57 deletions
@@ -1,19 +1,40 @@
(function () {
const btn = document.getElementById("rdSettingsBtn");
const menu = document.getElementById("rdSettingsMenu");
const wrap = document.getElementById("rdSettingsWrap");
if (!btn || !menu || !wrap) return;
function setOpen(open) {
menu.classList.toggle("hidden", !open);
btn.setAttribute("aria-expanded", open ? "true" : "false");
const menus = [
{
btn: document.getElementById("rdRecordingSettingsBtn"),
menu: document.getElementById("rdRecordingSettingsMenu"),
wrap: document.getElementById("rdRecordingSettingsWrap"),
},
{
btn: document.getElementById("rdSettingsBtn"),
menu: document.getElementById("rdSettingsMenu"),
wrap: document.getElementById("rdSettingsWrap"),
},
].filter((item) => item.btn && item.menu && item.wrap);
function setOpen(item, open) {
item.menu.classList.toggle("hidden", !open);
item.btn.setAttribute("aria-expanded", open ? "true" : "false");
}
btn.addEventListener("click", (e) => {
e.stopPropagation();
setOpen(menu.classList.contains("hidden"));
});
menu.addEventListener("click", (e) => e.stopPropagation());
document.addEventListener("click", () => setOpen(false));
function closeAll(except) {
for (const item of menus) {
if (item !== except) setOpen(item, false);
}
}
for (const item of menus) {
item.btn.addEventListener("click", (e) => {
e.stopPropagation();
const nextOpen = item.menu.classList.contains("hidden");
closeAll(item);
setOpen(item, nextOpen);
});
item.menu.addEventListener("click", (e) => e.stopPropagation());
}
document.addEventListener("click", () => closeAll());
document.addEventListener("keydown", (e) => {
if (e.key === "Escape") setOpen(false);
if (e.key === "Escape") closeAll();
});
})();