From 6584be5c7594f058a826be0abc436d5980943d29 Mon Sep 17 00:00:00 2001 From: pari-dubey1 Date: Wed, 3 Jun 2026 15:32:41 +0530 Subject: [PATCH] fix: close mobile menu on desktop resize view --- static/script.js | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/static/script.js b/static/script.js index d4de221..3323929 100644 --- a/static/script.js +++ b/static/script.js @@ -28,7 +28,7 @@ var errorMsg = document.getElementById('github-modal-error'); // ============================================================ (function initMobileNav() { var toggle = document.getElementById("nav-mobile-toggle"); //hamburger button - var menu = document.getElementById("nav-mobile-menu"); //dropdown menu + var menu = document.getElementById("nav-mobile-menu"); //dropdown menu // Nothing to do if the nav isn't on this page, just bail out if (!toggle || !menu) return; @@ -42,12 +42,20 @@ var errorMsg = document.getElementById('github-modal-error'); }); // Close menu when any mobile link is clicked - menu.querySelectorAll(".nav-mobile-link").forEach(function (link) { - link.addEventListener("click", function () { - menu.classList.remove("open"); + menu.querySelectorAll(".nav-mobile-link").forEach(function (link) { + link.addEventListener("click", function () { + menu.classList.remove("open"); toggle.classList.remove("open"); }); }); + + window.addEventListener("resize", function () { + if (window.innerWidth >= 640) { + menu.classList.remove("open"); + toggle.classList.remove("open"); + toggle.setAttribute("aria-expanded", "false"); + } + }); })(); @@ -60,13 +68,13 @@ if (isIndexPage) { // grabbing all the elements we'll need so we're not calling getElementById over and over again throughout the code var form = document.getElementById("recommend-form"); var submitBtn = document.getElementById("submit-btn"); - var btnLabel = document.getElementById("btn-label"); // "get recommendations" text - var btnLoading = document.getElementById("btn-loading"); // spinner icon inside the button - var resultsSection = document.getElementById("results-section"); - var resultsGrid = document.getElementById("results-grid"); - var resultsLoadingEl = document.getElementById("results-loading"); // "Loading..." text in the results - var resultsEmptyEl = document.getElementById("results-empty"); - var emptyMessageEl = document.getElementById("empty-message"); + var btnLabel = document.getElementById("btn-label"); // "get recommendations" text + var btnLoading = document.getElementById("btn-loading"); // spinner icon inside the button + var resultsSection = document.getElementById("results-section"); + var resultsGrid = document.getElementById("results-grid"); + var resultsLoadingEl = document.getElementById("results-loading"); // "Loading..." text in the results + var resultsEmptyEl = document.getElementById("results-empty"); + var emptyMessageEl = document.getElementById("empty-message"); var skillsHidden = document.getElementById("skills"); // the hidden input that holds skills list var skillsTextInput = document.getElementById("skills-input"); //visible text box in which user types skills var chipsSelectedEl = document.getElementById("skill-chips-selected"); //selected skills tags container @@ -92,7 +100,7 @@ if (isIndexPage) { "C#", "Ruby", "PHP", "Go", "Swift", "TypeScript", "Angular", "Vue.js", "Spring", "Flutter", "TensorFlow", "PyTorch", "Data Science", "Machine Learning", "Artificial Intelligence", "DevOps", "Cybersecurity", - "Blockchain", "UI/UX Design", "Game Development", "CI/CD", "REST API", "GraphQL", + "Blockchain", "UI/UX Design", "Game Development", "CI/CD", "REST API", "GraphQL", "Rust", "Kotlin" ]; }