{% extends 'base.html' %}
{% load static %}
{% load contact_tags %}

{% block title %}Consulting Partners{% endblock %}
{% block meta_description %}Browse our network of expert consulting partners on Servala who can help you implement and optimize cloud services for your business.{% endblock %}

{% block content %}
<section class="section bg-primary-subtle">
    <div class="container mx-auto px-20 px-lg-0 pt-40 pb-60">
        <header class="section-primary__header text-center">
            <h1 class="section-h1 fs-40 fs-lg-64 mb-24">Consulting Partners</h1>
            <div class="text-gray-300 w-lg-37 mx-auto">
                <p class="mb-0">Browse our network of expert Consulting Partners on Servala, with new partners added regularly. They'll help you get up to speed and make the most of specific services.</p>
            </div>
        </header>
    </div>
</section>

<section class="section">
    <div class="container-xl mx-auto px-3 px-lg-0 pt-60 pt-lg-80 pb-40">
        <div x-data="{ open: window.innerWidth > 1024 }"
            @resize.window="open = window.innerWidth > 1024 ? open : true" class="d-lg-flex">
            <!-- Filters -->
            <div class="w-lg-20 flex-none">
                <!-- Mobile Menu -->
                <div class="page-action d-lg-none mb-40">
                    <button @click="open = !open"
                        class="btn btn-outline-primary btn-md w-100 d-flex justify-content-center align-items-center"
                        type="button">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none"
                            xmlns="http://www.w3.org/2000/svg">
                            <mask id="mask0_115_3182" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0"
                                y="0" width="24" height="24">
                                <rect width="24" height="24" fill="#D9D9D9" />
                            </mask>
                            <g mask="url(#mask0_115_3182)">
                                <path d="M7 18V16H17V18H7ZM5 13V11H19V13H5ZM3 8V6H21V8H3Z" fill="#9A63EC" />
                            </g>
                        </svg>
                        <span class="ms-2">Filters</span>
                    </button>
                </div>
                <!-- Desktop View -->
                <div x-cloak x-show="open || window.innerWidth >= 1024" class="w-lg-85" x-collapse>
                    <div class="d-flex d-lg-none justify-content-between align-items-center mb-24"
                        role="button">
                        <h3 class="sidebar-dropdown__title mb-0">Filters</h3>
                        <span @click="open = false">
                            <svg width="24" height="25" viewBox="0 0 24 25" fill="none"
                                xmlns="http://www.w3.org/2000/svg">
                                <mask id="mask0_115_3177" style="mask-type:alpha" maskUnits="userSpaceOnUse"
                                    x="0" y="0" width="24" height="25">
                                    <rect y="0.5" width="24" height="24" fill="#D9D9D9" />
                                </mask>
                                <g mask="url(#mask0_115_3177)">
                                    <path d="M6.4 19.5L5 18.1L10.6 12.5L5 6.9L6.4 5.5L12 11.1L17.6 5.5L19 6.9L13.4 12.5L19 18.1L17.6 19.5L12 13.9L6.4 19.5Z"
                                        fill="#160037" />
                                </g>
                            </svg>
                        </span>
                    </div>

                    <div class="search-form position-relative mb-24">
                        <form method="get" x-data="{submitForm() { $refs.filterForm.submit(); } }" x-ref="filterForm">
                            <!-- Search -->
                            <div class="mb-24">
                                <label for="search" class="d-none">Search</label>
                                <input type="text" id="search" class="input-search" placeholder="Search" name="search" value="{{ request.GET.search }}">
                                <button class="search-button position-absolute top-0 start-0 d-flex justify-content-center align-items-center border-0 bg-transparent p-0"
                                    type="button" title="search">
                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                        <path d="M17.5 17.5L22 22" stroke="#9A63EC" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                                        <path d="M20 11C20 6.02944 15.9706 2 11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C15.9706 20 20 15.9706 20 11Z"
                                            stroke="#9A63EC" stroke-width="1.5" stroke-linejoin="round" />
                                    </svg>
                                </button>
                            </div>

                            <!-- Service Filter -->
                            <div class="pt-24 mb-24">
                                <div class="d-flex justify-content-between align-items-center h-33 mb-5px" role="button">
                                    <h3 class="sidebar-title mb-0">Service</h3>
                                </div>
                                <div>
                                    <select class="form-select" id="service" name="service" @change="submitForm()">
                                        <option value="">All Services</option>
                                        {% for service in available_services %}
                                            <option value="{{ service.id }}" {% if request.GET.service == service.id|stringformat:'i' %}selected{% endif %}>
                                                {{ service.name }}
                                            </option>
                                        {% endfor %}
                                    </select>
                                </div>
                            </div>

                            <!-- Filter Actions -->
                            <div class="d-flex gap-2">
                                <a href="{% url 'services:partner_list' %}" class="btn btn-outline-secondary btn-sm">Clear</a>
                            </div>
                        </form>
                    </div>
                </div>
            </div>

            <!-- Partners Listing -->
            <div class="section__grid flex-1">
                <div class="row">
                    {% for partner in partners %}
                    <div class="col-12 col-md-6 col-lg-4 mb-30">
                        <div class="card h-100 d-flex flex-column clickable-card" 
                             onclick="cardClicked(event, '{{ partner.get_absolute_url }}')">
                            <div class="card__content d-flex flex-column flex-grow-1">
                                <div class="card__header">
                                    <div class="d-flex align-items-start" style="height: 100px; margin-bottom: 1rem;">
                                        <div class="me-3">
                                            <a href="{{ partner.get_absolute_url }}" class="clickable-link">
                                                <img src="{{ partner.logo.url }}" 
                                                     alt="{{ partner.name }}" 
                                                     style="max-height: 100px; max-width: 250px; object-fit: contain;">
                                            </a>
                                        </div>
                                    </div>
                                    <h3 class="card__title">
                                        <a href="{{ partner.get_absolute_url }}" class="text-decoration-none clickable-link">{{ partner.name }}</a>
                                    </h3>
                                </div>

                                <div class="card__desc flex-grow-1 rich-text-content">
                                    {{ partner.description|safe|truncatewords_html:30 }}
                                </div>

                                <div class="card__footer mt-3">
                                    <div class="d-flex gap-2">
                                        {% if partner.website %}
                                            <a href="{{ partner.website }}" class="btn btn-primary btn-sm clickable-button" target="_blank">Visit Website</a>
                                        {% endif %}
                                        <a href="{{ partner.get_absolute_url }}#services" class="btn btn-primary btn-sm clickable-button">Available Services</a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    {% empty %}
                    <div class="col-12">
                        <div class="alert alert-info">
                            No consulting partners found matching your criteria.
                        </div>
                    </div>
                    {% endfor %}
                </div>
            </div>
        </div>
    </div>
</section>

<section class="section bg-primary-subtle">
    <div class="section-wrapper container mx-auto px-20 px-lg-0 pt-80 pb-120">
      <div class="row">
        <div class="col-12 col-lg-4 mb-30 mb-lg-0">
          <div class="section-logo mx-auto">
            <img class="img-fluid" src="{% static "img/section-logo.png" %}" alt="Servala logo">
          </div>
        </div>
        <div class="col-12 col-lg-8">
          <header class="section-primary__header">
            <h2 class="section-h1 fs-40 fs-lg-60">Missing a Consulting Partner?</h2>
            <div class="section-primary__desc">
              <p>You miss a consulting partner on this list? Let us know which one and we'll get in touch with you!</p>
            </div>
            <div>
                {% embedded_contact_form source="Missing Consulting Partner" %}
            </div>
          </header>
        </div>
      </div>
    </div>
  </section>
{% endblock %}