Co-authored-by: tobi <tobi.smethurst@protonmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/88 Co-authored-by: Zoë Bijl <moiety@noreply.codeberg.org> Co-committed-by: Zoë Bijl <moiety@noreply.codeberg.org>
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
import "packs/public-path";
|
|
import Rails from "@rails/ujs";
|
|
|
|
import loadKeyboardExtensions from "flavours/glitch/load_keyboard_extensions";
|
|
import { loadPolyfills } from "flavours/glitch/polyfills";
|
|
import "cocoon-js-vanilla";
|
|
|
|
function main() {
|
|
const toggleSidebar = () => {
|
|
const sidebar = document.querySelector(".sidebar ul");
|
|
const toggleButton = document.querySelector(".sidebar__toggle__icon");
|
|
|
|
if (sidebar.classList.contains("visible")) {
|
|
document.body.style.overflow = null;
|
|
toggleButton.setAttribute("aria-expanded", "false");
|
|
} else {
|
|
document.body.style.overflow = "hidden";
|
|
toggleButton.setAttribute("aria-expanded", "true");
|
|
}
|
|
|
|
toggleButton.classList.toggle("active");
|
|
sidebar.classList.toggle("visible");
|
|
};
|
|
|
|
Rails.delegate(document, ".sidebar__toggle__icon", "click", () => {
|
|
toggleSidebar();
|
|
});
|
|
|
|
Rails.delegate(document, ".sidebar__toggle__icon", "keydown", e => {
|
|
if (e.key === " " || e.key === "Enter") {
|
|
e.preventDefault();
|
|
toggleSidebar();
|
|
}
|
|
});
|
|
}
|
|
|
|
loadPolyfills()
|
|
.then(main)
|
|
.then(loadKeyboardExtensions)
|
|
.catch(error => {
|
|
console.error(error);
|
|
});
|