4edadd7623
Co-authored-by: Copilot <copilot@github.com>
41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
document.addEventListener("DOMContentLoaded", () => {
|
|
// ── Loading overlay ────────────────────────────────────
|
|
const overlay = document.getElementById("loading-overlay");
|
|
|
|
document.querySelectorAll("form").forEach((form) => {
|
|
form.addEventListener("submit", () => {
|
|
if (overlay) overlay.classList.add("active");
|
|
});
|
|
});
|
|
|
|
// ── Hamburger menu ─────────────────────────────────────
|
|
const hamburger = document.querySelector(".hamburger");
|
|
const navLinks = document.querySelector(".nav-links");
|
|
|
|
if (hamburger && navLinks) {
|
|
hamburger.addEventListener("click", () => {
|
|
navLinks.classList.toggle("open");
|
|
});
|
|
}
|
|
|
|
// ── Generate dropdown tabs ─────────────────────────────
|
|
document.querySelectorAll(".tab-btn").forEach((btn) => {
|
|
btn.addEventListener("click", () => {
|
|
const target = btn.dataset.tab;
|
|
const container = btn.closest(".tabs-container");
|
|
if (!container) return;
|
|
|
|
container
|
|
.querySelectorAll(".tab-btn")
|
|
.forEach((b) => b.classList.remove("active"));
|
|
container
|
|
.querySelectorAll(".tab-panel")
|
|
.forEach((p) => p.classList.remove("active"));
|
|
|
|
btn.classList.add("active");
|
|
const panel = container.querySelector(`#tab-${target}`);
|
|
if (panel) panel.classList.add("active");
|
|
});
|
|
});
|
|
});
|