`).join(""); } else { searchResultsContainer.innerHTML = `
🔍
No schools found
Try different search terms `; } showSearchResults(); } catch (error) { searchResultsContainer.innerHTML = `
❌ Error loading results
Please try again `; showSearchResults(); } } const debouncedCountrySearch = debounce((query) => performSearch(query, 'country', countryResults), 300); const debouncedCitySearch = debounce((query) => performSearch(query, 'city', cityResults), 300); const debouncedSchoolSearch = debounce((query) => performSearch(query, 'school', schoolResults), 300); countryInput.addEventListener("input", (e) => { const query = e.target.value.trim(); selectedCountry = ""; hideSearchResults(); debouncedCountrySearch(query); }); cityInput.addEventListener("input", (e) => { const query = e.target.value.trim(); selectedCity = ""; hideSearchResults(); debouncedCitySearch(query); }); schoolInput.addEventListener("input", (e) => { const query = e.target.value.trim(); hideSearchResults(); debouncedSchoolSearch(query); }); countryResults.addEventListener("click", (e) => { if (e.target.matches(".result-item")) { const value = e.target.dataset.value; countryInput.value = value; selectedCountry = value; countryResults.innerHTML = ""; cityInput.value = ""; selectedCity = ""; schoolInput.value = ""; } }); cityResults.addEventListener("click", (e) => { if (e.target.matches(".result-item")) { const value = e.target.dataset.value; cityInput.value = value; selectedCity = value; cityResults.innerHTML = ""; schoolInput.value = ""; } }); schoolResults.addEventListener("click", (e) => { if (e.target.matches(".result-item")) { const id = e.target.dataset.id; if (id) { closeModal(); window.location.href = `${FRONTEND_BASE_URL}/${id}`; } } }); // Search results click handler searchResultsContainer.addEventListener("click", (e) => { const selectBtn = e.target.closest(".select-btn"); const resultItem = e.target.closest(".search-result-item"); if (selectBtn || resultItem) { const id = (selectBtn || resultItem).dataset.id; if (id) { closeModal(); window.location.href = `${FRONTEND_BASE_URL}/${id}`; } } }); // Focus management countryInput.addEventListener("focus", () => { cityResults.innerHTML = ""; schoolResults.innerHTML = ""; if (countryInput.value.length >= 2) { debouncedCountrySearch(countryInput.value); } }); cityInput.addEventListener("focus", () => { countryResults.innerHTML = ""; schoolResults.innerHTML = ""; if (cityInput.value.length >= 2) { debouncedCitySearch(cityInput.value); } }); schoolInput.addEventListener("focus", () => { countryResults.innerHTML = ""; cityResults.innerHTML = ""; if (schoolInput.value.length >= 2) { debouncedSchoolSearch(schoolInput.value); } }); document.addEventListener("keydown", (e) => { if (e.key === "Enter" && modal.classList.contains("visible")) { e.preventDefault(); performFullSearch(); } if (e.key === "Escape") { if (searchResultsDropdown.classList.contains("visible")) { hideSearchResults(); } else if (modal.classList.contains("visible")) { closeModal(); } } });