src/Aviatur/TwigBundle/Resources/views/default/Flux/Search/Package/packageSearch_engine.html.twig line 1

Open in your IDE?
  1. {% if inlineEngine is defined %}
  2.     {# if NOT desktop hompage, var from controller #}
  3.     {% set dispoEngine = true %}
  4. {% else %}
  5.     {% set dispoEngine = false %}
  6. {% endif %}
  7. <form action ="" class="search__engine clearfix search-package js-searchForm js-searchFormPackage xl:mx-36">
  8.     {% if cookieLastSearch is defined and cookieLastSearch != null %}
  9.         <div style="display:none">
  10.             <p id="js-cookieLastSearch-ProviderId">{{ cookieLastSearch.ProviderId }}</p>
  11.             <p id="js-cookieLastSearch-package">{{ cookieLastSearch.package }}</p>
  12.             <p id="js-cookieLastSearch-description">{{ cookieLastSearch.description }}</p>
  13.             <p id="js-cookieLastSearch-date1">{{ cookieLastSearch.date }}</p>
  14.         </div>
  15.     {% endif %}
  16.     {# START .search-header #}
  17.     <div class="search__header clearfix xs:mt-12">
  18.         <h1 class="search__title hide-availengine">
  19.             <i class="icon icon_bundle_package search__title__icon hide-lap-and-up"></i>
  20.             <b class="lg:text-white xs:text-white s:text-white">Planee sus próximas vacaciones</b>
  21.         </h1>
  22.         {# <div class="search__link-options sp-stack js-responsive-option-title">
  23.         <span class="search__option link-span sp-inset--tiny js-slideToggle js-iconToggle" data-slidetoggle="js-options" role="button" tabindex="0">
  24.             <i class="icon icon_arrow_down" data-icon1="icon_arrow_up" data-icon2="icon_arrow_down"></i>
  25.             Búsqueda personalizada
  26.         </span>
  27.         </div> #}
  28.         {#
  29.         'beach': {'term': 'playa', 'label': 'Playa', 'type': 'personalizada'},
  30.         'culture': {'term': 'cultural', 'label': 'Cultural', 'type': 'especializado'},
  31.         'ecotourism': {'term': 'ecoturismo', 'label': 'Ecoturismo', 'type': 'especializado'},
  32.         'holiday': {'term': 'vacaciones', 'label': 'Vacaciones', 'type': 'especializado'},
  33.         'archeology': {'term': 'arqueologico', 'label': 'Arqueológico', 'type': 'especializado'},
  34.         'adventure': {'term': 'aventura', 'label': 'Aventura', 'type': 'especializado'},
  35.         'honeymoon': {'term': 'luna-de-miel', 'label': 'Luna de miel', 'type': 'especializado'},
  36.         'birthday': {'term': 'quinceañeras', 'label': 'Quinceañeras', 'type': 'especializado'},
  37.         'exotic': {'term': 'exotico', 'label': 'Exótico', 'type': 'personalizada'},
  38.         'religious': {'term': 'religioso', 'label': 'Religioso', 'type': 'especializado'},
  39.         'lgbt': {'term': 'gay', 'label': 'Turismo LGBTI', 'type': 'especializado'},
  40.         'sport': {'term': 'deportivo', 'label': 'Deportivo', 'type': 'especializado'}
  41.         #}
  42.         {# for key, option in packageOptions #}
  43.             {#<option value="{{option.term}}">{{option.label}}</option>#}
  44.         {# endfor #}
  45.          {% set packageOptions = {
  46.             'healthwellness': {'term': 'bienestar', 'label': 'Salud y Bienestar', 'type': 'personalizada'},
  47.             'culture': {'term': 'cultural', 'label': 'Cultural', 'type': 'especializado'},
  48.             'nature': {'term': 'naturaleza', 'label': 'Naturaleza', 'type': 'especializado'},
  49.             'beach': {'term': 'playa', 'label': 'Sol y Playa', 'type': 'personalizada'},
  50.             'escapades': {'term': 'escapadas', 'label': 'Escapadas', 'type': 'especializado'}
  51.         } %}
  52.         </div>
  53.         <section class="search__row-main-flight mt-5 xs:mx-[10%] s:mx-[10%]">
  54.             <div class="wrapper-susy search-flight__options px-3">
  55.                 <select  id="searchInputValidate-tipoViaje" class="text-input bg-transparent text-white select--arrow input_search_mobile col-4  js-package-search-input js-cleanSelect xs:!bg-white xs:!text-[#5a5a5a]" style= "font-size: 103% !important">
  56.                     <option value="0" disabled selected="selected" style="color: white;">Tipo de viaje....</option>
  57.                     <optgroup label="Sol y Playa">
  58.                       <option value="playa">Playa</option>
  59.                     </optgroup>
  60.                     <optgroup label="Salud y Bienestar">
  61.                       <option value="termales">Termalismo</option>
  62.                       <option value="spa">Spa</option>
  63.                       <option value="meditacion">Meditación - Yoga</option>
  64.                     </optgroup>
  65.                     <optgroup label="Cultural">
  66.                       <option value="etnoturismo">Etnoturismo</option>
  67.                       <option value="gastronomia">Gastronomía</option>
  68.                       <option value="religioso">Expresiones religiosas</option>
  69.                       <option value="arqueologico">Arqueológico</option>
  70.                       <option value="historico">Histórico</option>
  71.                     </optgroup>
  72.                     <optgroup label="Naturaleza">
  73.                       <option value="avistamiento-de-aves">Avistamiento de aves</option><option value="ballenas">Avistamiento de ballenas</option>
  74.                       <option value="rafting">Rafting</option><option value="rapel">Rapel</option><option value="torrentismo">Torrentismo</option><option value="trekking">Trekking</option><option value="montaña">Alta montaña</option><option value="parapente">Parapente</option><option value="buceo">Buceo</option>
  75.                       <option value="ecoturismo">Ecoturismo</option>
  76.                       <option value="agroturismo">Agroturismo - Turismo rural</option>
  77.                       <option value="aventura">Aventura</option>
  78.                     </optgroup>
  79.                     <option value="escapada">Escapadas</option>
  80.                     <option value="crucero">Cruceros</option>
  81.                 </select>
  82.                 <div class="search-flight__col-advanced-options first-option js-options input_search_mobile col-4 hide" id="searchInputCities-input">
  83.                     <div class="form-group">
  84.                         <input type="hidden" name="parameters[searchInputValidate]" id="searchInputCities">
  85.                         {# <i class="icon icon_search_close icon__input js-empty"></i> #}
  86.                         <input id="searchInputCitiesValidate" pattern="[a-z][A-Z]" class="text-input input--white js-searchErrorInput js-scrollToTop js-package-search-input" type="text" name="parameters[searchInputValidate]" placeholder="e.g. Europa">
  87.                         <label id="js-searchInputError" class="label--error js-searchInputError" style="display: none;"></label>
  88.                     </div>
  89.                 </div>
  90.                 <div class="search-flight__col-advanced-options first-option js-options input_search_mobile col-4" id="searchInputCities-input" style="width: 30%;">
  91.                     <div class="form-group">
  92.                         <i class="icon icon_search_close icon__input js-empty xl:text-[#5a5a5a] xs:text-black"></i>
  93.                         <input type="text" id="searchInputValidate-other" name="parameters[searchInputValidate]" placeholder="Palabra clave o destino..." class="text-base w-full leading-normal bg-[#eee] border-0 py-2.5 px-2.5 h-10 rounded-sm text-[#5a5a5a] font-ubuntu font-normal bg-transparent text-white js-searchErrorInput js-scrollToTop js-selectOnFocus js-package-search-input js-cleanInput xs:!bg-[#ffff] s:!bg-[#ffff] xs:!text-[#5a5a5a] s:!text-[#5a5a5a] focus:outline-none" style ="font-size: 103% !important;">
  94.                         <label id="js-searchInputError" class="label--error js-searchInputError" style="display: none;"></label>
  95.                     </div>
  96.                 </div>      
  97.                 <section class="search__row-main sm-12 flex justify-end pr-3">
  98.                     <a class="btn-circle search__footer__submit {% block package_submit_btn_2 %}js-searchButton{% endblock %} xs:hidden s:hidden"  data-type="online" style="padding: 0.7rem 0.7rem;">
  99.                         <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg" style="vertical-align: top;">
  100.                             <path d="M13.8001 25.3484C20.2869 25.3484 25.5455 20.1721 25.5455 13.7868C25.5455 7.40158 20.2869 2.22531 13.8001 2.22531C7.31329 2.22531 2.05469 7.40158 2.05469 13.7868C2.05469 20.1721 7.31329 25.3484 13.8001 25.3484Z" fill="none" stroke="white" stroke-width="2.71293" stroke-linecap="round" stroke-linejoin="round"></path>
  101.                             <path d="M28.4803 28.2407L22.0938 21.9541" stroke="white" stroke-width="2.71293" stroke-linecap="round" stroke-linejoin="round"></path>
  102.                         </svg>
  103.                     </a>
  104.                     <input style="letter-spacing:1px;text-transform:unset;font-size: 14px;" type="button" value="Buscar" data-type="online" class="js-changeType search__footer__submit btn hide-desk btn--full btn--submit js-searchButton  s:w-[98%] xs:w-[98%]">
  105.                     {# <div class="wrapper-susy search-flight__options search-submit-pack">
  106.                         <div class="search-flight__col-advanced-options search-submit-pack last-option js-options">
  107.                             <div class="form-group js-responsive-submit">
  108.                                 <input type="button" value="Buscar" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn_2 %}js-searchButton{% endblock %}">
  109.                             </div>
  110.                         </div>
  111.                     </div> #}
  112.                 </section>
  113.             </div>
  114.         </section>
  115.         {# <div class="search__btn-group btn-group" role="group" aria-label="Select package type">
  116.             <button type="button" id="activities" class="btn btn--accent tooltips js-toggleOptionsBtn" data-type="activities" title="Por actividades">
  117.                 {#<span class="tooltips-content hidden-all show-availengine">Ida y Vuelta</span>
  118.                 <i class="icon icon_flight_roundtrip"></i>#}
  119.                 {# <span class=""> #}
  120.                     {# Por experiencias
  121.                 </span>
  122.             </button>
  123.             <button type="button" id="cities" class="btn btn--inactive tooltips js-toggleOptionsBtn" data-type="cities" title="Por ciudades"> #}
  124.                 {#<span class="tooltips-content hidden-all show-availengine">Solo Ida</span>
  125.                 <i class="icon icon_flight_oneway"></i>#}
  126.                 {# <span class="">
  127.                     Por destinos
  128.                 </span>
  129.             </button>
  130.         </div> #}
  131.     {# </div> #}
  132.     {# END .search-header #}
  133.     {# START .search-body #}
  134.     <div class="wrapper-susy">
  135.         {# term type search 'personalizada' -> _* else 'especializado' #}
  136.         {# <div id="activitiesOptions" class="js-toggleOptions">
  137.             {% for key, option in packageOptions %}
  138.                 <div class="search__col-package form-group">
  139.                     {# <a class="package-box js-packageSelect" href="/paquetes/{{ option.type }}/{{ option.term }}" data-select="{{ option.term }}" role="button" tabindex="0"#}
  140.                         {# <div class="package-box__outline"></div>
  141.                         <div class="package-box__image packg-{{ key }}" style="background-image: url(/assets/aviatur_assets/img/package/types/{{ key }}.jpg);"></div>
  142.                         <div class="package-box__label-wrapper">
  143.                             <span class="package-box__label sp-inset--small">{{ option.label | raw }}</span>
  144.                         </div>
  145.                     </a>
  146.                 </div>
  147.             {% endfor %}
  148.         </div> #}
  149.         {% set citiesOptions = {
  150.             'bogota': {'term': 'bogota', 'label': 'Bogotá', 'type': 'personalizada'},
  151.             'medellin': {'term': 'medellin', 'label': 'Medellín', 'type': 'personalizada'},
  152.             'cali': {'term': 'Cali', 'label': 'Cali', 'type': 'personalizada'},
  153.             'san-andres': {'term': 'san-andres', 'label': 'San&nbsp;Andrés', 'type': 'personalizada'},
  154.             'paris': {'term': 'paris', 'label': 'París', 'type': 'personalizada'},
  155.             'miami': {'term': 'miami', 'label': 'Miami', 'type': 'personalizada'},
  156.             'cancun': {'term': 'cancun', 'label': 'Cancún', 'type': 'personalizada'}
  157.         } %}
  158.         {# <div id="citiesOptions" class="js-toggleOptions" style="display:none">
  159.             {% for key, option in citiesOptions %}
  160.                 <div class="search__col-package form-group">
  161.                     <a class="package-box js-packageSelect" href="/paquetes/{{ option.type }}/{{ option.term }}" {#data-select="{{ option.term }}" role="button" tabindex="0"#}
  162.                         {# <div class="package-box__outline"></div>
  163.                         <div class="package-box__image packg-{{ key }}" style="background-image: url(/assets/aviatur_assets/img/package/types/{{ key }}.jpg);"></div>
  164.                         <div class="package-box__label-wrapper">
  165.                             <span class="package-box__label sp-inset--small">{{ option.label | raw }}</span>
  166.                         </div>
  167.                     </a>
  168.                 </div>
  169.             {% endfor %}
  170.         </div> #}
  171. {#        <input type="hidden" id="js-packageOption" class="hidden-all" name="parameters[packageOption]" value=""/>#}
  172.         {# DATES #}
  173.         {#<div class="search__col-package dispo__col-search">
  174.             <div class="form-group">
  175.                 <div class="relative icon__input--inline icon_search_calendar-in js-createDatepicker js-datepicker-container-open" data-input="#date1" data-instancenbr="1" role="button" tabindex="0" data-tabopen="1">
  176.                     <input type="hidden" name="parameters[date1]" id="date1" readonly="readonly" style="display:none">
  177.                     <input type="text" id="js-createDatepicker1" name="parameters[date1validate]" placeholder="Fecha Ida" readonly="readonly" class="text-input input--white js-searchErrorInput js-inputDatepicker no-focus" tabindex="-1">
  178.                     {# <img class="search-shared_datepicker-arrow-top js-datepicker-container-arrow-top hide-availengine" src="{{ asset('assets/'~ agency_folder.assetStyle() ~'/img/icon/arrow_datepicker_top.png') }}" alt="top-pointer"/> #}
  179.                 </div>
  180.             </div>
  181.         </div>
  182.         <label id="js-dateError" class="label--error js-searchErrorWanted" style="display: none; margin-top: 20px;"></label>
  183.         {# END DATES #}
  184.         {#<div class="search__col-submit pull-right">
  185.             <div class="form-group js-responsive-submit">
  186.                 <input type="button" value="Buscar" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn_2 %}js-searchButton{% endblock %}">
  187.             </div>
  188.         </div>#}
  189.   
  190.     {# <div class="search__link-options sp-stack js-responsive-option-title">
  191.         <span class="search__option link-span sp-inset--tiny no-active js-slideToggle js-iconToggle" data-slidetoggle="js-options" role="button" tabindex="0">
  192.             <i class="icon icon_arrow_down" data-icon1="icon_arrow_up" data-icon2="icon_arrow_down"></i>
  193.             Búsqueda personalizada
  194.         </span>
  195.     </div>
  196.     <div class="wrapper-susy search-flight__options">
  197.         <div class="search-flight__col-advanced-options first-option js-options" style="display:none">
  198.             <div class="form-group">
  199.                 <i class="icon icon_search_close icon__input js-empty"></i>
  200.                 <input id="searchInputValidate" pattern="[a-z][A-Z]" class="text-input input--white js-searchErrorInput js-scrollToTop" type="text" name="parameters[searchInputValidate]" placeholder="e.g. Europa">
  201.                 <label id="js-searchInputError" class="label--error js-searchInputError" style="display: none;"></label>
  202.             </div>
  203.         </div>
  204.         <div class="search-flight__col-advanced-options last-option js-options" style="display:none">
  205.             <div class="form-group js-responsive-submit">
  206.                 <input type="button" value="Buscar" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn_2 %}js-searchButton{% endblock %}">
  207.             </div>
  208.         </div>
  209.     </div> #}
  210.     {# END .search-body #}
  211. </form>
  212. <script>
  213.     document.addEventListener('DOMContentLoaded' , e => {
  214.         let $cleanSelect = document.querySelector('.js-cleanSelect');
  215.         let $cleanInput = document.querySelector('.js-cleanInput');
  216.         document.addEventListener('click', e => {
  217.             if (e.target.matches('.js-cleanSelect')) {
  218.                 $cleanInput.value = '';                
  219.             }
  220.             if (e.target.matches('.js-cleanInput')) {
  221.                 $cleanSelect.value = 0;                
  222.             }
  223.         });
  224.     });
  225. </script>