{% set searchQuery = craft.app.request.getParam('query') %}
{% set searchPage = craft.app.request.getParam('page') %}
{% set searchFilter = craft.app.request.getParam('filter') | length ? craft.app.request.getParam('filter') : 'all' %}
{% set hasResults = false %}

{# Set searchPage to if not defined #}
{% if not searchPage %}
    {% set searchPage = 1 %}
{% endif %}

{% if (searchFilter | length) and (searchFilter != 'all') and (searchQuery | length) %}
    {% set totalResults = craft.entries()
        .section([
            'and', 'not homepage', 'not search', 'not faqs', searchFilter
        ])
        .search(searchQuery)
        .all() %}

    {% set pageResults = totalResults | slice((searchPage - 1) * 6, 6) %}
    {% set hasResults = true %}
{% elseif searchQuery | length %}
    {% set totalResults = craft.entries()
        .section([
            'and', 'not homepage', 'not search', 'not faqs'
        ])
        .search(searchQuery)
        .all() %}

    {% set pageResults = totalResults | slice((searchPage - 1) * 6, 6) %}
    {% set hasResults = true %}
{% endif %}

<section class="search-results-panel w-full relative bg-white-primary">
    <div class="container-wrapper sm:max-w-7xl sm:mx-auto">
        <div class="padding-wrapper sm:px-8 lg:px-10 sm:py-10 lg:py-12 xl:py-16">
            <div class="content-wrapper w-full flex flex-col justify-center items-center">
                {% include themeDir ~ '/_includes/_blocks/_search/_search-title.twig' %}
                {% if hasResults %}
                    {% include themeDir ~ '/_includes/_blocks/_search/_search-filters.twig' %}
                {% endif %}
                {% if hasResults %}
                    {% include themeDir ~ '/_includes/_blocks/_search/_search-results.twig' %}
                {% endif %}
                {% if hasResults and totalResults | length > 6 %}
                    {% include themeDir ~ '/_includes/_blocks/_search/_search-pagination.twig' %}
                {% endif %}
            </div>
        </div>
    </div>
</section>