bd44b5aa08
Test / build-libghostty-vt (x86_64-windows-gnu) (push) Has been cancelled
Test / build-libghostty-vt-macos (aarch64-ios) (push) Has been cancelled
Test / build-libghostty-vt-macos (aarch64-macos) (push) Has been cancelled
Test / build-libghostty-vt-macos (x86_64-macos) (push) Has been cancelled
Test / build-nix (namespace-profile-ghostty-md-arm64) (push) Has been cancelled
Test / build-dist (push) Has been cancelled
Test / GTK x11=true wayland=true (push) Has been cancelled
Test / Build -Dsimd=false (push) Has been cancelled
Test / Build -Dsimd=true (push) Has been cancelled
Test / Build -Dsentry=false (push) Has been cancelled
Test / Build -Dsentry=true (push) Has been cancelled
Test / zig-fmt (push) Has been cancelled
Test / GitHub Actions Pins (push) Has been cancelled
Test / prettier (push) Has been cancelled
Test / swiftlint (push) Has been cancelled
Test / alejandra (push) Has been cancelled
Test / typos (push) Has been cancelled
Nix / Required Checks: Nix (push) Has been cancelled
Nix / check-zig-cache-hash (push) Has been cancelled
Test / skip (push) Has been cancelled
Test / Required Checks: Test (push) Has been cancelled
Test / build-bench (push) Has been cancelled
Test / list-examples (push) Has been cancelled
Test / Example ${{ matrix.dir }} (Windows) (push) Has been cancelled
Test / build-cmake (push) Has been cancelled
Test / test-lib-vt-pkgconfig (push) Has been cancelled
Test / build-flatpak (push) Has been cancelled
Test / build-snap (push) Has been cancelled
Test / build-libghostty-vt (aarch64-linux) (push) Has been cancelled
Test / build-libghostty-vt (aarch64-macos) (push) Has been cancelled
Test / build-libghostty-vt (wasm32-freestanding) (push) Has been cancelled
Test / build-libghostty-vt (x86_64-linux) (push) Has been cancelled
Test / build-libghostty-vt (x86_64-linux-musl) (push) Has been cancelled
Test / build-libghostty-vt (x86_64-macos) (push) Has been cancelled
Test / build-libghostty-vt-android (aarch64-linux-android) (push) Has been cancelled
Test / build-libghostty-vt-android (arm-linux-androideabi) (push) Has been cancelled
Test / build-libghostty-vt-android (x86_64-linux-android) (push) Has been cancelled
Test / build-libghostty-vt-windows (push) Has been cancelled
Test / build-libghostty-windows-gnu (push) Has been cancelled
Test / build-linux (namespace-profile-ghostty-md) (push) Has been cancelled
Test / build-linux (namespace-profile-ghostty-md-arm64) (push) Has been cancelled
Test / build-linux-libghostty (push) Has been cancelled
Test / build-nix (namespace-profile-ghostty-md) (push) Has been cancelled
Test / build-dist-lib-vt (push) Has been cancelled
Test / trigger-snap (push) Has been cancelled
Test / trigger-flatpak (push) Has been cancelled
Test / build-macos (push) Has been cancelled
Test / build-macos-freetype (push) Has been cancelled
Test / test (push) Has been cancelled
Test / test-lib-vt (push) Has been cancelled
Test / GTK x11=false wayland=false (push) Has been cancelled
Test / GTK x11=true wayland=false (push) Has been cancelled
Test / GTK x11=false wayland=true (push) Has been cancelled
Test / test-macos (push) Has been cancelled
Test / test-windows (push) Has been cancelled
Test / Build -Di18n=false (push) Has been cancelled
Test / Build -Di18n=true (push) Has been cancelled
Test / Build test/fuzz-libghostty (push) Has been cancelled
Test / shellcheck (push) Has been cancelled
Test / translations (push) Has been cancelled
Test / blueprint-compiler (push) Has been cancelled
Test / Test pkg/wuffs (push) Has been cancelled
Test / Test build on Debian 13 (push) Has been cancelled
Test / valgrind (push) Has been cancelled
Test / Example ${{ matrix.dir }} (push) Has been cancelled
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
/**
|
|
* Mobile navigation toggle for Doxygen documentation
|
|
*/
|
|
|
|
(function () {
|
|
// Only run on mobile devices
|
|
function isMobile() {
|
|
return window.innerWidth <= 767;
|
|
}
|
|
|
|
function initMobileNav() {
|
|
if (!isMobile()) return;
|
|
|
|
const pageNav = document.getElementById("page-nav");
|
|
if (!pageNav) return;
|
|
|
|
// Create toggle button
|
|
const toggleBtn = document.createElement("button");
|
|
toggleBtn.id = "page-nav-toggle";
|
|
toggleBtn.setAttribute("aria-label", "Toggle page navigation");
|
|
toggleBtn.innerHTML = "<span></span><span></span><span></span>";
|
|
document.body.appendChild(toggleBtn);
|
|
|
|
// Create backdrop
|
|
const backdrop = document.createElement("div");
|
|
backdrop.id = "page-nav-backdrop";
|
|
document.body.appendChild(backdrop);
|
|
|
|
// Toggle function
|
|
function toggleNav() {
|
|
const isOpen = pageNav.classList.toggle("mobile-open");
|
|
backdrop.classList.toggle("active", isOpen);
|
|
document.body.style.overflow = isOpen ? "hidden" : "";
|
|
}
|
|
|
|
// Event listeners
|
|
toggleBtn.addEventListener("click", toggleNav);
|
|
backdrop.addEventListener("click", toggleNav);
|
|
|
|
// Close on escape key
|
|
document.addEventListener("keydown", function (e) {
|
|
if (e.key === "Escape" && pageNav.classList.contains("mobile-open")) {
|
|
toggleNav();
|
|
}
|
|
});
|
|
}
|
|
|
|
// Initialize on load and resize
|
|
if (document.readyState === "loading") {
|
|
document.addEventListener("DOMContentLoaded", initMobileNav);
|
|
} else {
|
|
initMobileNav();
|
|
}
|
|
|
|
window.addEventListener("resize", function () {
|
|
const pageNav = document.getElementById("page-nav");
|
|
const backdrop = document.getElementById("page-nav-backdrop");
|
|
|
|
if (!isMobile() && pageNav) {
|
|
pageNav.classList.remove("mobile-open");
|
|
if (backdrop) backdrop.classList.remove("active");
|
|
document.body.style.overflow = "";
|
|
}
|
|
});
|
|
})();
|