{% extends "base/base.html" %}
{% load static %}

{% block title %}Parks{% endblock %}

{% block content %}
<div class="container mx-auto px-4 py-6">
    <!-- Consolidated Search and View Controls Bar -->
    <div class="bg-gray-800 rounded-lg p-4 mb-6">
        <div class="flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4">
            <!-- Search Section -->
            <div class="flex-1 max-w-2xl">
                <div class="relative">
                    <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
                        <svg class="h-5 w-5 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
                        </svg>
                    </div>
                    <input 
                        type="text" 
                        name="search"
                        value="{{ search_query }}"
                        placeholder="Search parks by name, location, or features..."
                        class="block w-full pl-10 pr-3 py-2 border border-gray-600 rounded-md leading-5 bg-gray-700 text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
                        hx-get="{% url 'parks:park_list' %}"
                        hx-trigger="keyup changed delay:300ms"
                        hx-target="#park-results"
                        hx-include="[name='view_mode']"
                        hx-indicator="#search-spinner"
                    />
                    <div id="search-spinner" class="absolute inset-y-0 right-0 pr-3 flex items-center htmx-indicator">
                        <svg class="animate-spin h-5 w-5 text-gray-400" fill="none" viewBox="0 0 24 24">
                            <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
                            <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
                        </svg>
                    </div>
                </div>
            </div>

            <!-- Results Count and View Controls -->
            <div class="flex items-center gap-4">
                <!-- Results Count -->
                <div class="text-gray-300 text-sm whitespace-nowrap">
                    <span class="font-medium">Parks</span>
                    {% if total_results %}
                        <span class="text-gray-400">({{ total_results }} found)</span>
                    {% endif %}
                </div>

                <!-- View Mode Toggle -->
                <div class="flex bg-gray-700 rounded-lg p-1">
                    <input type="hidden" name="view_mode" value="{{ view_mode }}" />
                    
                    <!-- Grid View Button -->
                    <button 
                        type="button"
                        class="p-2 rounded-md transition-colors duration-200 {% if view_mode == 'grid' %}bg-blue-600 text-white{% else %}text-gray-400 hover:text-white{% endif %}"
                        title="Grid View"
                        hx-get="{% url 'parks:park_list' %}?view_mode=grid"
                        hx-target="#park-results"
                        hx-include="[name='search']"
                        hx-push-url="true"
                    >
                        <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"></path>
                        </svg>
                    </button>
                    
                    <!-- List View Button -->
                    <button 
                        type="button"
                        class="p-2 rounded-md transition-colors duration-200 {% if view_mode == 'list' %}bg-blue-600 text-white{% else %}text-gray-400 hover:text-white{% endif %}"
                        title="List View"
                        hx-get="{% url 'parks:park_list' %}?view_mode=list"
                        hx-target="#park-results"
                        hx-include="[name='search']"
                        hx-push-url="true"
                    >
                        <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 10h16M4 14h16M4 18h16"></path>
                        </svg>
                    </button>
                </div>
            </div>
        </div>
    </div>

    <!-- Results Container -->
    <div id="park-results">
        {% include "parks/partials/park_list.html" %}
    </div>
</div>
{% endblock %}
