add recording, fix solpush, persistence tests and tiny improvements
This commit is contained in:
@@ -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();
|
||||
});
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user