Enhance geocoding service and frontend search functionality. Refactor geocoding logic to improve postal code handling and response parsing. Update frontend searchPlaces function to include postal code in results display and adjust input validation. Modify CSS for improved search results styling.
All checks were successful
CI / api-check (push) Successful in 50s
CI / frontend-check (push) Successful in 7s

This commit is contained in:
TheOnlyMace
2026-06-28 23:07:29 +02:00
parent 0568e53ee9
commit 16da230813
3 changed files with 74 additions and 39 deletions

View File

@@ -758,7 +758,7 @@ function toggleWarningsOnMap() {
}
async function searchPlaces(query) {
if (query.length < 2) {
if (query.length < 2 || (/^\d+$/.test(query) && query.length < 4)) {
el("searchResults").classList.add("hidden");
return;
}
@@ -767,7 +767,7 @@ async function searchPlaces(query) {
const results = data.results || [];
el("searchResults").innerHTML = results.length ? results.map((r, i) => `
<li role="option" data-index="${i}">
<strong>${r.place}</strong>
<strong>${r.place}${r.postcode ? ` (${r.postcode})` : ""}</strong>
<span>${r.label}</span>
</li>
`).join("") : `<li class="muted">Keine Treffer</li>`;
@@ -776,6 +776,7 @@ async function searchPlaces(query) {
item.addEventListener("click", () => {
const r = results[Number(item.dataset.index)];
setLocation({ place: r.place, lat: r.lat, lon: r.lon });
el("placeSearch").value = r.postcode || r.place;
el("searchResults").classList.add("hidden");
loadAll();
});