templates/front/main/header/mobile/menu-mobile.html.twig line 1

Open in your IDE?
  1. {% import 'front/main/header/menu-macros-front.html.twig' as macros %}
  2. {% set is_multilingual = app.request.server.get('APP_IS_MULTILINGUAL')|default('false')|lower == 'true' %}
  3. {% set is_multi_currency = app.request.server.get('APP_IS_MULTI_CURRENCY')|default('false')|lower == 'true' %}
  4. {% set has_b2b_space = app.request.server.get('APP_HAS_B2B_SPACE')|default('false')|lower == 'true' %}
  5. {% set current_route = app.request.attributes.get('_route') %}
  6. {% set show_currency = current_route in ['app_main', 'hotel_search', 'flight_search', 'transfer_search'] %}
  7. <div
  8.     class="offcanvas offcanvas-end mobile-menu-offcanvas"
  9.     tabindex="-1"
  10.     id="mobileMenuOffcanvas"
  11.     aria-labelledby="mobileMenuOffcanvasLabel"
  12.     data-bs-backdrop="true"
  13.     data-bs-scroll="false"
  14. >
  15.     <div class="offcanvas-header mobile-menu-offcanvas__header">
  16.         <h2 id="mobileMenuOffcanvasLabel" class="visually-hidden">Mobile menu</h2>
  17.         <div class="mobile-menu-offcanvas__brand">
  18.             <a href="{{ path('app_main') }}">
  19.                 <img src="{{ asset('front/assets/img/logo-responsive.png') }}" alt="logo">
  20.             </a>
  21.         </div>
  22.         {{ include('front/main/header/mobile/top_menu_session_contact_mobile.html.twig') }}
  23.         <button
  24.             type="button"
  25.             class="mobile-menu-close"
  26.             data-bs-dismiss="offcanvas"
  27.             aria-label="Close mobile menu"
  28.         >
  29.             <i class="fas fa-times"></i>
  30.         </button>
  31.     </div>
  32.     <div class="offcanvas-body mobile-menu-offcanvas__body">
  33.         <div class="mobile-menu-session">
  34.             <div class="mobile-menu-session__toprow">
  35.                 <ul class="mobile-menu-session__list">
  36.                     {% if is_multilingual %}
  37.                         {{ include('front/main/header/top_menu_session_languages.html.twig') }}
  38.                     {% endif %}
  39.                     {% if is_multi_currency and show_currency %}
  40.                         {{ include('front/main/header/mobile/top_menu_session_currencies_mobile.html.twig') }}
  41.                     {% endif %}
  42.                     {{ include('front/main/header/mobile/top_menu_session_customer_mobile.html.twig') }}
  43.                     {{ include('front/main/header/mobile/top_menu_session_cart.html.twig') }}
  44.                 </ul>
  45.             </div>
  46.             {% if app.user %}
  47.                 {% set mobile_user_name = app.user.username|default(app.user.userIdentifier|default('Compte')) %}
  48.                 {% set mobile_user_initial = mobile_user_name|slice(0, 1)|upper %}
  49.                 <div class="mobile-menu-user">
  50.                     <div class="mobile-menu-user__card">
  51.                         <span class="mobile-menu-user__avatar" aria-hidden="true">{{ mobile_user_initial }}</span>
  52.                         <span class="mobile-menu-user__name">{{ mobile_user_name }}</span>
  53.                     </div>
  54.                 </div>
  55.             {% else %}
  56.                 <div class="mobile-menu-auth">
  57.                     {% if has_b2b_space %}
  58.                         <a href="{{ path('app_login', {type: 'btob'}) }}" class="mobile-menu-auth__btn mobile-menu-auth__btn--secondary">
  59.                             {{ 'Pages.TopMenu.Buttons.BtoBSpace'|trans({}, 'messages_front') }}
  60.                         </a>
  61.                     {% endif %}
  62.                     <a class="mobile-menu-auth__btn mobile-menu-auth__btn--primary topbar-login" data-action="modal-login#openModal" data-bs-dismiss="offcanvas">
  63.                         {{ 'Pages.TopMenu.Buttons.Login'|trans({}, 'messages_front') }}
  64.                     </a>
  65.                 </div>
  66.             {% endif %}
  67.         </div>
  68.         <nav class="mobile-menu-nav" aria-label="Mobile navigation">
  69.             <ul class="mobile-menu-list">
  70.                 {% if app.session.has('menu_front') %}
  71.                     {{ macros.mobile_menu_links(app.session.get('menu_front'), 0, 'mobile') }}
  72.                 {% endif %}
  73.                 {% if app.user %}
  74.                     <li class="mobile-menu-separator" aria-hidden="true"></li>
  75.                     {% set is_backoffice_user = is_granted('ROLE_ADMIN') or is_granted('ROLE_PRODUCT_MANAGER') or is_granted('ROLE_COMMERCIAL') or is_granted('ROLE_AGENT') %}
  76.                     {% set is_btob_user = app.user.roles|filter(role => role starts with 'ROLE_B2B')|length > 0 %}
  77.                     {% set is_btob_admin = app.user.roles|filter(role => role starts with 'ROLE_B2B_ADMIN')|length > 0 %}
  78.                     {% if is_backoffice_user %}
  79.                         <li>
  80.                             <a class="mobile-menu-user__link" href="{{ path('app_admin_dashboard') }}">
  81.                                 {{ 'Pages.Common.Messages.BackOffice'|trans({}, 'messages') }}
  82.                             </a>
  83.                         </li>
  84.                     {% else %}
  85.                         <li class="mobile-menu-user__heading">
  86.                             {{ 'Pages.Userspace.TopMenu.Profile'|trans({}, 'messages_front') }}
  87.                         </li>
  88.                         {% if is_btob_user %}
  89.                             <li>
  90.                                 <a class="mobile-menu-user__link" href="{{ path('app_front_dashboard') }}">
  91.                                     <i class="fas fa-tachometer-alt" aria-hidden="true"></i>
  92.                                     {{ 'Pages.Userspace.LeftMenu.Dashboard'|trans({}, 'messages_front') }}
  93.                                 </a>
  94.                             </li>
  95.                         {% endif %}
  96.                         <li>
  97.                              <a class="mobile-menu-user__link" href="{{ path('app_front_user_area_profile') }}">
  98.                                 <i class="fas fa-user-circle" aria-hidden="true"></i>
  99.                                 {{ 'Pages.Userspace.LeftMenu.Profile'|trans({}, 'messages_front') }}
  100.                             </a>
  101.                         </li>
  102.                         <li>
  103.                             <a class="mobile-menu-user__link" href="{{ path('app_front_user_area_booking_products') }}">
  104.                                 <i class="fas fa-list" aria-hidden="true"></i>
  105.                                 {{ 'Pages.Userspace.LeftMenu.Bookingslist'|trans({}, 'messages_front') }}
  106.                             </a>
  107.                         </li>
  108.                         {% if is_btob_admin %}
  109.                             <li>
  110.                                 <a class="mobile-menu-user__link" href="{{ path('app_front_user_wallet') }}">
  111.                                     <i class="fas fa-wallet" aria-hidden="true"></i>
  112.                                     {{ 'Pages.Userspace.LeftMenu.Wallet'|trans({}, 'messages_front') }}
  113.                                 </a>
  114.                             </li>
  115.                             <li>
  116.                                 <a class="mobile-menu-user__link" href="{{ path('app_front_user') }}">
  117.                                     <i class="fas fa-users" aria-hidden="true"></i>
  118.                                     {{ 'Pages.Userspace.LeftMenu.Users'|trans({}, 'messages_front') }}
  119.                                 </a>
  120.                             </li>
  121.                         {% endif %}
  122.                         <li>
  123.                             <a class="mobile-menu-user__link" href="{{ path('app_front_userarea_change_password') }}">
  124.                                 <i class="bi bi-lock" aria-hidden="true"></i>
  125.                                 {{ 'Pages.Userspace.TopMenu.ChangePassword'|trans({}, 'messages_front') }}
  126.                             </a>
  127.                         </li>
  128.                         <li>
  129.                             <a class="mobile-menu-user__link" href="{{ path('app_front_extra_request_index') }}">
  130.                                 <i class="fas fa-file-invoice" aria-hidden="true"></i>
  131.                                 {{ 'Pages.Userspace.TopMenu.Requests'|trans({}, 'messages_front') }}
  132.                             </a>
  133.                         </li>
  134.                     {% endif %}
  135.                     {# Kept outside the role branches so every connected user sees it last. #}
  136.                     <li class="mobile-menu-user__logout">
  137.                         <a class="mobile-menu-user__link mobile-menu-user__link--logout" href="{{ path('app_logout') }}">
  138.                             <i class="fas fa-sign-out-alt" aria-hidden="true"></i>
  139.                             {{ 'Pages.TopMenu.Buttons.Logout'|trans({}, 'messages_front') }}
  140.                         </a>
  141.                     </li>
  142.                 {% endif %}
  143.             </ul>
  144.         </nav>
  145.     </div>
  146. </div>