mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 17:11:09 -05:00
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from django.http import HttpRequest, HttpResponse
|
|
from django.shortcuts import render
|
|
from .filters import ParkFilter
|
|
from .querysets import get_base_park_queryset
|
|
|
|
def suggest_parks(request: HttpRequest) -> HttpResponse:
|
|
"""Return park search suggestions as a dropdown"""
|
|
try:
|
|
query = request.GET.get('search', '').strip()
|
|
if not query or len(query) < 2:
|
|
return HttpResponse('')
|
|
|
|
# Get current view mode from request
|
|
current_view_mode = request.GET.get('view_mode', 'grid')
|
|
park_filter = ParkFilter({
|
|
'search': query
|
|
}, queryset=get_base_park_queryset())
|
|
|
|
parks = park_filter.qs[:8] # Limit to 8 suggestions
|
|
|
|
response = render(
|
|
request,
|
|
'parks/partials/search_suggestions.html',
|
|
{
|
|
'suggestions': parks,
|
|
'view_mode': current_view_mode
|
|
}
|
|
)
|
|
response['HX-Trigger'] = 'showSuggestions'
|
|
return response
|
|
except Exception as e:
|
|
return HttpResponse(f'Error getting suggestions: {str(e)}') |