templates/dashboard_free/layout.html.twig line 1

Open in your IDE?
  1. <!doctype html>
  2. <html lang="fr">
  3. <head>
  4.     {% set base_url = app.request.schemeAndHttpHost %}
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7.     <meta http-equiv="Content-Language" content="fr" />
  8.     <meta name="viewport" content="width=device-width, initial-scale=1">
  9.     <meta name="robots" content="noindex, nofollow">
  10.     {% block head %}
  11.     {% endblock %}
  12.     <!--Favicon-->
  13.     <link rel="icon" type="image/png" href="{{ base_url }}/static/img/dashboard-free/favicon.webp" />
  14.     <!--CSS-->
  15.     <link rel="preload" href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap" as="style" />
  16.     <link rel="preload" href="https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap" as="style" />
  17.     <link rel="preload" href="https://fonts.cdnfonts.com/css/muller-narrow" as="style" />
  18.     <link rel="preload" type="text/css" title="Style" href="{{ base_url }}/styles.css" as="style" />
  19.     <link rel="stylesheet" type="text/css" title="Style" href="{{ base_url }}/styles.css" />
  20.     <!--JS-->
  21.     <script src="{{ base_url }}/js/custom.js" type="text/javascript"></script>
  22.     <script src="https://unpkg.com/alpinejs" defer></script>
  23.     {% for file in encore_entry_css_files('free') %}
  24.         <link href="{{ absolute_url(asset(file)) }}" rel="stylesheet" />
  25.     {% endfor %}
  26.     {#{{ encore_entry_link_tags('free',null,'/') }}#}
  27. </head>
  28. <body class="font-poppins" x-data="{ open: false, mobileMenuOpen: false, dropdownOpen: false }" @keydown.escape.window="open = false">
  29. <!-- Header -->
  30.     <header class="flex bg-white fixed w-full z-10 border-bleu border-b-[1px] px-4 py-4  justify-between flex-wrap items-center" x-data="{ mobileMenuOpen: false, dropdownOpen: false }">
  31.         <div class="flex flex-wrap items-center">
  32.             <a href="https://lesbonsprofs.com" target="_blank" aria-label="Les Bons Profs"><img src="{{ base_url }}/static/img/dashboard-free/les-bons-profs-logo.svg" alt="Les bons profs - Cours gratuits" class="w-48 md:w-56 lg:w-auto"/></a>
  33.             <div class="hidden lg:flex text-nowrap font-bold text-bleu text-[15px]"><img src="{{ base_url }}/static/img/dashboard-free/phone.svg" alt="télephone" class="pl-3 pr-1" /> 01 86 95 72 01</div>
  34.         </div>
  35.         <div class="flex">
  36.             <!-- Menu -->
  37.             <div x-data="{ mobileMenuOpen: false, dropdownOpen: false }" class="w-full md:w-auto">
  38.                 <!-- Bouton Menu Mobile -->
  39.                 <button @click="mobileMenuOpen = !mobileMenuOpen" class="md:hidden text-bleu">
  40.                     <svg x-show="!mobileMenuOpen" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
  41.                         <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/>
  42.                     </svg>
  43.                     <svg x-show="mobileMenuOpen" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
  44.                         <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
  45.                     </svg>
  46.                 </button>
  47.                 <!-- Navigation Links (partagé entre Desktop et Mobile) -->
  48.                 <nav :class="{'hidden': !mobileMenuOpen, 'absolute left-0 right-0 bg-white z-50': mobileMenuOpen}"
  49.                      class="md:block md:relative">
  50.                     <ul class="md:flex md:items-center xl:gap-8">
  51.                         <!-- Nos offres -->
  52.                         <li>
  53.                             <a href="{{ base_url_front~'/nos-offres' }}" class="block px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors">Nos offres</a>
  54.                         </li>
  55.                         <!-- Dropdown Nos cours -->
  56.                         <li class="relative">
  57.                             <button @click="dropdownOpen = !dropdownOpen"
  58.                                     class="flex items-center w-full px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors">
  59.                                 <span>Nos cours</span>
  60.                                 <svg class="w-4 h-4 ml-1 transition-transform" :class="{'rotate-180': dropdownOpen}" fill="currentColor" viewBox="0 0 20 20">
  61.                                     <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z"/>
  62.                                 </svg>
  63.                             </button>
  64.                             <!-- Sous-menu (même contenu pour Desktop et Mobile) -->
  65.                             <div x-show="dropdownOpen"
  66.                                  @click.away="dropdownOpen = false"
  67.                                  x-transition:enter="transition ease-out duration-200"
  68.                                  x-transition:enter-start="opacity-0"
  69.                                  x-transition:enter-end="opacity-100"
  70.                                  x-transition:leave="transition ease-in duration-150"
  71.                                  x-transition:leave-start="opacity-100"
  72.                                  x-transition:leave-end="opacity-0"
  73.                                  class="md:absolute md:left-0 md:mt-2 md:w-48 bg-white md:border-2 md:rounded-lg md:shadow-lg z-50">
  74.                                 <div class="py-2 text-[14px]">
  75.                                     {% for al in allCourses %}
  76.                                     <a href="{{ base_url_front }}/nos-cours/{{ al.slug }}" class="block px-8 md:px-4 py-2 text-bleu hover:text-grenat transition-colors">{{ al.title|capitalize }}</a>
  77.                                     {% endfor %}
  78.                                 </div>
  79.                             </div>
  80.                         </li>
  81.                         <!-- Blog -->
  82.                         <li>
  83.                             <a href="#" class="block px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors">Blog</a>
  84.                         </li>
  85.                         <!-- Bouton Essayer gratuitement -->
  86.                         <li class="px-4 md:px-0 py-2">
  87.                             <a href="#" class="block bg-bleu hover:bg-grenat text-white md:text-[12px] lg:text-[16px] font-bold py-2 px-4 rounded-full text-center transition-colors">
  88.                                 Essayer gratuitement
  89.                             </a>
  90.                         </li>
  91.                     </ul>
  92.                 </nav>
  93.             </div>
  94.         </div>
  95.     </header>
  96.     {% block content %}
  97.     {% endblock %}
  98.     <footer class="bg-bleu bg-[url('{{ base_url }}/static/img/dashboard-free/logo-bleu-transparent.png')] bg-no-repeat bg-right-bottom bg-[size:250px] text-white py-12 px-4" x-data="{
  99.       openSection: null,
  100.       toggleSection(section) {
  101.         this.openSection = this.openSection === section ? null : section
  102.       }
  103.     }">
  104.         <div class="max-w-[1160px] mx-auto">
  105.             <!-- Logo -->
  106.             <a href="https://lesbonsprofs.com" target="_blank" aria-label="Les Bons Profs" class="block mb-8">
  107.                 <img src="{{ base_url }}/static/img/dashboard-free/logo-blanc.svg" alt="Les bons profs - Cours gratuits" class="w-[285px]"/>
  108.             </a>
  109.             <!-- Navigation -->
  110.             <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-8 text-[15px]">
  111.                 <!-- Nos cours -->
  112.                 <div>
  113.                     <button
  114.                             @click="toggleSection('cours')"
  115.                             class="font-bold text-xl md:text-2xl mb-4 md:cursor-default inline-flex items-center gap-2"
  116.                     >
  117.                         <span>Nos cours</span>
  118.                         <svg
  119.                                 class="w-4 h-4 transition-transform md:hidden"
  120.                                 :class="{'rotate-180': openSection === 'cours'}"
  121.                                 fill="none"
  122.                                 stroke="currentColor"
  123.                                 viewBox="0 0 24 24"
  124.                         >
  125.                             <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
  126.                         </svg>
  127.                     </button>
  128.                     <ul
  129.                             class="space-y-2 overflow-hidden transition-all duration-300 md:block"
  130.                             :class="{'hidden': openSection !== 'cours'}"
  131.                     >
  132.                         {% for al in allCourses %}
  133.                         <li><a href="{{ base_url_front~'/nos-cours/'~al.slug }}" class="hover:text-peche transition-colors">{{ al.title }}</a></li>
  134.                         {% endfor %}
  135.                     </ul>
  136.                 </div>
  137.                 <!-- Nos pages -->
  138.                 <div class="sm:col-start-1 md:col-start-2 sm:-mt-16 md:mt-0">
  139.                     <button
  140.                             @click="toggleSection('pages')"
  141.                             class="font-bold text-xl md:text-2xl mb-4 md:cursor-default inline-flex items-center gap-2"
  142.                     >
  143.                         <span>Nos pages</span>
  144.                         <svg
  145.                                 class="w-4 h-4 transition-transform md:hidden"
  146.                                 :class="{'rotate-180': openSection === 'pages'}"
  147.                                 fill="none"
  148.                                 stroke="currentColor"
  149.                                 viewBox="0 0 24 24"
  150.                         >
  151.                             <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
  152.                         </svg>
  153.                     </button>
  154.                     <ul
  155.                             class="space-y-2 overflow-hidden transition-all duration-300 md:block"
  156.                             :class="{'hidden': openSection !== 'pages'}"
  157.                     >
  158.                         <li><a href="{{ base_url_front }}" class="hover:text-peche transition-colors">Les Bons Profs</a></li>
  159.                         <li><a href="{{ base_url_front }}/nos-offres" class="hover:text-peche transition-colors">Nos offres</a></li>
  160.                         <li><a href="{{ base_url_front }}/blog" class="hover:text-peche transition-colors">Blog</a></li>
  161.                         <li><a href="#" class="hover:text-peche transition-colors">Notre manifeste</a></li>
  162.                         <li><a href="#" class="hover:text-peche transition-colors">Conditions générales d'utilisation</a></li>
  163.                         <li><a href="#" class="hover:text-peche transition-colors">Mentions légales</a></li>
  164.                     </ul>
  165.                 </div>
  166.                 <!-- Réseaux sociaux et Contact -->
  167.                 <div class="grid sm:col-start-2 sm:row-start-1 md:col-start-3">
  168.                     <span class="hidden md:block font-bold text-xl md:text-2xl md:-mb-8">Nous suivre</span>
  169.                     <div class="flex space-x-4">
  170.                         <a href="https://www.facebook.com/lesbonsprofs" target="_blank" class="hover:opacity-75 transition-opacity">
  171.                             <img src="{{ base_url }}/static/img/dashboard-free/facebook.svg" alt="Facebook" class="w-8 h-8">
  172.                         </a>
  173.                         <a href="https://www.instagram.com/lesbonsprofs/" target="_blank" class="hover:opacity-75 transition-opacity">
  174.                             <img src="{{ base_url }}/static/img/dashboard-free/instagram.svg" alt="Instagram" class="w-8 h-8">
  175.                         </a>
  176.                         <a href="https://fr.linkedin.com/company/lesbonsprofs" target="_blank" class="hover:opacity-75 transition-opacity">
  177.                             <img src="{{ base_url }}/static/img/dashboard-free/linkedin.svg" alt="Linkedin" class="w-8 h-8">
  178.                         </a>
  179.                     </div>
  180.                     <span class="font-bold text-xl md:text-2xl row-start-1 md:row-start-3 mb-8 md:mb-0">Contactez-nous</span>
  181.                 </div>
  182.             </div>
  183.         </div>
  184.     </footer>
  185. {% for file in encore_entry_js_files('free') %}
  186.     <script src="{{ absolute_url(asset(file)) }}" ></script>
  187. {% endfor %}
  188. </body>
  189. </html>