templates/front/accommodation/accommodation-1.html.twig line 1

Open in your IDE?
  1. {% extends 'front/page.html.twig' %}
  2. {% trans_default_domain 'front' %}
  3. {% import "front/_shared/macros.html.twig" as macro %}
  4. {% block body_class %}{{ parent() }} {% endblock %}
  5. {%  block meta_title %}{{ page.metaTitle }}{% endblock %}
  6. {%  block meta_description %}{{ page.metaDescription }}{% endblock %}
  7. {% set isMobile = isMobile() %}
  8. {% block header_class %}
  9.     {{ (isMobile) ? "detail-head" : "dark-header" }}
  10. {% endblock %}
  11. {% block header_content %}
  12.     {% if isMobile %}
  13.         <div id="accommodation-detail-header" class="mobile" style="{% if accommodation.cover %}background-image: url({{ accommodation.cover | imagine_filter('accommodation_slider') }});{% endif %}">
  14.             <div class="intro">
  15.                 <h1><span>{{ accommodation.name }}</span></h1>
  16.                 <h2 class="subtitle">
  17.                     {{ accommodation.address.address }}
  18.                     <br>{{ accommodation.address.zipcode }} {{ accommodation.address.city }}
  19.                 </h2>
  20.             </div>
  21.         </div>
  22.     {% endif %}
  23. {% endblock %}
  24. {% block page_content %}
  25.     {% if not isMobile %}
  26.         <div class="detail-head">
  27.             <div class="detail-title-container container-fluid">
  28.                 <div class="owl-carousel carousel-detail" data-controller="carousel" data-type="detail">
  29.                     {% if accommodation.cover %}
  30.                         <div>
  31.                             <img src="{{ accommodation.cover | imagine_filter('accommodation_inline_slider') }}" alt="">
  32.                         </div>
  33.                     {% endif %}
  34.                     {% for image in accommodation.images %}
  35.                         <div>
  36.                             <img src="{{ image | imagine_filter('accommodation_inline_slider') }}" alt="">
  37.                         </div>
  38.                     {% endfor %}
  39.                 </div>
  40.             </div>
  41.         </div>
  42.     {% else %}
  43.         <div class="lightbox-gallery">
  44.             {% for image in accommodation.images %}
  45.                 <a href="{{ image | imagine_filter('accommodation_slider') }}"></a>
  46.             {% endfor %}
  47.         </div>
  48.         <div id="mobile-gallery-thumbs">
  49.             {% for image in accommodation.images|slice(0,4) %}
  50.                 <div class="image-container">
  51.                     <a href="{{ image | imagine_filter('accommodation_slider') }}" class="open-lightbox-gallery">
  52.                         <img src="{{ image | imagine_filter('accommodation_square_gallery') }}" class="d-block w-100" alt="{{ accommodation.name }} - photo">
  53.                     </a>
  54.                 </div>
  55.             {% endfor %}
  56.         </div>
  57.         <div class="text-center mb-3">
  58.             <button class="btn btn-primary open-lightbox-gallery">VOIR TOUTES LES PHOTOS</button>
  59.         </div>
  60.     {% endif %}
  61.     <main class="detail detail-1" data-controller="accommodation">
  62.         {% if not isMobile %}
  63.             <div class="menu-detail d-none d-lg-block">
  64.                 <ul>
  65.                     <li class="active"><a href="#description">Description</a></li>
  66.                     <li><a href="#services">Services</a></li>
  67.                     <li><a href="#colocataires">Colocataires</a></li>
  68.                     <li><a href="#emplacement">Emplacement</a></li>
  69.                     <li><a href="#chambres">Chambres</a></li>
  70.                     <li><a href="{{ accommodation.virtualTour }}" target="_blank" class="btn-explore"><img src="{{ asset('build/images/icons/icon_play.svg') }}" alt=""> Explorer</a></li>
  71.                 </ul>
  72.             </div>
  73.             <div id="virtual-tour-modal">
  74.             <div class="overlay"></div>
  75.             <div class="content">
  76.                 <button class="btn-close">x</button>
  77.                 <iframe></iframe>
  78.             </div>
  79.         </div>
  80.         {% endif %}
  81.         <div class="bg-info-ctn">
  82.             {% include 'front/accommodation/blocks/infos-1.html.twig' %}
  83.             <section class="container rooms" id="chambres">
  84.                 <div class="row">
  85.                     <div class="col rooms-inner">
  86.                         {% if not isMobile %}
  87.                             <h2 class="title-room">Toutes <span>les chambres</span></h2>
  88.                             <p class="intro-room">
  89.                                 Retrouvez les autres chambres que nous proposons
  90.                             </p>
  91.                             <div class="row mb-5">
  92.                             <div class="col-12 col-md-12 lightbox-gallery text-center">
  93.                                 {% if accommodation.plan %}
  94.                                     <a href="{{ accommodation.plan | imagine_filter('accommodation_slider') }}">
  95.                                         <img class="plan" src="{{ accommodation.plan | imagine_filter('accommodation_wide_thumb') }}" alt="Plan des chambres">
  96.                                     </a>
  97.                                 {% endif %}
  98.                             </div>
  99.                         </div>
  100.                         {% else %}
  101.                             {% if accommodation.virtualTour %}
  102.                                 <h2 class="detail-title">
  103.                                     Visite <span>virtuelle</span>
  104.                                 </h2>
  105.                                 <div id="explore-button-container" style="{% if accommodation.cover %}background-image: url({{ accommodation.cover | imagine_filter('accommodation_slider') }});{% endif %}">
  106.                                     <a href="{{ accommodation.virtualTour }}" target="_blank" class="btn-explore">
  107.                                         <span class="icon-play"></span>
  108.                                         <span class="label">{{ 'title.explore_accommodation'|trans }}</span>
  109.                                     </a>
  110.                                     <div id="virtual-tour-modal">
  111.                                         <div class="overlay"></div>
  112.                                         <div class="content">
  113.                                             <button class="btn-close">x</button>
  114.                                             <iframe></iframe>
  115.                                         </div>
  116.                                     </div>
  117.                                 </div>
  118.                                 <br>
  119.                             {% endif %}
  120.                         {% endif %}
  121.                         {% for room in accommodation.activeRooms %}
  122.                             {% set availabilityDate = room.availablilityDate %}
  123.                             <div class="row room" id="room-{{ room.id }}">
  124.                                 <div class="col-12 col-lg-3 col-xl-3 images">
  125.                                     <div class="owl-carousel carousel-homes" data-controller="carousel" data-type="homes">
  126.                                         {% for image in room.images %}
  127.                                             <div class="illu">
  128.                                                 <img src="{{ image | imagine_filter('room_slider') }}" alt="">
  129.                                             </div>
  130.                                         {% endfor %}
  131.                                     </div> <!-- carousel -->
  132.                                     {% if room.available %}
  133.                                         <div class="available">
  134.                                             <div class="text-ctn">{{ 'label.room_available_now'|trans }}</div>
  135.                                             <img src="{{ asset('build/images/icons/triangle-darkgreen.png') }}">
  136.                                         </div>
  137.                                     {% else %}
  138.                                         <div class="occupied">
  139.                                             {% if availabilityDate is not null %}
  140.                                                 <div class="text-ctn">{{ 'label.available_from'|trans({date: availabilityDate|format_datetime('short', 'none')})|raw }}</div>
  141.                                             {% else %}
  142.                                                 <div class="text-ctn">{{ 'label.room_not_available'|trans }}</div>
  143.                                             {% endif %}
  144.                                             <img src="{{ asset('build/images/icons/triangle-darkgreen.png') }}">
  145.                                         </div>
  146.                                     {% endif %}
  147.                                 </div> <!-- images-->
  148.                                 <div class="col-12 col-lg-9 col-xl-6 infos">
  149.                                     <h2>{{ room.name }}</h2>
  150.                                     <p>{{ room.description }}</p>
  151.                                     <h3>{{ 'label.room_equipment'|trans }}</h3>
  152.                                     <div class="equipment-list" data-controller="equipment-list">
  153.                                         {% set totalEquipment = 0 %}
  154.                                         <ul class="equip-list">
  155.                                             {% if room.privateToilet %}
  156.                                                 {% set totalEquipment = totalEquipment+1 %}
  157.                                                 <li><img src="{{ asset('build/images/icons/toilet.svg') }}" alt=""> {{ 'label.privateToilet'|trans }}</li>
  158.                                             {% endif %}
  159.                                             {% if room.privateBathroom %}
  160.                                                 {% set totalEquipment = totalEquipment+1 %}
  161.                                                 <li><img src="{{ asset('build/images/icons/bathtub.svg') }}" alt=""> {{ 'label.privateBathroom'|trans }}</li>
  162.                                             {% endif %}
  163.                                             {% if room.privateKitchen %}
  164.                                                 {% set totalEquipment = totalEquipment+1 %}
  165.                                                 <li><img src="{{ asset('build/images/icons/kitchen.svg') }}" alt=""> {{ 'label.privateKitchen'|trans }}</li>
  166.                                             {% endif %}
  167.                                             {% set totalEquipment = totalEquipment + room.equipments|length %}
  168.                                             {% for equipment in room.equipments %}
  169.                                                 <li>
  170.                                                     {% if equipment.image %}
  171.                                                         <img src="{{ equipment.image.getUrl() }}" alt="{{ equipment.label }}">
  172.                                                     {% else %}
  173.                                                         <img src="{{ asset('build/images/icons/icon-layers.png') }}" alt="{{ equipment.label }}">
  174.                                                     {% endif %}
  175.                                                     {{ equipment.label }}
  176.                                                 </li>
  177.                                             {% endfor %}
  178.                                         </ul>
  179.                                         {% if totalEquipment > 9 %}
  180.                                             <a href="" class="seemore open-list" data-action="equipment-list#more">Voir tous les équipements</a>
  181.                                             <a href="" class="seemore close-list" data-action="equipment-list#less">Réduire les équipements</a>
  182.                                         {% endif %}
  183.                                     </div>
  184.                                 </div> <!-- infos-->
  185.                                 <div class="col-12 col-lg-12 col-xl-3 resa">
  186.                                     <h3 class="price">{{ room.rent|format_currency('EUR')|currency }} <small>/ {{ 'label.month'|trans }}*</small></h3>
  187.                                     <p class="notice">{{ 'label.maxHousingAssistance'|trans }} <span>-{{ room.maxHousingAssistance|format_currency('EUR')|currency }}</span></p>
  188.                                     <p class="notice">{{ 'label.charges'|trans }} <span>+{{ room.chargesFees|format_currency('EUR')|currency }}</span></p>
  189.                                     {% if room.cleaningFees %}
  190.                                         <p class="notice">{{ 'label.cleaningFees'|trans }} <span>+{{ room.cleaningFees|format_currency('EUR')|currency }}</span></p>
  191.                                     {% endif %}
  192.                                     <h4>{{ 'label.includedInCharges'|trans }}</h4>
  193.                                     <p class="included"><span>•</span> {{ room.chargesDetails|map(c => c.label)|join(', ') }}</p>
  194.                                     {% if room.available %}
  195.                                         {% if not is_granted('IS_AUTHENTICATED_FULLY') %}
  196.                                             <a href="{{ path('front_booking_index', {room: room.id}) }}" class="reserve open-dynamic-modal" data-route="{{ path('front_user_modal_login') }}">{{ 'action.book_room'|trans }}</a>
  197.                                         {% else %}
  198.                                             <a href="{{ path('front_booking_index', {room: room.id}) }}" class="reserve">
  199.                                                 {% if not app.user.isOccupyingRoom %}
  200.                                                     {{ 'action.book_room'|trans }}
  201.                                                 {% else %}
  202.                                                     {{ 'action.change_room'|trans }}
  203.                                                 {% endif %}
  204.                                             </a>
  205.                                         {% endif %}
  206.                                     {% else %}
  207.                                         <a href="#" class="alert open-dynamic-modal" data-route="{{ path('front_accommodation_modal_waiting_list', {id: room.id}) }}">{{ 'action.availability_alert'|trans }}</a>
  208.                                         {% if availabilityDate is not null %}
  209.                                             <p class="alert-notice">{{ 'label.available_from'|trans({date: availabilityDate|format_datetime('short', 'none')})|raw }}</p>
  210.                                         {% endif %}
  211.                                     {% endif %}
  212.                                     <a href="https://api.whatsapp.com/send?phone=" class="whatsapp">Chat Whatsapp</a>
  213.                                 </div> <!-- resa-->
  214.                             </div> <!-- room -->
  215.                         {% endfor %}
  216.                         <div class="btn-contact-room-container">
  217.                             <a href="{{ path('front_page_contact_room', {id: accommodation.id}) }}" class="btn btn-outline-dark btn-contact-room">SE METTRE SUR LISTE D'ATTENTE</a>
  218.                         </div>
  219.                     </div>
  220.                 </div>
  221.             </section> <!-- rooms -->
  222.         </div>
  223.         {% include "front/_shared/faq.html.twig" %}
  224.     </main>
  225. {% endblock %}
  226. {% block javascripts %}
  227.     {{ parent() }}
  228. {% endblock %}
  229. {% block javascripts_footer %}
  230. {% endblock %}