templates/layout/includes/navegation/mobile.html.twig line 1

Open in your IDE?
  1. {% if currentPath == '/es/empresa' or currentPath == '/en/about-us'%}
  2.     {% set isAboutUs = true%}
  3. {% else %}
  4.     {% set isAboutUs = false %}
  5. {%  endif %}
  6. <div class="mobile-nav-wrapper" role="navigation">
  7.     <div id='closeMenu' class="closemobileMenu"><i class="icon an an-times-l pull-right"></i>{{ 'movile.navigation_close_menu' | trans }}</div>
  8.     <ul id="MobileNav" class="mobile-nav">
  9.         <!-- Dropdown menu for "Professional Area" -->
  10.         <li class="lvl1 parent dropdown">
  11.             <a href="{{ isRoot ? '#featured-services' : navStartNode~'#featured-services' }}" class="lvl-1">
  12.                 {{ 'layout.footer.information.professional-area_translations' | trans }}
  13.                 <i class="an an-plus-l"></i>
  14.             </a>
  15.             <ul class="dropdown">
  16.                 <li><a href="{{ isAboutUs ? '#company' : navStartNode~'/'~ (app.request.locale == 'en' ? 'about-us' : 'empresa') }}" class="site-nav">{{ 'home.about-us_title_translations' | trans }}</a></li>
  17.                 <li><a href="/{{ app.request.locale == 'en' ? 'en/about-us' : 'es/empresa' }}#technicalAdvice" class="site-nav">{{ 'home.about-us-cards.technical_advice_translations' | trans }}</a></li>
  18.                 <li><a href="/{{ app.request.locale == 'en' ? 'en/about-us' : 'es/empresa' }}#customService" class="site-nav">{{ 'home.about-us-cards.custom_service_translations' | trans }}</a></li>
  19.                 <li><a href="/{{ app.request.locale == 'en' ? 'en/about-us' : 'es/empresa' }}#stockLogistic" class="site-nav">{{ 'home.about-us-cards.stock_and_logistics_translations' | trans }}</a></li>
  20.                 <li><a href="/{{ app.request.locale == 'en' ? 'en/about-us' : 'es/empresa' }}#training" class="site-nav">{{ 'home.about-us-cards.training_translations'| trans }}</a></li>
  21.             </ul>
  22.         </li>
  23.         <!-- Other menu items -->
  24.         <li class="lvl1 bottom-link"><a href="{{ '/' ~ (app.request.locale == 'en' ? 'en/products/default_m1' : 'es/productos/default_m1') }}">{{ 'layout.navbar-desktop.products_translations' | trans }}</a></li>
  25.         <li class="lvl1 parent dropdown">
  26.             <a href="{{ isRoot ? '/#technicalArea' : navStartNode~'/#technicalArea' }}" class="lvl-1">
  27.                 {{ 'Layout.Navegation.Technical-Area_translations' | trans }}
  28.                 <i class="an an-plus-l"></i>
  29.             </a>
  30.             <ul class="dropdown">
  31.                 <li><a href="{{ '/' ~ (app.request.locale == 'en' ? 'en/technical-area/painting-schemes' : 'es/area-tecnica/esquemas-de-pintado') }}" class="site-nav">{{ "Esquemas de pintado" | trans }}</a></li>
  32.                 <li><a href="#" onclick="event.preventDefault()" id="search-link-mobile" class="site-nav">{{ "Fichas técnicas y de seguridad" | trans }}</a></li>
  33.                 <li><a href="{{ '/' ~ (app.request.locale == 'en' ? 'en/technical-area/calculate-square-meters' : 'es/area-tecnica/calcular-metros-cuadrados') }}" class="site-nav">{{ "Calcular metros cuadrados" | trans }}</a></li>
  34.                 <li><a href="{{ '/' ~ (app.request.locale == 'en' ? 'en/technical-area/how-much-paint-do-I-need' : 'es/area-tecnica/cuanta-pintura-necesito') }}" class="site-nav">{{ "Cuánta pintura necesito?" | trans }}</a></li>
  35.             </ul>
  36.         </li>
  37.         <li class="lvl1 bottom-link"><a href="/#catalog">{{ 'home.catalog.title_translations' | trans }}</a></li>
  38.         <li class="lvl1 bottom-link"><a href="{{path('rates-view')}}">{{ 'lbl_Tarifa' | trans }}</a></li>
  39.         <li class="lvl1 parent dropdown">
  40.             <a href="{{ isRoot ? '/#collaborators' : navStartNode~'/#collaborators' }}" class="lvl-1">
  41.                 {{ 'layout.navegation.collaborators_translations' | trans }}
  42.                 <i class="an an-plus-l"></i>
  43.             </a>
  44.             <ul class="dropdown">
  45.                 <li><a href="{{ '/' ~ (app.request.locale == 'en' ? 'en/point-of-sale' : 'es/puntos-de-venta') }}" class="site-nav">{{ 'home.collaborators.points-of-sale_translations' | trans}}</a></li>
  46.                 <li><a href="{{ '/' ~ (app.request.locale == 'en' ? 'en/industry-professionals' : 'es/profesionales-del-sector') }}" class="site-nav">{{ 'home.collaborators.industry-professionals_translations' | trans}}</a></li>
  47.             </ul>
  48.         </li>
  49.         <li class="lvl1 bottom-link"><a href="/#news">{{ 'layout.navbar-desktop.new-arrivals_translations' | trans }}</a></li>
  50.         <li class="lvl1 bottom-link"><a href="/{{ app.request.locale }}#contact">{{ 'BotonContacto' | trans }}</a></li>
  51.         {# Gets the events document dinamically with his path to get the data from the editables in it#}
  52.         {% set documentName = app.request.locale == 'en' ? '/recent-events' : '/eventos-recientes' %}
  53.         {% set eventDocument = pimcore_document_by_path('/' ~ app.request.locale ~ documentName) %}
  54.         {% set eventBlock = eventDocument.getEditable('eventBlock') %}
  55.         {% if is_authenticated and eventBlock is not null %}
  56.             {% if not eventBlock.isEmpty() %}
  57.                 {% set eventsPath = app.request.locale == 'en' ? '/en/recent-events' : '/es/eventos-recientes' %}
  58.                 <li class="lvl1 bottom-link"><a href="{{ eventsPath }}">{{ 'Events' | trans }}</a></li>
  59.             {% endif %}
  60.             <li><a href="/myAccount">{{ 'layout.footer.information.my-account_translations' | trans }}</a></li>
  61.             <li><a href="{{ path('account_logout')}}">{{ "Logout" | trans }}</a></li>
  62.         {% else %}
  63.             <li><a href="/account/login">{{ 'home.footer_login_translations' | trans }}</a></li>
  64.             <li><a id="register-btn" href="/{{ app.request.locale }}/#contact-title">{{ "Regístrate" | trans }}</a></li>
  65.         {% endif %}
  66.     </ul>
  67. </div>
  68. <script>
  69.     // JavaScript code to handle the dropdown toggle
  70.     document.addEventListener("DOMContentLoaded", function () {
  71.         const dropdownToggles = document.querySelectorAll(".dropdown-toggle")
  72.         const searchLinkMobile = document.getElementById("search-link-mobile");
  73.         const closeMenu = document.getElementById("closeMenu");
  74.         var searchBox = document.getElementById("search-box");
  75.         var searchBoxMobile = document.getElementById("search-box-mobile");
  76.         var searchBoxMobile = document.getElementById("search-box-mobile");
  77.         var lang = document.documentElement.lang;
  78.         var placeholderText = lang === "en" ? "What product do you want technical information for?" : "¿De qué producto quiere su ficha técnica?";
  79.         var placeholderInterval;
  80.         var placeholderTextIndex = 0;
  81.         var isTyping = false;
  82.         dropdownToggles.forEach(function (toggle) {
  83.             toggle.addEventListener("click", function () {
  84.                 const dropdownMenu = this.nextElementSibling;
  85.                 const icon = this.querySelector(".an");
  86.                 if (dropdownMenu.classList.contains("active")) {
  87.                     dropdownMenu.classList.remove("active");
  88.                     icon.classList.remove("an-minus-l");
  89.                     icon.classList.add("an-plus-l");
  90.                 } else {
  91.                     dropdownMenu.classList.add("active");
  92.                     icon.classList.remove("an-plus-l");
  93.                     icon.classList.add("an-minus-l");
  94.                 }
  95.             });
  96.         });
  97.         function typePlaceholderText(element, text, interval) {
  98.             placeholderTextIndex = 0;
  99.             clearInterval(placeholderInterval);
  100.             isTyping = true;
  101.             placeholderInterval = setInterval(function() {
  102.                 element.setAttribute("placeholder", text.slice(0, placeholderTextIndex));
  103.                 element.style.color = "red";
  104.                 placeholderTextIndex++;
  105.                 if (placeholderTextIndex > text.length) {
  106.                     clearInterval(placeholderInterval);
  107.                     isTyping = false;
  108.                 }
  109.             }, interval);
  110.         }
  111.         function shakeSearchBox() {
  112.             if (isTyping) {
  113.                 clearInterval(placeholderInterval);
  114.                 isTyping = false;
  115.                 searchBox.removeAttribute("style");
  116.                 searchBoxMobile.removeAttribute("style");
  117.             }
  118.             searchBox.value = "";
  119.             searchBox.removeAttribute("placeholder");
  120.             searchBox.focus();
  121.             searchBox.classList.add("shake");
  122.             searchBoxMobile.value = "";
  123.             searchBoxMobile.removeAttribute("placeholder");
  124.             $('#search-popup').addClass("active");
  125.             searchBoxMobile.focus();
  126.             searchBoxMobile.classList.add("shake");
  127.             setTimeout(function() {
  128.                 searchBox.classList.remove("shake");
  129.                 searchBoxMobile.classList.remove("shake");
  130.                 typePlaceholderText(searchBox, placeholderText, 100);
  131.                 typePlaceholderText(searchBoxMobile, placeholderText, 100);
  132.             }, 600);
  133.             searchBox.focus();
  134.             searchBoxMobile.focus();
  135.         }
  136.         searchLinkMobile.addEventListener("click", function(event) {
  137.             event.preventDefault();
  138.             shakeSearchBox();
  139.             closeMenu.click();
  140.         });
  141.     });
  142. </script>