var/cache/dev/twig/2a/2a1625bb97be51030fc95a154056506f.php line 40

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* dashboard_free/layout.html.twig */
  16. class __TwigTemplate_79c59c30551f90d14d72beef399c6136 extends Template
  17. {
  18.     private Source $source;
  19.     /**
  20.      * @var array<string, Template>
  21.      */
  22.     private array $macros = [];
  23.     public function __construct(Environment $env)
  24.     {
  25.         parent::__construct($env);
  26.         $this->source $this->getSourceContext();
  27.         $this->parent false;
  28.         $this->blocks = [
  29.             'head' => [$this'block_head'],
  30.             'content' => [$this'block_content'],
  31.         ];
  32.     }
  33.     protected function doDisplay(array $context, array $blocks = []): iterable
  34.     {
  35.         $macros $this->macros;
  36.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  37.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""dashboard_free/layout.html.twig"));
  38.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  39.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""dashboard_free/layout.html.twig"));
  40.         // line 1
  41.         yield "<!doctype html>
  42. <html lang=\"fr\">
  43. <head>
  44.     ";
  45.         // line 5
  46.         $context["base_url"] = CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'5$this->source); })()), "request", [], "any"falsefalsefalse5), "schemeAndHttpHost", [], "any"falsefalsefalse5);
  47.         // line 6
  48.         yield "    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">
  49.     <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
  50.     <meta http-equiv=\"Content-Language\" content=\"fr\" />
  51.     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
  52.     <meta name=\"robots\" content=\"noindex, nofollow\">
  53.     ";
  54.         // line 12
  55.         yield from $this->unwrap()->yieldBlock('head'$context$blocks);
  56.         // line 14
  57.         yield "
  58.     <!--Favicon-->
  59.     <link rel=\"icon\" type=\"image/png\" href=\"";
  60.         // line 18
  61.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'18$this->source); })()), "html"nulltrue);
  62.         yield "/static/img/dashboard-free/favicon.webp\" />
  63.     <!--CSS-->
  64.     <link rel=\"preload\" href=\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap\" as=\"style\" />
  65.     <link rel=\"preload\" href=\"https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap\" as=\"style\" />
  66.     <link rel=\"preload\" href=\"https://fonts.cdnfonts.com/css/muller-narrow\" as=\"style\" />
  67.     <link rel=\"preload\" type=\"text/css\" title=\"Style\" href=\"";
  68.         // line 24
  69.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'24$this->source); })()), "html"nulltrue);
  70.         yield "/styles.css\" as=\"style\" />
  71.     <link rel=\"stylesheet\" type=\"text/css\" title=\"Style\" href=\"";
  72.         // line 25
  73.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'25$this->source); })()), "html"nulltrue);
  74.         yield "/styles.css\" />
  75.     <!--JS-->
  76.     <script src=\"";
  77.         // line 28
  78.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'28$this->source); })()), "html"nulltrue);
  79.         yield "/js/custom.js\" type=\"text/javascript\"></script>
  80.     <script src=\"https://unpkg.com/alpinejs\" defer></script>
  81.     ";
  82.         // line 32
  83.         $context['_parent'] = $context;
  84.         $context['_seq'] = CoreExtension::ensureTraversable($this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->getWebpackCssFiles("free"));
  85.         foreach ($context['_seq'] as $context["_key"] => $context["file"]) {
  86.             // line 33
  87.             yield "        <link href=\"";
  88.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["file"])), "html"nulltrue);
  89.             yield "\" rel=\"stylesheet\" />
  90.     ";
  91.         }
  92.         $_parent $context['_parent'];
  93.         unset($context['_seq'], $context['_key'], $context['file'], $context['_parent']);
  94.         $context array_intersect_key($context$_parent) + $_parent;
  95.         // line 35
  96.         yield "    ";
  97.         // line 36
  98.         yield "
  99. </head>
  100. <body class=\"font-poppins\" x-data=\"{ open: false, mobileMenuOpen: false, dropdownOpen: false }\" @keydown.escape.window=\"open = false\">
  101. <!-- Header -->
  102.     <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 }\">
  103.         <div class=\"flex flex-wrap items-center\">
  104.             <a href=\"https://lesbonsprofs.com\" target=\"_blank\" aria-label=\"Les Bons Profs\"><img src=\"";
  105.         // line 46
  106.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'46$this->source); })()), "html"nulltrue);
  107.         yield "/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>
  108.             <div class=\"hidden lg:flex text-nowrap font-bold text-bleu text-[15px]\"><img src=\"";
  109.         // line 47
  110.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'47$this->source); })()), "html"nulltrue);
  111.         yield "/static/img/dashboard-free/phone.svg\" alt=\"télephone\" class=\"pl-3 pr-1\" /> 01 86 95 72 01</div>
  112.         </div>
  113.         <div class=\"flex\">
  114.             <!-- Menu -->
  115.             <div x-data=\"{ mobileMenuOpen: false, dropdownOpen: false }\" class=\"w-full md:w-auto\">
  116.                 <!-- Bouton Menu Mobile -->
  117.                 <button @click=\"mobileMenuOpen = !mobileMenuOpen\" class=\"md:hidden text-bleu\">
  118.                     <svg x-show=\"!mobileMenuOpen\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">
  119.                         <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\"/>
  120.                     </svg>
  121.                     <svg x-show=\"mobileMenuOpen\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">
  122.                         <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/>
  123.                     </svg>
  124.                 </button>
  125.                 <!-- Navigation Links (partagé entre Desktop et Mobile) -->
  126.                 <nav :class=\"{'hidden': !mobileMenuOpen, 'absolute left-0 right-0 bg-white z-50': mobileMenuOpen}\"
  127.                      class=\"md:block md:relative\">
  128.                     <ul class=\"md:flex md:items-center xl:gap-8\">
  129.                         <!-- Nos offres -->
  130.                         <li>
  131.                             <a href=\"";
  132.         // line 69
  133.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((isset($context["base_url_front"]) || array_key_exists("base_url_front"$context) ? $context["base_url_front"] : (function () { throw new RuntimeError('Variable "base_url_front" does not exist.'69$this->source); })()) . "/nos-offres"), "html"nulltrue);
  134.         yield "\" class=\"block px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors\">Nos offres</a>
  135.                         </li>
  136.                         <!-- Dropdown Nos cours -->
  137.                         <li class=\"relative\">
  138.                             <button @click=\"dropdownOpen = !dropdownOpen\"
  139.                                     class=\"flex items-center w-full px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors\">
  140.                                 <span>Nos cours</span>
  141.                                 <svg class=\"w-4 h-4 ml-1 transition-transform\" :class=\"{'rotate-180': dropdownOpen}\" fill=\"currentColor\" viewBox=\"0 0 20 20\">
  142.                                     <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\"/>
  143.                                 </svg>
  144.                             </button>
  145.                             <!-- Sous-menu (même contenu pour Desktop et Mobile) -->
  146.                             <div x-show=\"dropdownOpen\"
  147.                                  @click.away=\"dropdownOpen = false\"
  148.                                  x-transition:enter=\"transition ease-out duration-200\"
  149.                                  x-transition:enter-start=\"opacity-0\"
  150.                                  x-transition:enter-end=\"opacity-100\"
  151.                                  x-transition:leave=\"transition ease-in duration-150\"
  152.                                  x-transition:leave-start=\"opacity-100\"
  153.                                  x-transition:leave-end=\"opacity-0\"
  154.                                  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\">
  155.                                 <div class=\"py-2 text-[14px]\">
  156.                                     ";
  157.         // line 93
  158.         $context['_parent'] = $context;
  159.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["allCourses"]) || array_key_exists("allCourses"$context) ? $context["allCourses"] : (function () { throw new RuntimeError('Variable "allCourses" does not exist.'93$this->source); })()));
  160.         foreach ($context['_seq'] as $context["_key"] => $context["al"]) {
  161.             // line 94
  162.             yield "                                    <a href=\"";
  163.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url_front"]) || array_key_exists("base_url_front"$context) ? $context["base_url_front"] : (function () { throw new RuntimeError('Variable "base_url_front" does not exist.'94$this->source); })()), "html"nulltrue);
  164.             yield "/nos-cours/";
  165.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["al"], "slug", [], "any"falsefalsefalse94), "html"nulltrue);
  166.             yield "\" class=\"block px-8 md:px-4 py-2 text-bleu hover:text-grenat transition-colors\">";
  167.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::capitalize($this->env->getCharset(), CoreExtension::getAttribute($this->env$this->source$context["al"], "title", [], "any"falsefalsefalse94)), "html"nulltrue);
  168.             yield "</a>
  169.                                     ";
  170.         }
  171.         $_parent $context['_parent'];
  172.         unset($context['_seq'], $context['_key'], $context['al'], $context['_parent']);
  173.         $context array_intersect_key($context$_parent) + $_parent;
  174.         // line 96
  175.         yield "                                </div>
  176.                             </div>
  177.                         </li>
  178.                         <!-- Blog -->
  179.                         <li>
  180.                             <a href=\"#\" class=\"block px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors\">Blog</a>
  181.                         </li>
  182.                         <!-- Bouton Essayer gratuitement -->
  183.                         <li class=\"px-4 md:px-0 py-2\">
  184.                             <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\">
  185.                                 Essayer gratuitement
  186.                             </a>
  187.                         </li>
  188.                     </ul>
  189.                 </nav>
  190.             </div>
  191.         </div>
  192.     </header>
  193.     ";
  194.         // line 116
  195.         yield from $this->unwrap()->yieldBlock('content'$context$blocks);
  196.         // line 118
  197.         yield "    <footer class=\"bg-bleu bg-[url('";
  198.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'118$this->source); })()), "html"nulltrue);
  199.         yield "/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=\"{
  200.       openSection: null,
  201.       toggleSection(section) {
  202.         this.openSection = this.openSection === section ? null : section
  203.       }
  204.     }\">
  205.         <div class=\"max-w-[1160px] mx-auto\">
  206.             <!-- Logo -->
  207.             <a href=\"https://lesbonsprofs.com\" target=\"_blank\" aria-label=\"Les Bons Profs\" class=\"block mb-8\">
  208.                 <img src=\"";
  209.         // line 127
  210.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'127$this->source); })()), "html"nulltrue);
  211.         yield "/static/img/dashboard-free/logo-blanc.svg\" alt=\"Les bons profs - Cours gratuits\" class=\"w-[285px]\"/>
  212.             </a>
  213.             <!-- Navigation -->
  214.             <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-8 text-[15px]\">
  215.                 <!-- Nos cours -->
  216.                 <div>
  217.                     <button
  218.                             @click=\"toggleSection('cours')\"
  219.                             class=\"font-bold text-xl md:text-2xl mb-4 md:cursor-default inline-flex items-center gap-2\"
  220.                     >
  221.                         <span>Nos cours</span>
  222.                         <svg
  223.                                 class=\"w-4 h-4 transition-transform md:hidden\"
  224.                                 :class=\"{'rotate-180': openSection === 'cours'}\"
  225.                                 fill=\"none\"
  226.                                 stroke=\"currentColor\"
  227.                                 viewBox=\"0 0 24 24\"
  228.                         >
  229.                             <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\"/>
  230.                         </svg>
  231.                     </button>
  232.                     <ul
  233.                             class=\"space-y-2 overflow-hidden transition-all duration-300 md:block\"
  234.                             :class=\"{'hidden': openSection !== 'cours'}\"
  235.                     >
  236.                         ";
  237.         // line 153
  238.         $context['_parent'] = $context;
  239.         $context['_seq'] = CoreExtension::ensureTraversable((isset($context["allCourses"]) || array_key_exists("allCourses"$context) ? $context["allCourses"] : (function () { throw new RuntimeError('Variable "allCourses" does not exist.'153$this->source); })()));
  240.         foreach ($context['_seq'] as $context["_key"] => $context["al"]) {
  241.             // line 154
  242.             yield "                        <li><a href=\"";
  243.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((((isset($context["base_url_front"]) || array_key_exists("base_url_front"$context) ? $context["base_url_front"] : (function () { throw new RuntimeError('Variable "base_url_front" does not exist.'154$this->source); })()) . "/nos-cours/") . CoreExtension::getAttribute($this->env$this->source$context["al"], "slug", [], "any"falsefalsefalse154)), "html"nulltrue);
  244.             yield "\" class=\"hover:text-peche transition-colors\">";
  245.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["al"], "title", [], "any"falsefalsefalse154), "html"nulltrue);
  246.             yield "</a></li>
  247.                         ";
  248.         }
  249.         $_parent $context['_parent'];
  250.         unset($context['_seq'], $context['_key'], $context['al'], $context['_parent']);
  251.         $context array_intersect_key($context$_parent) + $_parent;
  252.         // line 156
  253.         yield "                    </ul>
  254.                 </div>
  255.                 <!-- Nos pages -->
  256.                 <div class=\"sm:col-start-1 md:col-start-2 sm:-mt-16 md:mt-0\">
  257.                     <button
  258.                             @click=\"toggleSection('pages')\"
  259.                             class=\"font-bold text-xl md:text-2xl mb-4 md:cursor-default inline-flex items-center gap-2\"
  260.                     >
  261.                         <span>Nos pages</span>
  262.                         <svg
  263.                                 class=\"w-4 h-4 transition-transform md:hidden\"
  264.                                 :class=\"{'rotate-180': openSection === 'pages'}\"
  265.                                 fill=\"none\"
  266.                                 stroke=\"currentColor\"
  267.                                 viewBox=\"0 0 24 24\"
  268.                         >
  269.                             <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\"/>
  270.                         </svg>
  271.                     </button>
  272.                     <ul
  273.                             class=\"space-y-2 overflow-hidden transition-all duration-300 md:block\"
  274.                             :class=\"{'hidden': openSection !== 'pages'}\"
  275.                     >
  276.                         <li><a href=\"";
  277.         // line 180
  278.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url_front"]) || array_key_exists("base_url_front"$context) ? $context["base_url_front"] : (function () { throw new RuntimeError('Variable "base_url_front" does not exist.'180$this->source); })()), "html"nulltrue);
  279.         yield "\" class=\"hover:text-peche transition-colors\">Les Bons Profs</a></li>
  280.                         <li><a href=\"";
  281.         // line 181
  282.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url_front"]) || array_key_exists("base_url_front"$context) ? $context["base_url_front"] : (function () { throw new RuntimeError('Variable "base_url_front" does not exist.'181$this->source); })()), "html"nulltrue);
  283.         yield "/nos-offres\" class=\"hover:text-peche transition-colors\">Nos offres</a></li>
  284.                         <li><a href=\"";
  285.         // line 182
  286.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url_front"]) || array_key_exists("base_url_front"$context) ? $context["base_url_front"] : (function () { throw new RuntimeError('Variable "base_url_front" does not exist.'182$this->source); })()), "html"nulltrue);
  287.         yield "/blog\" class=\"hover:text-peche transition-colors\">Blog</a></li>
  288.                         <li><a href=\"#\" class=\"hover:text-peche transition-colors\">Notre manifeste</a></li>
  289.                         <li><a href=\"#\" class=\"hover:text-peche transition-colors\">Conditions générales d'utilisation</a></li>
  290.                         <li><a href=\"#\" class=\"hover:text-peche transition-colors\">Mentions légales</a></li>
  291.                     </ul>
  292.                 </div>
  293.                 <!-- Réseaux sociaux et Contact -->
  294.                 <div class=\"grid sm:col-start-2 sm:row-start-1 md:col-start-3\">
  295.                     <span class=\"hidden md:block font-bold text-xl md:text-2xl md:-mb-8\">Nous suivre</span>
  296.                     <div class=\"flex space-x-4\">
  297.                         <a href=\"https://www.facebook.com/lesbonsprofs\" target=\"_blank\" class=\"hover:opacity-75 transition-opacity\">
  298.                             <img src=\"";
  299.         // line 194
  300.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'194$this->source); })()), "html"nulltrue);
  301.         yield "/static/img/dashboard-free/facebook.svg\" alt=\"Facebook\" class=\"w-8 h-8\">
  302.                         </a>
  303.                         <a href=\"https://www.instagram.com/lesbonsprofs/\" target=\"_blank\" class=\"hover:opacity-75 transition-opacity\">
  304.                             <img src=\"";
  305.         // line 197
  306.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'197$this->source); })()), "html"nulltrue);
  307.         yield "/static/img/dashboard-free/instagram.svg\" alt=\"Instagram\" class=\"w-8 h-8\">
  308.                         </a>
  309.                         <a href=\"https://fr.linkedin.com/company/lesbonsprofs\" target=\"_blank\" class=\"hover:opacity-75 transition-opacity\">
  310.                             <img src=\"";
  311.         // line 200
  312.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["base_url"]) || array_key_exists("base_url"$context) ? $context["base_url"] : (function () { throw new RuntimeError('Variable "base_url" does not exist.'200$this->source); })()), "html"nulltrue);
  313.         yield "/static/img/dashboard-free/linkedin.svg\" alt=\"Linkedin\" class=\"w-8 h-8\">
  314.                         </a>
  315.                     </div>
  316.                     <span class=\"font-bold text-xl md:text-2xl row-start-1 md:row-start-3 mb-8 md:mb-0\">Contactez-nous</span>
  317.                 </div>
  318.             </div>
  319.         </div>
  320.     </footer>
  321. ";
  322.         // line 208
  323.         $context['_parent'] = $context;
  324.         $context['_seq'] = CoreExtension::ensureTraversable($this->extensions['Symfony\WebpackEncoreBundle\Twig\EntryFilesTwigExtension']->getWebpackJsFiles("free"));
  325.         foreach ($context['_seq'] as $context["_key"] => $context["file"]) {
  326.             // line 209
  327.             yield "    <script src=\"";
  328.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\HttpFoundationExtension']->generateAbsoluteUrl($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl($context["file"])), "html"nulltrue);
  329.             yield "\" ></script>
  330. ";
  331.         }
  332.         $_parent $context['_parent'];
  333.         unset($context['_seq'], $context['_key'], $context['file'], $context['_parent']);
  334.         $context array_intersect_key($context$_parent) + $_parent;
  335.         // line 211
  336.         yield "
  337. </body>
  338. </html>
  339. ";
  340.         
  341.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  342.         
  343.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  344.         yield from [];
  345.     }
  346.     // line 12
  347.     /**
  348.      * @return iterable<null|scalar|\Stringable>
  349.      */
  350.     public function block_head(array $context, array $blocks = []): iterable
  351.     {
  352.         $macros $this->macros;
  353.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  354.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""head"));
  355.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  356.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""head"));
  357.         // line 13
  358.         yield "    ";
  359.         
  360.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  361.         
  362.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  363.         yield from [];
  364.     }
  365.     // line 116
  366.     /**
  367.      * @return iterable<null|scalar|\Stringable>
  368.      */
  369.     public function block_content(array $context, array $blocks = []): iterable
  370.     {
  371.         $macros $this->macros;
  372.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  373.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""content"));
  374.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  375.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""content"));
  376.         // line 117
  377.         yield "    ";
  378.         
  379.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  380.         
  381.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  382.         yield from [];
  383.     }
  384.     /**
  385.      * @codeCoverageIgnore
  386.      */
  387.     public function getTemplateName(): string
  388.     {
  389.         return "dashboard_free/layout.html.twig";
  390.     }
  391.     /**
  392.      * @codeCoverageIgnore
  393.      */
  394.     public function isTraitable(): bool
  395.     {
  396.         return false;
  397.     }
  398.     /**
  399.      * @codeCoverageIgnore
  400.      */
  401.     public function getDebugInfo(): array
  402.     {
  403.         return array (  418 => 117,  405 => 116,  394 => 13,  381 => 12,  366 => 211,  357 => 209,  353 => 208,  342 => 200,  336 => 197,  330 => 194,  315 => 182,  311 => 181,  307 => 180,  281 => 156,  270 => 154,  266 => 153,  237 => 127,  224 => 118,  222 => 116,  200 => 96,  187 => 94,  183 => 93,  156 => 69,  131 => 47,  127 => 46,  115 => 36,  113 => 35,  104 => 33,  100 => 32,  93 => 28,  87 => 25,  83 => 24,  74 => 18,  68 => 14,  66 => 12,  58 => 6,  56 => 5,  50 => 1,);
  404.     }
  405.     public function getSourceContext(): Source
  406.     {
  407.         return new Source("<!doctype html>
  408. <html lang=\"fr\">
  409. <head>
  410.     {% set base_url = app.request.schemeAndHttpHost %}
  411.     <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">
  412.     <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
  413.     <meta http-equiv=\"Content-Language\" content=\"fr\" />
  414.     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
  415.     <meta name=\"robots\" content=\"noindex, nofollow\">
  416.     {% block head %}
  417.     {% endblock %}
  418.     <!--Favicon-->
  419.     <link rel=\"icon\" type=\"image/png\" href=\"{{ base_url }}/static/img/dashboard-free/favicon.webp\" />
  420.     <!--CSS-->
  421.     <link rel=\"preload\" href=\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap\" as=\"style\" />
  422.     <link rel=\"preload\" href=\"https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&display=swap\" as=\"style\" />
  423.     <link rel=\"preload\" href=\"https://fonts.cdnfonts.com/css/muller-narrow\" as=\"style\" />
  424.     <link rel=\"preload\" type=\"text/css\" title=\"Style\" href=\"{{ base_url }}/styles.css\" as=\"style\" />
  425.     <link rel=\"stylesheet\" type=\"text/css\" title=\"Style\" href=\"{{ base_url }}/styles.css\" />
  426.     <!--JS-->
  427.     <script src=\"{{ base_url }}/js/custom.js\" type=\"text/javascript\"></script>
  428.     <script src=\"https://unpkg.com/alpinejs\" defer></script>
  429.     {% for file in encore_entry_css_files('free') %}
  430.         <link href=\"{{ absolute_url(asset(file)) }}\" rel=\"stylesheet\" />
  431.     {% endfor %}
  432.     {#{{ encore_entry_link_tags('free',null,'/') }}#}
  433. </head>
  434. <body class=\"font-poppins\" x-data=\"{ open: false, mobileMenuOpen: false, dropdownOpen: false }\" @keydown.escape.window=\"open = false\">
  435. <!-- Header -->
  436.     <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 }\">
  437.         <div class=\"flex flex-wrap items-center\">
  438.             <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>
  439.             <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>
  440.         </div>
  441.         <div class=\"flex\">
  442.             <!-- Menu -->
  443.             <div x-data=\"{ mobileMenuOpen: false, dropdownOpen: false }\" class=\"w-full md:w-auto\">
  444.                 <!-- Bouton Menu Mobile -->
  445.                 <button @click=\"mobileMenuOpen = !mobileMenuOpen\" class=\"md:hidden text-bleu\">
  446.                     <svg x-show=\"!mobileMenuOpen\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">
  447.                         <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 6h16M4 12h16M4 18h16\"/>
  448.                     </svg>
  449.                     <svg x-show=\"mobileMenuOpen\" class=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">
  450.                         <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/>
  451.                     </svg>
  452.                 </button>
  453.                 <!-- Navigation Links (partagé entre Desktop et Mobile) -->
  454.                 <nav :class=\"{'hidden': !mobileMenuOpen, 'absolute left-0 right-0 bg-white z-50': mobileMenuOpen}\"
  455.                      class=\"md:block md:relative\">
  456.                     <ul class=\"md:flex md:items-center xl:gap-8\">
  457.                         <!-- Nos offres -->
  458.                         <li>
  459.                             <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>
  460.                         </li>
  461.                         <!-- Dropdown Nos cours -->
  462.                         <li class=\"relative\">
  463.                             <button @click=\"dropdownOpen = !dropdownOpen\"
  464.                                     class=\"flex items-center w-full px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors\">
  465.                                 <span>Nos cours</span>
  466.                                 <svg class=\"w-4 h-4 ml-1 transition-transform\" :class=\"{'rotate-180': dropdownOpen}\" fill=\"currentColor\" viewBox=\"0 0 20 20\">
  467.                                     <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\"/>
  468.                                 </svg>
  469.                             </button>
  470.                             <!-- Sous-menu (même contenu pour Desktop et Mobile) -->
  471.                             <div x-show=\"dropdownOpen\"
  472.                                  @click.away=\"dropdownOpen = false\"
  473.                                  x-transition:enter=\"transition ease-out duration-200\"
  474.                                  x-transition:enter-start=\"opacity-0\"
  475.                                  x-transition:enter-end=\"opacity-100\"
  476.                                  x-transition:leave=\"transition ease-in duration-150\"
  477.                                  x-transition:leave-start=\"opacity-100\"
  478.                                  x-transition:leave-end=\"opacity-0\"
  479.                                  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\">
  480.                                 <div class=\"py-2 text-[14px]\">
  481.                                     {% for al in allCourses %}
  482.                                     <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>
  483.                                     {% endfor %}
  484.                                 </div>
  485.                             </div>
  486.                         </li>
  487.                         <!-- Blog -->
  488.                         <li>
  489.                             <a href=\"#\" class=\"block px-4 py-2 text-bleu hover:text-grenat font-bold transition-colors\">Blog</a>
  490.                         </li>
  491.                         <!-- Bouton Essayer gratuitement -->
  492.                         <li class=\"px-4 md:px-0 py-2\">
  493.                             <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\">
  494.                                 Essayer gratuitement
  495.                             </a>
  496.                         </li>
  497.                     </ul>
  498.                 </nav>
  499.             </div>
  500.         </div>
  501.     </header>
  502.     {% block content %}
  503.     {% endblock %}
  504.     <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=\"{
  505.       openSection: null,
  506.       toggleSection(section) {
  507.         this.openSection = this.openSection === section ? null : section
  508.       }
  509.     }\">
  510.         <div class=\"max-w-[1160px] mx-auto\">
  511.             <!-- Logo -->
  512.             <a href=\"https://lesbonsprofs.com\" target=\"_blank\" aria-label=\"Les Bons Profs\" class=\"block mb-8\">
  513.                 <img src=\"{{ base_url }}/static/img/dashboard-free/logo-blanc.svg\" alt=\"Les bons profs - Cours gratuits\" class=\"w-[285px]\"/>
  514.             </a>
  515.             <!-- Navigation -->
  516.             <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-8 text-[15px]\">
  517.                 <!-- Nos cours -->
  518.                 <div>
  519.                     <button
  520.                             @click=\"toggleSection('cours')\"
  521.                             class=\"font-bold text-xl md:text-2xl mb-4 md:cursor-default inline-flex items-center gap-2\"
  522.                     >
  523.                         <span>Nos cours</span>
  524.                         <svg
  525.                                 class=\"w-4 h-4 transition-transform md:hidden\"
  526.                                 :class=\"{'rotate-180': openSection === 'cours'}\"
  527.                                 fill=\"none\"
  528.                                 stroke=\"currentColor\"
  529.                                 viewBox=\"0 0 24 24\"
  530.                         >
  531.                             <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\"/>
  532.                         </svg>
  533.                     </button>
  534.                     <ul
  535.                             class=\"space-y-2 overflow-hidden transition-all duration-300 md:block\"
  536.                             :class=\"{'hidden': openSection !== 'cours'}\"
  537.                     >
  538.                         {% for al in allCourses %}
  539.                         <li><a href=\"{{ base_url_front~'/nos-cours/'~al.slug }}\" class=\"hover:text-peche transition-colors\">{{ al.title }}</a></li>
  540.                         {% endfor %}
  541.                     </ul>
  542.                 </div>
  543.                 <!-- Nos pages -->
  544.                 <div class=\"sm:col-start-1 md:col-start-2 sm:-mt-16 md:mt-0\">
  545.                     <button
  546.                             @click=\"toggleSection('pages')\"
  547.                             class=\"font-bold text-xl md:text-2xl mb-4 md:cursor-default inline-flex items-center gap-2\"
  548.                     >
  549.                         <span>Nos pages</span>
  550.                         <svg
  551.                                 class=\"w-4 h-4 transition-transform md:hidden\"
  552.                                 :class=\"{'rotate-180': openSection === 'pages'}\"
  553.                                 fill=\"none\"
  554.                                 stroke=\"currentColor\"
  555.                                 viewBox=\"0 0 24 24\"
  556.                         >
  557.                             <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\"/>
  558.                         </svg>
  559.                     </button>
  560.                     <ul
  561.                             class=\"space-y-2 overflow-hidden transition-all duration-300 md:block\"
  562.                             :class=\"{'hidden': openSection !== 'pages'}\"
  563.                     >
  564.                         <li><a href=\"{{ base_url_front }}\" class=\"hover:text-peche transition-colors\">Les Bons Profs</a></li>
  565.                         <li><a href=\"{{ base_url_front }}/nos-offres\" class=\"hover:text-peche transition-colors\">Nos offres</a></li>
  566.                         <li><a href=\"{{ base_url_front }}/blog\" class=\"hover:text-peche transition-colors\">Blog</a></li>
  567.                         <li><a href=\"#\" class=\"hover:text-peche transition-colors\">Notre manifeste</a></li>
  568.                         <li><a href=\"#\" class=\"hover:text-peche transition-colors\">Conditions générales d'utilisation</a></li>
  569.                         <li><a href=\"#\" class=\"hover:text-peche transition-colors\">Mentions légales</a></li>
  570.                     </ul>
  571.                 </div>
  572.                 <!-- Réseaux sociaux et Contact -->
  573.                 <div class=\"grid sm:col-start-2 sm:row-start-1 md:col-start-3\">
  574.                     <span class=\"hidden md:block font-bold text-xl md:text-2xl md:-mb-8\">Nous suivre</span>
  575.                     <div class=\"flex space-x-4\">
  576.                         <a href=\"https://www.facebook.com/lesbonsprofs\" target=\"_blank\" class=\"hover:opacity-75 transition-opacity\">
  577.                             <img src=\"{{ base_url }}/static/img/dashboard-free/facebook.svg\" alt=\"Facebook\" class=\"w-8 h-8\">
  578.                         </a>
  579.                         <a href=\"https://www.instagram.com/lesbonsprofs/\" target=\"_blank\" class=\"hover:opacity-75 transition-opacity\">
  580.                             <img src=\"{{ base_url }}/static/img/dashboard-free/instagram.svg\" alt=\"Instagram\" class=\"w-8 h-8\">
  581.                         </a>
  582.                         <a href=\"https://fr.linkedin.com/company/lesbonsprofs\" target=\"_blank\" class=\"hover:opacity-75 transition-opacity\">
  583.                             <img src=\"{{ base_url }}/static/img/dashboard-free/linkedin.svg\" alt=\"Linkedin\" class=\"w-8 h-8\">
  584.                         </a>
  585.                     </div>
  586.                     <span class=\"font-bold text-xl md:text-2xl row-start-1 md:row-start-3 mb-8 md:mb-0\">Contactez-nous</span>
  587.                 </div>
  588.             </div>
  589.         </div>
  590.     </footer>
  591. {% for file in encore_entry_js_files('free') %}
  592.     <script src=\"{{ absolute_url(asset(file)) }}\" ></script>
  593. {% endfor %}
  594. </body>
  595. </html>
  596. ""dashboard_free/layout.html.twig""/var/www/dashboard/templates/dashboard_free/layout.html.twig");
  597.     }
  598. }