{% extends "front/base.html.twig" %}{% block title %} {{ 'seo.directory_title' | trans }}{% endblock %}{% block seo %} <meta name="description" content="{{ 'seo.directory_description' | trans }}">{% endblock %}{% block stylesheets %} <style> .form-check { justify-content: flex-start; } </style> {{ parent() }} {{ encore_entry_link_tags('search') }}{% endblock %}{% form_theme form _self %}{%- block choice_widget_expanded -%}{%- for child in form %} <div class="checkbox icheck-primary"> {{- form_widget(child) -}} </div>{% endfor -%}{%- endblock choice_widget_expanded -%}{%- block _hasLabels_widget -%} <div class="checkbox icheck-primary"> {{- form_widget(form) -}} </div>{%- endblock -%}{% block body %}<section class="first-section search-page search-pro pb-0" id="pro-search"> <div class="container"> <div class="row justify-content-center"> <div class="col-md-12 search-col"> {{ form_start(form, {'attr': {'class': 'main-search'}}) }} <div class="form-inline"> <div class="input-wrap"> <div class="input-group global"> <div class="input-group-prepend"> <i class="fas fa-user"></i> </div> {{ form_widget(form.name, {'attr': {'class': 'input-main-search'}}) }} <div class="input-group-prepend hide-desktop"> <button class="btn toggle-filters-mobile" type="button"> <i class="fal fa-sliders-h"></i> </button> <button class="btn search-mobile-btn" type="submit"> <i class="far fa-search"></i> </button> </div> </div> <div class="search-dropdowns"> <div class="filters-header hide-desktop"> <span class="title">{{ 'global.filter' | trans }}</span> <button class="btn close-filter" id="close-filter" type="button"> <i class="fal fa-times"></i> </button> </div> <div class="filters-contain"> <div class="custom-dropdown-input short-input" id="pro-type-wrap"> <span class="custom-dropdown-label" id="pro-type-checkbox-label">{{ "directory.all" | trans }}</span> <div class="custom-dropdown-content" id="pro-type-checkbox"> {{ form_widget(form.type) }} </div> </div> <div class="custom-dropdown-input short-input" id="sport-wrap"> <span class="custom-dropdown-label" id="sport-checkbox-label">{{ "directory.sport" | trans }}</span> <div class="custom-dropdown-content" id="sport-checkbox"> {{ form_widget(form.sports) }} </div> </div> {% set countryField = form_widget(form.country) %} {% set languagesField = form_widget(form.languages) %} {% set hasLabelField = form_widget(form.hasLabels) %} <div class="hide-desktop pro-others-filters-responsive"> <div class="custom-dropdown-input short-input" id="age-lowercase"> <span class="custom-dropdown-label">{{ "directory.country_of_activity" | trans }}</span> <div class="custom-dropdown-content"> {{ countryField | raw }} </div> </div> <div class="custom-dropdown-input short-input" id="age-lowercase"> <span class="custom-dropdown-label">{{ "directory.languages_spoken" | trans }}</span> <div class="custom-dropdown-content"> {{ languagesField | raw }} </div> </div> <div class="custom-dropdown-input short-input" id="age-lowercase"> <span class="custom-dropdown-label">{{ "directory.labels" | trans }}</span> <div class="custom-dropdown-content"> {{ hasLabelField | raw }} </div> </div> </div> <div class="custom-dropdown-input short-input more-fields hide-mobile"> <span class="custom-dropdown-label">{{ "directory.more_criteria" | trans }}</span> <div class="custom-dropdown-content"> <div class="accordion" id="accordionMoreFields"> <div class="card"> <div class="card-header" id="country-card"> <h5 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseCountry" aria-expanded="false" aria-controls="collapseCountry"> {{ "directory.country_of_activity" | trans }} </button> </h5> </div> <div id="collapseCountry" class="collapse" aria-labelledby="country" data-parent="#accordionMoreFields"> <div class="card-body subcheck"> <div class="row py-1"> <div class="col-12"> {{ countryField | raw }} </div> </div> </div> </div> </div> <div class="card"> <div class="card-header" id="language"> <h5 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseLanguage" aria-expanded="false" aria-controls="collapseLanguage"> {{ "directory.languages_spoken" | trans }} </button> </h5> </div> <div id="collapseLanguage" class="collapse" aria-labelledby="language" data-parent="#accordionMoreFields"> <div class="card-body subcheck"> {{ languagesField | raw }} </div> </div> </div> <div class="card"> <div class="card-header" id="has-labels"> <h5 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseLabels" aria-expanded="false" aria-controls="collapseLanguage"> {{ "directory.labels" | trans }} </button> </h5> </div> <div id="collapseLabels" class="collapse" aria-labelledby="labels" data-parent="#accordionMoreFields"> <div class="card-body subcheck"> {{ hasLabelField | raw }} </div> </div> </div> </div> </div> </div> </div> <div class="hide-desktop filters-actions hide"> <a href="{{ path('courses') }}" class="btn btn-icon btn-reset"> <i class="fal fa-undo-alt"></i> </a> <button class="btn btn-main-search" type="submit">{{ "global.search" | trans }}</button> </div> </div> <button class="btn btn-main-search hide-mobile" type="submit"> <i class="far fa-search"></i> </button> </div> </div> {{ form_end(form) }} </div> </div> {% if criteria %} <div class="row my-3"> <div class="col-12"> <div class="search-criteria reset-criteria"> <a href="{{ path('directory') }}" class="btn">{{ 'global.reset' | trans }}</a> </div> {% if criteria.name %} <div class="search-criteria"> "{{ criteria.name }}" <span class="delete-criteria" data-target="name"> <i class="fas fa-times"></i> </span> </div> {% endif %} {% if criteria.type %} {% for type in criteria.type %} <div class="search-criteria"> {{ ("global." ~ type) | trans | capitalize }} {% if type == "coach" %} {% set key = 0 %} {% elseif type == "club" %} {% set key = 1 %} {% else %} {% set key = 2 %} {% endif %} <span class="delete-criteria" data-target="type_{{ key }}"> <i class="fas fa-times"></i> </span> </div> {% endfor %} {% endif %} {% if criteria.sports %} {% for sport in criteria.sports %} <div class="search-criteria"> {{ ("sport_name." ~ sport.slug) | trans }} <span class="delete-criteria" data-target="sports_{{ sport.id }}"> <i class="fas fa-times"></i> </span> </div> {% endfor %} {% endif %} {% if criteria.country %} <div class="search-criteria"> {{ criteria.country | upper | countryName(app.request.locale) }} <span class="delete-criteria" data-target="country" data-country-code="{{ criteria.country }}"> <i class="fas fa-times"></i> </span> </div> {% endif %} {% if criteria.languages %} {% for language in criteria.languages %} <div class="search-criteria"> {{ language }} <span class="delete-criteria" data-target="languages_{{ language.id }}"> <i class="fas fa-times"></i> </span> </div> {% endfor %} {% endif %} {% if criteria.hasLabels %} <div class="search-criteria"> {{ "directory.hasLabels" | trans }} <span class="delete-criteria" data-target="hasLabels" data-value="{{ criteria.hasLabels }}"> <i class="fas fa-times"></i> </span> </div> {% endif %} </div> </div> {% endif %} </div></section><section class="search-result" id="help"> <div class="container"> <div class="row mb-5 pb-5"> {% if pros | length > 0 %} {% for pro in pros %} <div class="col-lg-4 col-xl-3 col-md-6 col-sm-6 col-12 mb-4"> {% include "front/pro/_pro-card.html.twig" %} </div> {% endfor %} {% else %} <div class="pro-box"> <p class="empty-pro-list">{{ "directory.no_pro" | trans }}</p> </div> {% endif %} </div> <div class="row d-flex justify-content-center"> {{ knp_pagination_render(pros, 'front/_partials/availabilities-pagination.html.twig') }} </div> </div></section>{% endblock %}{% block javascript %} {{ parent() }} {{ encore_entry_script_tags('search') }} <script> var globalWidth = $(window).width(); $(document).ready(function() { if (globalWidth > 991) { $(".pro-others-filters-responsive").remove(); } else { $(".more-fields").remove(); } }); $('.delete-criteria').on('click', function () { let id = $(this).data('target'); let input = $('#' + id); if (id == "country") { input.find('option[value="' + $(this).data('country-code') + '"').prop('selected', false); } else if (id == 'hasLabels') { $('#hasLabels_1').prop('checked', ''); $('#hasLabels_0').prop('checked', 'checked'); } else if (input.prop('type') == 'checkbox') { input.prop('checked', false); } else { input.val(''); } $('.btn-main-search').click(); }) </script>{% endblock %}