feat: Add detailed park and ride pages with HTMX integration

- Implemented park detail page with dynamic content loading for rides and weather.
- Created park list page with filters and search functionality.
- Developed ride detail page showcasing ride stats, reviews, and similar rides.
- Added ride list page with filtering options and dynamic loading.
- Introduced search results page with tabs for parks, rides, and users.
- Added HTMX tests for global search functionality.
This commit is contained in:
pacnpal
2025-12-19 19:53:20 -05:00
parent bf04e4d854
commit b9063ff4f8
154 changed files with 4536 additions and 2570 deletions

View File

@@ -0,0 +1,10 @@
<div id="search-dropdown" class="search-dropdown">
{% include "core/search/partials/search_suggestions.html" %}
<div id="search-results">
{% for item in results %}
{% include "core/search/partials/search_result_item.html" with item=item %}
{% empty %}
{% include "core/search/partials/search_empty.html" %}
{% endfor %}
</div>
</div>

View File

@@ -0,0 +1 @@
<div class="search-empty">No results found.</div>

View File

@@ -0,0 +1,4 @@
<div class="search-result-item">
<a href="{{ item.url }}">{{ item.title }}</a>
<div class="muted">{{ item.subtitle }}</div>
</div>

View File

@@ -0,0 +1,5 @@
<ul class="search-suggestions">
{% for suggestion in suggestions %}
<li hx-get="{{ suggestion.url }}" hx-swap="#search-results">{{ suggestion.text }}</li>
{% endfor %}
</ul>

View File

@@ -0,0 +1,9 @@
{% extends "base/base.html" %}
{% block content %}
<h1>Search</h1>
<form hx-get="/search/" hx-trigger="input changed delay:300ms" hx-target="#search-dropdown">
<input name="q" placeholder="Search..." />
</form>
<div id="search-dropdown"></div>
{% endblock %}