Refactor search functionality: remove obsolete JavaScript and HTML templates; enhance error handling and response rendering for park search results

This commit is contained in:
pacnpal
2025-02-13 10:29:57 -05:00
parent c197051b25
commit bba707fa98
7 changed files with 164 additions and 173 deletions

View File

@@ -1,21 +1,47 @@
/* Loading indicator */
.htmx-indicator {
opacity: 0;
transition: opacity 200ms ease-in-out;
}
.htmx-request .htmx-indicator {
opacity: 1;
}
/* Search results spacing */
/* Search results container */
#search-results {
margin-top: 0.5rem;
border: 1px solid #e5e7eb;
border-radius: 0.5rem;
background-color: white;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
max-height: 400px;
overflow-y: auto;
}
#search-results:empty {
display: none;
}
/* Search result items */
#search-results .border-b {
border-color: #e5e7eb;
}
#search-results a {
display: block;
transition: background-color 150ms ease-in-out;
}
#search-results a:hover {
background-color: #f3f4f6;
}
/* Dark mode adjustments */
@media (prefers-color-scheme: dark) {
#search-results .bg-white {
#search-results {
background-color: #1f2937;
border-color: #374151;
}
#search-results .text-gray-900 {
@@ -26,7 +52,11 @@
color: #9ca3af;
}
#search-results .hover\:bg-gray-50:hover {
#search-results .border-b {
border-color: #374151;
}
#search-results a:hover {
background-color: #374151;
}
}

View File

@@ -1,28 +0,0 @@
document.addEventListener('DOMContentLoaded', function() {
const searchInput = document.getElementById('search');
const searchResults = document.getElementById('search-results');
if (!searchInput || !searchResults) return;
// Clear search results when clicking outside
document.addEventListener('click', function(e) {
if (!searchResults.contains(e.target) && e.target !== searchInput) {
searchResults.innerHTML = '';
}
});
// Clear results on escape key
searchInput.addEventListener('keydown', function(e) {
if (e.key === 'Escape') {
searchResults.innerHTML = '';
searchInput.value = '';
searchInput.blur();
}
});
// Handle back button
window.addEventListener('popstate', function() {
searchResults.innerHTML = '';
searchInput.value = '';
});
});