var/cache/dev/twig/bd/bd40509ed13f6dbb752a23e5b8a19d3c.php line 62

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. /* application/whileresume/website/components/footer.html.twig */
  16. class __TwigTemplate_5ff04064cf35ccc3c1eb2a55968b72e6 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.         ];
  30.     }
  31.     protected function doDisplay(array $context, array $blocks = []): iterable
  32.     {
  33.         $macros $this->macros;
  34.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  35.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""application/whileresume/website/components/footer.html.twig"));
  36.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  37.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""application/whileresume/website/components/footer.html.twig"));
  38.         // line 34
  39.         yield "
  40. ";
  41.         // line 35
  42.         $context["_locale"] = 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.'35$this->source); })()), "request", [], "any"falsefalsefalse35), "locale", [], "any"falsefalsefalse35);
  43.         // line 36
  44.         $context["_isFr"] = ((isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'36$this->source); })()) == "fr");
  45.         // line 37
  46.         yield "
  47. ";
  48.         // line 39
  49.         $context["footerArticles"] = $this->extensions['App\Twig\CoreExtension']->getFooterArticles((isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'39$this->source); })()), 5);
  50.         // line 40
  51.         $context["footerLandingJobs"] = $this->extensions['App\Twig\CoreExtension']->getFooterFeaturedLandingJobs((isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'40$this->source); })()), 5);
  52.         // line 41
  53.         $context["footerJobsCities"] = $this->extensions['App\Twig\CoreExtension']->getFooterJobsCities((isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'41$this->source); })()), 6);
  54.         // line 42
  55.         $context["footerEnterprisesCities"] = $this->extensions['App\Twig\CoreExtension']->getFooterEnterprisesCities((isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'42$this->source); })()), 6);
  56.         // line 43
  57.         yield "
  58. <style>
  59.     /* ---------- Footer WhileResume ---------- */
  60.     .whr-footer {
  61.         margin-top: 32px;
  62.         padding: 36px 24px 24px;
  63.         background: #F9FAFD;
  64.         border-radius: 16px;
  65.         color: #2c2c46;
  66.     }
  67.     .theme-dark .whr-footer {
  68.         background: #2a2a3c;
  69.         color: #e9e9ef;
  70.     }
  71.     /* Stores en haut de la col 1 */
  72.     .whr-footer .whr-stores {
  73.         display: flex;
  74.         flex-direction: column;
  75.         gap: 8px;
  76.         margin-bottom: 18px;
  77.     }
  78.     .whr-footer .whr-store-link {
  79.         display: inline-flex;
  80.         align-items: center;
  81.         gap: 10px;
  82.         padding: 8px 14px;
  83.         background: #111;
  84.         color: #fff !important;
  85.         border-radius: 10px;
  86.         font-size: 12px;
  87.         font-weight: 600;
  88.         text-decoration: none !important;
  89.         line-height: 1.2;
  90.         transition: transform .15s ease, background .2s ease;
  91.         max-width: 170px;
  92.     }
  93.     .whr-footer .whr-store-link:hover {
  94.         background: #2c2c46;
  95.         transform: translateY(-1px);
  96.     }
  97.     .whr-footer .whr-store-link small {
  98.         display: block;
  99.         font-weight: 400;
  100.         font-size: 10px;
  101.         opacity: .7;
  102.     }
  103.     .whr-footer .whr-store-link strong { font-size: 13px; display: block; }
  104.     /* Colonnes */
  105.     .whr-footer .whr-foot-col h4 {
  106.         font-size: 13px;
  107.         font-weight: 700;
  108.         margin: 0 0 14px 0;
  109.         color: inherit;
  110.         text-transform: uppercase;
  111.         letter-spacing: .3px;
  112.     }
  113.     .whr-footer .whr-foot-col ul {
  114.         list-style: none;
  115.         padding: 0;
  116.         margin: 0;
  117.         font-size: 13px;
  118.     }
  119.     .whr-footer .whr-foot-col ul li { margin-bottom: 10px; }
  120.     .whr-footer .whr-foot-col a {
  121.         color: inherit;
  122.         opacity: .75;
  123.         text-decoration: none;
  124.         transition: opacity .2s ease, color .2s ease;
  125.     }
  126.     .whr-footer .whr-foot-col a:hover { opacity: 1; color: var(--theme-color, #6C3AED); }
  127.     .whr-footer .whr-foot-empty {
  128.         font-size: 12px;
  129.         opacity: .5;
  130.         font-style: italic;
  131.     }
  132.     /* Liste avec icônes (col 1) */
  133.     .whr-footer .whr-foot-action-links a {
  134.         display: inline-flex;
  135.         align-items: center;
  136.         gap: 8px;
  137.     }
  138.     .whr-footer .whr-foot-action-links a i {
  139.         font-size: 14px;
  140.         opacity: .7;
  141.         width: 16px;
  142.         text-align: center;
  143.     }
  144.     /* Mini-icône ville pour cols 3 et 4 */
  145.     .whr-footer .whr-foot-col .whr-city-link {
  146.         display: inline-flex;
  147.         align-items: center;
  148.         gap: 6px;
  149.     }
  150.     .whr-footer .whr-foot-col .whr-city-link .whr-city-icon {
  151.         font-size: 14px;
  152.         line-height: 1;
  153.         display: inline-block;
  154.         width: 18px;
  155.         text-align: center;
  156.         opacity: .85;
  157.     }
  158.     /* Grille principale : 1 col → 2 cols → 5 cols */
  159.     .whr-footer .whr-foot-grid {
  160.         display: grid;
  161.         gap: 28px;
  162.         grid-template-columns: 1fr;
  163.     }
  164.     @media (min-width: 576px) {
  165.         .whr-footer .whr-foot-grid { grid-template-columns: 1fr 1fr; }
  166.     }
  167.     @media (min-width: 992px) {
  168.         .whr-footer .whr-foot-grid {
  169.             grid-template-columns: repeat(5, 1fr);
  170.             gap: 32px;
  171.         }
  172.     }
  173.     /* Bottom bar */
  174.     .whr-footer .whr-foot-bottom {
  175.         margin-top: 32px;
  176.         padding-top: 20px;
  177.         border-top: 1px solid rgba(0,0,0,.08);
  178.         display: flex;
  179.         flex-direction: column;
  180.         gap: 14px;
  181.         align-items: center;
  182.         text-align: center;
  183.     }
  184.     .theme-dark .whr-footer .whr-foot-bottom { border-top-color: rgba(255,255,255,.1); }
  185.     @media (min-width: 768px) {
  186.         .whr-footer .whr-foot-bottom {
  187.             flex-direction: row;
  188.             justify-content: space-between;
  189.             text-align: left;
  190.         }
  191.     }
  192.     .whr-footer .whr-foot-copy {
  193.         display: inline-flex;
  194.         align-items: center;
  195.         gap: 8px;
  196.         font-size: 12px;
  197.         opacity: .7;
  198.         margin: 0;
  199.     }
  200.     .whr-footer .whr-foot-copy img.whr-favicon {
  201.         width: 18px;
  202.         height: 18px;
  203.         border-radius: 4px;
  204.         flex-shrink: 0;
  205.     }
  206.     .whr-footer .whr-foot-legal {
  207.         display: flex;
  208.         flex-wrap: wrap;
  209.         gap: 6px 16px;
  210.         justify-content: center;
  211.         font-size: 12px;
  212.     }
  213.     .whr-footer .whr-foot-legal a {
  214.         color: inherit;
  215.         opacity: .75;
  216.         text-decoration: none;
  217.     }
  218.     .whr-footer .whr-foot-legal a:hover { opacity: 1; }
  219.     .whr-footer .whr-foot-legal .whr-admin-link { color: #e74c3c !important; opacity: 1; }
  220.     .whr-footer .whr-foot-social {
  221.         display: flex;
  222.         flex-wrap: wrap;
  223.         gap: 6px;
  224.         list-style: none;
  225.         padding: 0;
  226.         margin: 0;
  227.     }
  228.     .whr-footer .whr-foot-social a {
  229.         width: 32px; height: 32px;
  230.         border-radius: 8px;
  231.         background: #fff;
  232.         display: inline-flex;
  233.         align-items: center;
  234.         justify-content: center;
  235.         color: #2c2c46;
  236.         text-decoration: none !important;
  237.         transition: background .2s ease, color .2s ease, transform .15s ease;
  238.         box-shadow: 0 1px 2px rgba(0,0,0,.04);
  239.     }
  240.     .whr-footer .whr-foot-social a:hover {
  241.         background: var(--theme-color, #6C3AED);
  242.         color: #fff;
  243.         transform: translateY(-1px);
  244.     }
  245.     .theme-dark .whr-footer .whr-foot-social a {
  246.         background: #34344a;
  247.         color: #fff;
  248.         box-shadow: none;
  249.     }
  250.     .whr-footer .whr-foot-social i { font-size: 14px; }
  251.     .middle-sidebar-left .whr-footer { width: 100%; }
  252.     @media (max-width: 575.98px) {
  253.         .whr-footer { padding: 24px 18px 20px; }
  254.     }
  255. </style>
  256. <footer class=\"whr-footer\" role=\"contentinfo\">
  257.     ";
  258.         // line 258
  259.         yield "    <div class=\"whr-foot-grid\">
  260.         ";
  261.         // line 261
  262.         yield "        ";
  263.         if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'261$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  264.             // line 262
  265.             yield "            ";
  266.             $context["_ios"] = (isset($context["ios_fr"]) || array_key_exists("ios_fr"$context) ? $context["ios_fr"] : (function () { throw new RuntimeError('Variable "ios_fr" does not exist.'262$this->source); })());
  267.             // line 263
  268.             yield "            ";
  269.             $context["_android"] = (isset($context["android_fr"]) || array_key_exists("android_fr"$context) ? $context["android_fr"] : (function () { throw new RuntimeError('Variable "android_fr" does not exist.'263$this->source); })());
  270.             // line 264
  271.             yield "        ";
  272.         } else {
  273.             // line 265
  274.             yield "            ";
  275.             $context["_ios"] = (isset($context["ios_us"]) || array_key_exists("ios_us"$context) ? $context["ios_us"] : (function () { throw new RuntimeError('Variable "ios_us" does not exist.'265$this->source); })());
  276.             // line 266
  277.             yield "            ";
  278.             $context["_android"] = (isset($context["android_us"]) || array_key_exists("android_us"$context) ? $context["android_us"] : (function () { throw new RuntimeError('Variable "android_us" does not exist.'266$this->source); })());
  279.             // line 267
  280.             yield "        ";
  281.         }
  282.         // line 268
  283.         yield "
  284.         <div class=\"whr-foot-col whr-foot-col-action\">
  285.             ";
  286.         // line 270
  287.         if ((($tmp = (isset($context["connectUser"]) || array_key_exists("connectUser"$context) ? $context["connectUser"] : (function () { throw new RuntimeError('Variable "connectUser" does not exist.'270$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  288.             // line 271
  289.             yield "                <h4>";
  290.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.my_account", [], "whr-public"), "Mon compte"), "html"nulltrue);
  291.             yield "</h4>
  292.             ";
  293.         } else {
  294.             // line 273
  295.             yield "                <h4>";
  296.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.start_here", [], "whr-public"), "Commencer ici"), "html"nulltrue);
  297.             yield "</h4>
  298.             ";
  299.         }
  300.         // line 275
  301.         yield "
  302.             <div class=\"whr-stores\">
  303.                 ";
  304.         // line 277
  305.         if ((($tmp = (isset($context["_ios"]) || array_key_exists("_ios"$context) ? $context["_ios"] : (function () { throw new RuntimeError('Variable "_ios" does not exist.'277$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  306.             // line 278
  307.             yield "                    <a href=\"";
  308.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["_ios"]) || array_key_exists("_ios"$context) ? $context["_ios"] : (function () { throw new RuntimeError('Variable "_ios" does not exist.'278$this->source); })()), "html"nulltrue);
  309.             yield "\" class=\"whr-store-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"App Store\">
  310.                         <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"#fff\" aria-hidden=\"true\">
  311.                             <path d=\"M18.71 19.5C17.88 20.74 17 21.95 15.66 21.97C14.32 22 13.89 21.18 12.37 21.18C10.84 21.18 10.37 21.95 9.09997 22C7.78997 22.05 6.79997 20.68 5.95997 19.47C4.24997 17 2.93997 12.45 4.69997 9.39C5.56997 7.87 7.12997 6.91 8.81997 6.88C10.1 6.86 11.32 7.75 12.11 7.75C12.89 7.75 14.37 6.68 15.92 6.84C16.57 6.87 18.39 7.1 19.56 8.82C19.47 8.88 17.39 10.1 17.41 12.63C17.44 15.65 20.06 16.66 20.09 16.67C20.06 16.74 19.67 18.11 18.71 19.5ZM13 3.5C13.73 2.67 14.94 2.04 15.94 2C16.07 3.17 15.6 4.35 14.9 5.19C14.21 6.04 13.07 6.7 11.95 6.61C11.8 5.46 12.36 4.26 13 3.5Z\"/>
  312.                         </svg>
  313.                         <span>
  314.                             <small>";
  315.             // line 283
  316.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.download_on", [], "whr-public"), "Télécharger sur"), "html"nulltrue);
  317.             yield "</small>
  318.                             <strong>App Store</strong>
  319.                         </span>
  320.                     </a>
  321.                 ";
  322.         }
  323.         // line 288
  324.         yield "                ";
  325.         if ((($tmp = (isset($context["_android"]) || array_key_exists("_android"$context) ? $context["_android"] : (function () { throw new RuntimeError('Variable "_android" does not exist.'288$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  326.             // line 289
  327.             yield "                    <a href=\"";
  328.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["_android"]) || array_key_exists("_android"$context) ? $context["_android"] : (function () { throw new RuntimeError('Variable "_android" does not exist.'289$this->source); })()), "html"nulltrue);
  329.             yield "\" class=\"whr-store-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"Google Play\">
  330.                         <svg width=\"18\" height=\"18\" viewBox=\"0 0 512 512\" aria-hidden=\"true\">
  331.                             <path style=\"fill:#3A9BC8;\" d=\"M225.656,256.052L14.016,485.451l-6.442,7.052c-4.005-5.919-6.704-12.972-7.313-20.806C0.087,470.305,0,468.91,0,467.518V44.499c0-9.488,2.873-18.02,7.574-24.987L225.656,256.052z\"/>
  332.                             <path style=\"fill:#9BCD83;\" d=\"M320.811,152.8l-95.155,103.253L7.574,19.512C19.936,1.405,45.183-6.342,66.6,6.02L320.811,152.8z\"/>
  333.                             <path style=\"fill:#EEB84C;\" d=\"M455.056,257.27c-0.348,14.453-7.748,28.904-22.113,37.174l-112.132,64.771l-95.155-103.163L320.811,152.8l70.518,40.745l41.614,24.026C448.178,226.366,455.579,241.861,455.056,257.27z\"/>
  334.                             <path style=\"fill:#B43F70;\" d=\"M7.591,492.492c12.368,18.116,37.599,25.838,58.976,13.496L320.775,359.22l-95.156-103.209L7.591,492.492z\"/>
  335.                         </svg>
  336.                         <span>
  337.                             <small>";
  338.             // line 297
  339.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.available_on", [], "whr-public"), "Disponible sur"), "html"nulltrue);
  340.             yield "</small>
  341.                             <strong>Google Play</strong>
  342.                         </span>
  343.                     </a>
  344.                 ";
  345.         }
  346.         // line 302
  347.         yield "            </div>
  348.             <ul class=\"whr-foot-action-links\">
  349.                 ";
  350.         // line 305
  351.         if ((($tmp = (isset($context["connectUser"]) || array_key_exists("connectUser"$context) ? $context["connectUser"] : (function () { throw new RuntimeError('Variable "connectUser" does not exist.'305$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  352.             // line 306
  353.             yield "                    ";
  354.             if ((($tmp = (isset($context["isCandidateUser"]) || array_key_exists("isCandidateUser"$context) ? $context["isCandidateUser"] : (function () { throw new RuntimeError('Variable "isCandidateUser" does not exist.'306$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  355.                 // line 307
  356.                 yield "                        <li>
  357.                             <a href=\"";
  358.                 // line 308
  359.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'308$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  360.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_gestion_candidates_profile_profile", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'308$this->source); })())]), "html"nulltrue);
  361.                 } else {
  362.                     yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_gestion_candidates_profile_profile");
  363.                 }
  364.                 yield "\">
  365.                                 <i class=\"feather-user\"></i>
  366.                                 ";
  367.                 // line 310
  368.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.my_profile", [], "whr-public"), "Mon profil"), "html"nulltrue);
  369.                 yield "
  370.                             </a>
  371.                         </li>
  372.                     ";
  373.             } else {
  374.                 // line 314
  375.                 yield "                        <li>
  376.                             <a href=\"";
  377.                 // line 315
  378.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'315$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  379.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_gestion_enterprises_profile_profile", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'315$this->source); })())]), "html"nulltrue);
  380.                 } else {
  381.                     yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_gestion_enterprises_profile_profile");
  382.                 }
  383.                 yield "\">
  384.                                 <i class=\"feather-user\"></i>
  385.                                 ";
  386.                 // line 317
  387.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.my_profile", [], "whr-public"), "Mon profil"), "html"nulltrue);
  388.                 yield "
  389.                             </a>
  390.                         </li>
  391.                         <li>
  392.                             <a href=\"";
  393.                 // line 321
  394.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'321$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  395.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_gestion_enterprises_settings", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'321$this->source); })())]), "html"nulltrue);
  396.                 } else {
  397.                     yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_gestion_enterprises_settings");
  398.                 }
  399.                 yield "\">
  400.                                 <i class=\"feather-settings\"></i>
  401.                                 ";
  402.                 // line 323
  403.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.settings", [], "whr-public"), "Paramètres"), "html"nulltrue);
  404.                 yield "
  405.                             </a>
  406.                         </li>
  407.                     ";
  408.             }
  409.             // line 327
  410.             yield "                    <li>
  411.                         <a href=\"";
  412.             // line 328
  413.             yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("app_logout");
  414.             yield "\">
  415.                             <i class=\"feather-log-out\"></i>
  416.                             ";
  417.             // line 330
  418.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.logout", [], "whr-public"), "Déconnexion"), "html"nulltrue);
  419.             yield "
  420.                         </a>
  421.                     </li>
  422.                 ";
  423.         } else {
  424.             // line 334
  425.             yield "                    ";
  426.             // line 335
  427.             yield "                    <li>
  428.                         <a href=\"";
  429.             // line 336
  430.             if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'336$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  431.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_whileresume_jobs_list", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'336$this->source); })())]), "html"nulltrue);
  432.             } else {
  433.                 yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("whileresume_jobs_list");
  434.             }
  435.             yield "\">
  436.                             <i class=\"feather-briefcase\"></i>
  437.                             ";
  438.             // line 338
  439.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.browse_jobs", [], "whr-public"), "Voir les offres"), "html"nulltrue);
  440.             yield "
  441.                         </a>
  442.                     </li>
  443.                     <li>
  444.                         <a href=\"";
  445.             // line 342
  446.             if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'342$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  447.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_whileresume_companies_list", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'342$this->source); })())]), "html"nulltrue);
  448.             } else {
  449.                 yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("whileresume_companies_list");
  450.             }
  451.             yield "\">
  452.                             <i class=\"feather-grid\"></i>
  453.                             ";
  454.             // line 344
  455.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.browse_companies", [], "whr-public"), "Voir les entreprises"), "html"nulltrue);
  456.             yield "
  457.                         </a>
  458.                     </li>
  459.                     <li>
  460.                         <a href=\"";
  461.             // line 348
  462.             if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'348$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  463.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_application_job_new", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'348$this->source); })())]), "html"nulltrue);
  464.             } else {
  465.                 yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_application_job_new");
  466.             }
  467.             yield "\">
  468.                             <i class=\"feather-plus-circle\"></i>
  469.                             ";
  470.             // line 350
  471.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.post_job", [], "whr-public"), "Publier une offre"), "html"nulltrue);
  472.             yield "
  473.                         </a>
  474.                     </li>
  475.                 ";
  476.         }
  477.         // line 354
  478.         yield "            </ul>
  479.         </div>
  480.         ";
  481.         // line 358
  482.         yield "        <div class=\"whr-foot-col\">
  483.             <h4>";
  484.         // line 359
  485.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.latest_articles", [], "whr-public"), "Articles récents"), "html"nulltrue);
  486.         yield "</h4>
  487.             ";
  488.         // line 360
  489.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty((isset($context["footerArticles"]) || array_key_exists("footerArticles"$context) ? $context["footerArticles"] : (function () { throw new RuntimeError('Variable "footerArticles" does not exist.'360$this->source); })()))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  490.             // line 361
  491.             yield "                <ul>
  492.                     ";
  493.             // line 362
  494.             $context['_parent'] = $context;
  495.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["footerArticles"]) || array_key_exists("footerArticles"$context) ? $context["footerArticles"] : (function () { throw new RuntimeError('Variable "footerArticles" does not exist.'362$this->source); })()));
  496.             foreach ($context['_seq'] as $context["_key"] => $context["article"]) {
  497.                 // line 363
  498.                 yield "                        <li>
  499.                             <a href=\"";
  500.                 // line 364
  501.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'364$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  502.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_website_article", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'364$this->source); })()), "slug" => CoreExtension::getAttribute($this->env$this->source$context["article"], "slug", [], "any"falsefalsefalse364)]), "html"nulltrue);
  503.                 } else {
  504.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_website_article", ["slug" => CoreExtension::getAttribute($this->env$this->source$context["article"], "slug", [], "any"falsefalsefalse364)]), "html"nulltrue);
  505.                 }
  506.                 yield "\"
  507.                                title=\"";
  508.                 // line 365
  509.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["article"], "title", [], "any"falsefalsefalse365), "html"nulltrue);
  510.                 yield "\">
  511.                                 ";
  512.                 // line 366
  513.                 yield ((CoreExtension::getAttribute($this->env$this->source$context["article"], "shortTitle", [], "any"falsefalsefalse366)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["article"], "shortTitle", [], "any"falsefalsefalse366), "html"nulltrue)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\CoreExtension']->cleanSubstr(CoreExtension::getAttribute($this->env$this->source$context["article"], "title", [], "any"falsefalsefalse366), 45), "html"nulltrue)));
  514.                 yield "
  515.                             </a>
  516.                         </li>
  517.                     ";
  518.             }
  519.             $_parent $context['_parent'];
  520.             unset($context['_seq'], $context['_key'], $context['article'], $context['_parent']);
  521.             $context array_intersect_key($context$_parent) + $_parent;
  522.             // line 370
  523.             yield "                </ul>
  524.             ";
  525.         } else {
  526.             // line 372
  527.             yield "                <p class=\"whr-foot-empty\">";
  528.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.coming_soon", [], "whr-public"), "Bientôt disponible"), "html"nulltrue);
  529.             yield "</p>
  530.             ";
  531.         }
  532.         // line 374
  533.         yield "        </div>
  534.         ";
  535.         // line 377
  536.         yield "        <div class=\"whr-foot-col\">
  537.             <h4>";
  538.         // line 378
  539.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.jobs_by_city", [], "whr-public"), "Emplois par ville"), "html"nulltrue);
  540.         yield "</h4>
  541.             ";
  542.         // line 379
  543.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty((isset($context["footerJobsCities"]) || array_key_exists("footerJobsCities"$context) ? $context["footerJobsCities"] : (function () { throw new RuntimeError('Variable "footerJobsCities" does not exist.'379$this->source); })()))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  544.             // line 380
  545.             yield "                <ul>
  546.                     ";
  547.             // line 381
  548.             $context['_parent'] = $context;
  549.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["footerJobsCities"]) || array_key_exists("footerJobsCities"$context) ? $context["footerJobsCities"] : (function () { throw new RuntimeError('Variable "footerJobsCities" does not exist.'381$this->source); })()));
  550.             foreach ($context['_seq'] as $context["_key"] => $context["city"]) {
  551.                 // line 382
  552.                 yield "                        <li>
  553.                             <a class=\"whr-city-link\"
  554.                                href=\"";
  555.                 // line 384
  556.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'384$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  557.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_application_jobs_filter", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'384$this->source); })()), "slug" => CoreExtension::getAttribute($this->env$this->source$context["city"], "slug", [], "any"falsefalsefalse384)]), "html"nulltrue);
  558.                 } else {
  559.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_application_jobs_filter", ["slug" => CoreExtension::getAttribute($this->env$this->source$context["city"], "slug", [], "any"falsefalsefalse384)]), "html"nulltrue);
  560.                 }
  561.                 yield "\"
  562.                                title=\"";
  563.                 // line 385
  564.                 yield ((CoreExtension::getAttribute($this->env$this->source$context["city"], "shortTitle", [], "any"falsefalsefalse385)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "shortTitle", [], "any"falsefalsefalse385), "html"nulltrue)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "label", [], "any"falsefalsefalse385), "html"nulltrue)));
  565.                 yield "\">
  566.                                 ";
  567.                 // line 386
  568.                 if ((($tmp CoreExtension::getAttribute($this->env$this->source$context["city"], "icon", [], "any"falsefalsefalse386)) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  569.                     // line 387
  570.                     yield "                                    <span class=\"whr-city-icon\">";
  571.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "icon", [], "any"falsefalsefalse387), "html"nulltrue);
  572.                     yield "</span>
  573.                                 ";
  574.                 } else {
  575.                     // line 389
  576.                     yield "                                    <i class=\"feather-map-pin whr-city-icon\"></i>
  577.                                 ";
  578.                 }
  579.                 // line 391
  580.                 yield "                                <span>";
  581.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "label", [], "any"falsefalsefalse391), "html"nulltrue);
  582.                 yield "</span>
  583.                             </a>
  584.                         </li>
  585.                     ";
  586.             }
  587.             $_parent $context['_parent'];
  588.             unset($context['_seq'], $context['_key'], $context['city'], $context['_parent']);
  589.             $context array_intersect_key($context$_parent) + $_parent;
  590.             // line 395
  591.             yield "                </ul>
  592.             ";
  593.         } else {
  594.             // line 397
  595.             yield "                <p class=\"whr-foot-empty\">";
  596.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.coming_soon", [], "whr-public"), "Bientôt disponible"), "html"nulltrue);
  597.             yield "</p>
  598.             ";
  599.         }
  600.         // line 399
  601.         yield "        </div>
  602.         ";
  603.         // line 402
  604.         yield "        <div class=\"whr-foot-col\">
  605.             <h4>";
  606.         // line 403
  607.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.companies_by_city", [], "whr-public"), "Entreprises par ville"), "html"nulltrue);
  608.         yield "</h4>
  609.             ";
  610.         // line 404
  611.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty((isset($context["footerEnterprisesCities"]) || array_key_exists("footerEnterprisesCities"$context) ? $context["footerEnterprisesCities"] : (function () { throw new RuntimeError('Variable "footerEnterprisesCities" does not exist.'404$this->source); })()))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  612.             // line 405
  613.             yield "                <ul>
  614.                     ";
  615.             // line 406
  616.             $context['_parent'] = $context;
  617.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["footerEnterprisesCities"]) || array_key_exists("footerEnterprisesCities"$context) ? $context["footerEnterprisesCities"] : (function () { throw new RuntimeError('Variable "footerEnterprisesCities" does not exist.'406$this->source); })()));
  618.             foreach ($context['_seq'] as $context["_key"] => $context["city"]) {
  619.                 // line 407
  620.                 yield "                        <li>
  621.                             <a class=\"whr-city-link\"
  622.                                href=\"";
  623.                 // line 409
  624.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'409$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  625.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_cvs_application_companies_filter", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'409$this->source); })()), "slug" => CoreExtension::getAttribute($this->env$this->source$context["city"], "slug", [], "any"falsefalsefalse409)]), "html"nulltrue);
  626.                 } else {
  627.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("cvs_application_companies_filter", ["slug" => CoreExtension::getAttribute($this->env$this->source$context["city"], "slug", [], "any"falsefalsefalse409)]), "html"nulltrue);
  628.                 }
  629.                 yield "\"
  630.                                title=\"";
  631.                 // line 410
  632.                 yield ((CoreExtension::getAttribute($this->env$this->source$context["city"], "shortTitle", [], "any"falsefalsefalse410)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "shortTitle", [], "any"falsefalsefalse410), "html"nulltrue)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "label", [], "any"falsefalsefalse410), "html"nulltrue)));
  633.                 yield "\">
  634.                                 ";
  635.                 // line 411
  636.                 if ((($tmp CoreExtension::getAttribute($this->env$this->source$context["city"], "icon", [], "any"falsefalsefalse411)) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  637.                     // line 412
  638.                     yield "                                    <span class=\"whr-city-icon\">";
  639.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "icon", [], "any"falsefalsefalse412), "html"nulltrue);
  640.                     yield "</span>
  641.                                 ";
  642.                 } else {
  643.                     // line 414
  644.                     yield "                                    <i class=\"feather-map-pin whr-city-icon\"></i>
  645.                                 ";
  646.                 }
  647.                 // line 416
  648.                 yield "                                <span>";
  649.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["city"], "label", [], "any"falsefalsefalse416), "html"nulltrue);
  650.                 yield "</span>
  651.                             </a>
  652.                         </li>
  653.                     ";
  654.             }
  655.             $_parent $context['_parent'];
  656.             unset($context['_seq'], $context['_key'], $context['city'], $context['_parent']);
  657.             $context array_intersect_key($context$_parent) + $_parent;
  658.             // line 420
  659.             yield "                </ul>
  660.             ";
  661.         } else {
  662.             // line 422
  663.             yield "                <p class=\"whr-foot-empty\">";
  664.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.coming_soon", [], "whr-public"), "Bientôt disponible"), "html"nulltrue);
  665.             yield "</p>
  666.             ";
  667.         }
  668.         // line 424
  669.         yield "        </div>
  670.         ";
  671.         // line 429
  672.         yield "        <div class=\"whr-foot-col\">
  673.             <h4>";
  674.         // line 430
  675.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.footer.featured_pages", [], "whr-public"), "À découvrir"), "html"nulltrue);
  676.         yield "</h4>
  677.             ";
  678.         // line 431
  679.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty((isset($context["footerLandingJobs"]) || array_key_exists("footerLandingJobs"$context) ? $context["footerLandingJobs"] : (function () { throw new RuntimeError('Variable "footerLandingJobs" does not exist.'431$this->source); })()))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  680.             // line 432
  681.             yield "                <ul>
  682.                     ";
  683.             // line 433
  684.             $context['_parent'] = $context;
  685.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["footerLandingJobs"]) || array_key_exists("footerLandingJobs"$context) ? $context["footerLandingJobs"] : (function () { throw new RuntimeError('Variable "footerLandingJobs" does not exist.'433$this->source); })()));
  686.             foreach ($context['_seq'] as $context["_key"] => $context["landing"]) {
  687.                 // line 434
  688.                 yield "                        <li>
  689.                             <a href=\"";
  690.                 // line 435
  691.                 if ((($tmp = (isset($context["_isFr"]) || array_key_exists("_isFr"$context) ? $context["_isFr"] : (function () { throw new RuntimeError('Variable "_isFr" does not exist.'435$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  692.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_whileresume_homepage_landing", ["_locale" => (isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'435$this->source); })()), "slug" => CoreExtension::getAttribute($this->env$this->source$context["landing"], "slug", [], "any"falsefalsefalse435)]), "html"nulltrue);
  693.                 } else {
  694.                     yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("whileresume_homepage_landing", ["slug" => CoreExtension::getAttribute($this->env$this->source$context["landing"], "slug", [], "any"falsefalsefalse435)]), "html"nulltrue);
  695.                 }
  696.                 yield "\">
  697.                                 ";
  698.                 // line 436
  699.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["landing"], "title", [], "any"falsefalsefalse436), "html"nulltrue);
  700.                 yield "
  701.                             </a>
  702.                         </li>
  703.                     ";
  704.             }
  705.             $_parent $context['_parent'];
  706.             unset($context['_seq'], $context['_key'], $context['landing'], $context['_parent']);
  707.             $context array_intersect_key($context$_parent) + $_parent;
  708.             // line 440
  709.             yield "                </ul>
  710.             ";
  711.         }
  712.         // line 442
  713.         yield "        </div>
  714.     </div>
  715.     ";
  716.         // line 446
  717.         yield "    <div class=\"whr-foot-bottom\">
  718.         <p class=\"whr-foot-copy\">
  719.             ";
  720.         // line 448
  721.         if ((($tmp = (isset($context["favicon"]) || array_key_exists("favicon"$context) ? $context["favicon"] : (function () { throw new RuntimeError('Variable "favicon" does not exist.'448$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  722.             // line 449
  723.             yield "                <img src=\"";
  724.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["favicon"]) || array_key_exists("favicon"$context) ? $context["favicon"] : (function () { throw new RuntimeError('Variable "favicon" does not exist.'449$this->source); })()), "html"nulltrue);
  725.             yield "\" alt=\"\" class=\"whr-favicon\" />
  726.             ";
  727.         }
  728.         // line 451
  729.         yield "            <span>&copy; ";
  730.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Twig\Extension\CoreExtension']->formatDate("now""Y"), "html"nulltrue);
  731.         yield " ";
  732.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["websitename"]) || array_key_exists("websitename"$context) ? $context["websitename"] : (function () { throw new RuntimeError('Variable "websitename" does not exist.'451$this->source); })()), "html"nulltrue);
  733.         yield ". ";
  734.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::default($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("layout.rights_reserved", [], "whr-public"), "Tous droits réservés."), "html"nulltrue);
  735.         yield "</span>
  736.         </p>
  737.         <div class=\"whr-foot-legal\">
  738.             ";
  739.         // line 455
  740.         $context["menuFooter"] = $this->extensions['App\Twig\MenuExtension']->getMenuWebsiteLocaleArray((isset($context["_locale"]) || array_key_exists("_locale"$context) ? $context["_locale"] : (function () { throw new RuntimeError('Variable "_locale" does not exist.'455$this->source); })()), "footer", (isset($context["connectUser"]) || array_key_exists("connectUser"$context) ? $context["connectUser"] : (function () { throw new RuntimeError('Variable "connectUser" does not exist.'455$this->source); })()));
  741.         // line 456
  742.         yield "            ";
  743.         if ((($tmp =  !Twig\Extension\CoreExtension::testEmpty((isset($context["menuFooter"]) || array_key_exists("menuFooter"$context) ? $context["menuFooter"] : (function () { throw new RuntimeError('Variable "menuFooter" does not exist.'456$this->source); })()))) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  744.             // line 457
  745.             yield "                ";
  746.             $context['_parent'] = $context;
  747.             $context['_seq'] = CoreExtension::ensureTraversable((isset($context["menuFooter"]) || array_key_exists("menuFooter"$context) ? $context["menuFooter"] : (function () { throw new RuntimeError('Variable "menuFooter" does not exist.'457$this->source); })()));
  748.             foreach ($context['_seq'] as $context["_key"] => $context["m"]) {
  749.                 // line 458
  750.                 yield "                    <a href=\"";
  751.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["m"], "link", [], "any"falsefalsefalse458), "html"nulltrue);
  752.                 yield "\"
  753.                        aria-label=\"";
  754.                 // line 459
  755.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["m"], "title", [], "any"falsefalsefalse459), "html"nulltrue);
  756.                 yield "\"
  757.                        title=\"";
  758.                 // line 460
  759.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["m"], "title", [], "any"falsefalsefalse460), "html"nulltrue);
  760.                 yield "\"
  761.                        ";
  762.                 // line 461
  763.                 if ((CoreExtension::getAttribute($this->env$this->source$context["m"], "targetBlank", [], "any"falsefalsefalse461) == 1)) {
  764.                     yield "target=\"_blank\" rel=\"noreferrer\"";
  765.                 }
  766.                 yield ">
  767.                         ";
  768.                 // line 462
  769.                 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source$context["m"], "title", [], "any"falsefalsefalse462), "html"nulltrue);
  770.                 yield "
  771.                     </a>
  772.                 ";
  773.             }
  774.             $_parent $context['_parent'];
  775.             unset($context['_seq'], $context['_key'], $context['m'], $context['_parent']);
  776.             $context array_intersect_key($context$_parent) + $_parent;
  777.             // line 465
  778.             yield "            ";
  779.         }
  780.         // line 466
  781.         yield "            ";
  782.         if (( !(null === CoreExtension::getAttribute($this->env$this->source, (isset($context["app"]) || array_key_exists("app"$context) ? $context["app"] : (function () { throw new RuntimeError('Variable "app" does not exist.'466$this->source); })()), "user", [], "any"falsefalsefalse466)) && $this->extensions['Symfony\Bridge\Twig\Extension\SecurityExtension']->isGranted("ROLE_SUPER_ADMIN"))) {
  783.             // line 467
  784.             yield "                <a href=\"";
  785.             yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("backoffice_dashboard");
  786.             yield "\" class=\"whr-admin-link\" title=\"Administration\">
  787.                     <i class=\"feather-settings\"></i> Administration
  788.                 </a>
  789.             ";
  790.         }
  791.         // line 471
  792.         yield "        </div>
  793.         <ul class=\"whr-foot-social\">
  794.             ";
  795.         // line 474
  796.         if ((($tmp = (isset($context["facebook"]) || array_key_exists("facebook"$context) ? $context["facebook"] : (function () { throw new RuntimeError('Variable "facebook" does not exist.'474$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  797.             // line 475
  798.             yield "                <li><a href=\"";
  799.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["facebook"]) || array_key_exists("facebook"$context) ? $context["facebook"] : (function () { throw new RuntimeError('Variable "facebook" does not exist.'475$this->source); })()), "html"nulltrue);
  800.             yield "\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook\"><i class=\"feather-facebook\"></i></a></li>
  801.             ";
  802.         }
  803.         // line 477
  804.         yield "            ";
  805.         if ((($tmp = (isset($context["twitter"]) || array_key_exists("twitter"$context) ? $context["twitter"] : (function () { throw new RuntimeError('Variable "twitter" does not exist.'477$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  806.             // line 478
  807.             yield "                <li><a href=\"";
  808.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["twitter"]) || array_key_exists("twitter"$context) ? $context["twitter"] : (function () { throw new RuntimeError('Variable "twitter" does not exist.'478$this->source); })()), "html"nulltrue);
  809.             yield "\" target=\"_blank\" rel=\"noopener\" aria-label=\"X / Twitter\"><i class=\"feather-twitter\"></i></a></li>
  810.             ";
  811.         }
  812.         // line 480
  813.         yield "            ";
  814.         if ((($tmp = (isset($context["instagram"]) || array_key_exists("instagram"$context) ? $context["instagram"] : (function () { throw new RuntimeError('Variable "instagram" does not exist.'480$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  815.             // line 481
  816.             yield "                <li><a href=\"";
  817.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["instagram"]) || array_key_exists("instagram"$context) ? $context["instagram"] : (function () { throw new RuntimeError('Variable "instagram" does not exist.'481$this->source); })()), "html"nulltrue);
  818.             yield "\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\"><i class=\"feather-instagram\"></i></a></li>
  819.             ";
  820.         }
  821.         // line 483
  822.         yield "            ";
  823.         if ((($tmp = (isset($context["linkedin"]) || array_key_exists("linkedin"$context) ? $context["linkedin"] : (function () { throw new RuntimeError('Variable "linkedin" does not exist.'483$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  824.             // line 484
  825.             yield "                <li><a href=\"";
  826.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["linkedin"]) || array_key_exists("linkedin"$context) ? $context["linkedin"] : (function () { throw new RuntimeError('Variable "linkedin" does not exist.'484$this->source); })()), "html"nulltrue);
  827.             yield "\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><i class=\"feather-linkedin\"></i></a></li>
  828.             ";
  829.         }
  830.         // line 486
  831.         yield "            ";
  832.         if ((($tmp = (isset($context["youtube"]) || array_key_exists("youtube"$context) ? $context["youtube"] : (function () { throw new RuntimeError('Variable "youtube" does not exist.'486$this->source); })())) && $tmp instanceof Markup ? (string) $tmp $tmp)) {
  833.             // line 487
  834.             yield "                <li><a href=\"";
  835.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["youtube"]) || array_key_exists("youtube"$context) ? $context["youtube"] : (function () { throw new RuntimeError('Variable "youtube" does not exist.'487$this->source); })()), "html"nulltrue);
  836.             yield "\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube\"><i class=\"feather-youtube\"></i></a></li>
  837.             ";
  838.         }
  839.         // line 489
  840.         yield "        </ul>
  841.     </div>
  842. </footer>
  843. ";
  844.         
  845.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  846.         
  847.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  848.         yield from [];
  849.     }
  850.     /**
  851.      * @codeCoverageIgnore
  852.      */
  853.     public function getTemplateName(): string
  854.     {
  855.         return "application/whileresume/website/components/footer.html.twig";
  856.     }
  857.     /**
  858.      * @codeCoverageIgnore
  859.      */
  860.     public function isTraitable(): bool
  861.     {
  862.         return false;
  863.     }
  864.     /**
  865.      * @codeCoverageIgnore
  866.      */
  867.     public function getDebugInfo(): array
  868.     {
  869.         return array (  872 => 489,  866 => 487,  863 => 486,  857 => 484,  854 => 483,  848 => 481,  845 => 480,  839 => 478,  836 => 477,  830 => 475,  828 => 474,  823 => 471,  815 => 467,  812 => 466,  809 => 465,  800 => 462,  794 => 461,  790 => 460,  786 => 459,  781 => 458,  776 => 457,  773 => 456,  771 => 455,  759 => 451,  753 => 449,  751 => 448,  747 => 446,  742 => 442,  738 => 440,  728 => 436,  720 => 435,  717 => 434,  713 => 433,  710 => 432,  708 => 431,  704 => 430,  701 => 429,  697 => 424,  691 => 422,  687 => 420,  676 => 416,  672 => 414,  666 => 412,  664 => 411,  660 => 410,  652 => 409,  648 => 407,  644 => 406,  641 => 405,  639 => 404,  635 => 403,  632 => 402,  628 => 399,  622 => 397,  618 => 395,  607 => 391,  603 => 389,  597 => 387,  595 => 386,  591 => 385,  583 => 384,  579 => 382,  575 => 381,  572 => 380,  570 => 379,  566 => 378,  563 => 377,  559 => 374,  553 => 372,  549 => 370,  539 => 366,  535 => 365,  527 => 364,  524 => 363,  520 => 362,  517 => 361,  515 => 360,  511 => 359,  508 => 358,  503 => 354,  496 => 350,  487 => 348,  480 => 344,  471 => 342,  464 => 338,  455 => 336,  452 => 335,  450 => 334,  443 => 330,  438 => 328,  435 => 327,  428 => 323,  419 => 321,  412 => 317,  403 => 315,  400 => 314,  393 => 310,  384 => 308,  381 => 307,  378 => 306,  376 => 305,  371 => 302,  363 => 297,  351 => 289,  348 => 288,  340 => 283,  331 => 278,  329 => 277,  325 => 275,  319 => 273,  313 => 271,  311 => 270,  307 => 268,  304 => 267,  301 => 266,  298 => 265,  295 => 264,  292 => 263,  289 => 262,  286 => 261,  282 => 258,  66 => 43,  64 => 42,  62 => 41,  60 => 40,  58 => 39,  55 => 37,  53 => 36,  51 => 35,  48 => 34,);
  870.     }
  871.     public function getSourceContext(): Source
  872.     {
  873.         return new Source("{# =========================================================
  874.    FOOTER WhileResume — thème Sociala (v4 — routes vérifiées)
  875.    Colonnes :
  876.      1. Mon compte / Commencer ici (stores + liens action)
  877.      2. Articles récents (featured ArticlesRepository::getLast)
  878.      3. Emplois par ville (JobsFilters type=city)
  879.      4. Entreprises par ville (EnterprisesFilters type=city)
  880.      5. Pages SEO (LandingJobs featured)
  881.    ⚠️ Routes utilisées (vérifiées contre routes.yml) :
  882.      ✓ whileresume_homepage / locale_whileresume_homepage
  883.      ✓ cvs_website_article / locale_cvs_website_article
  884.      ✓ cvs_application_jobs_filter / locale_cvs_application_jobs_filter
  885.      ✓ cvs_application_companies_filter / locale_cvs_application_companies_filter
  886.      ✓ cvs_application_job_new / locale_cvs_application_job_new (= /post-a-job)
  887.      ✓ whileresume_jobs_list / locale_whileresume_jobs_list
  888.      ✓ whileresume_companies_list / locale_whileresume_companies_list
  889.      ✓ app_logout
  890.      ⚠️ À CONFIRMER (pas dans routes.yml uploadé — sans doute dans whileresume_resume/whileresume_business) :
  891.      - app_login / locale_app_login → bouton login
  892.      - cvs_gestion_candidates_register / locale_… → inscription candidat
  893.      - cvs_gestion_enterprises_register / locale_… → inscription pro
  894.      - cvs_application_cv_builder / locale_… → créateur de CV
  895.      - cvs_gestion_candidates_profile_profile → profil candidat connecté
  896.      - cvs_gestion_enterprises_profile_profile → profil entreprise connecté
  897.      - cvs_gestion_enterprises_settings → settings entreprise
  898.      - cvs_application_landing_jobs_show → page d'une LandingJobs (slug)
  899.    👉 Si une route n'existe pas, remplace-la directement dans ce fichier
  900.       (un seul endroit à modifier par lien).
  901.    ========================================================= #}
  902. {% set _locale = app.request.locale %}
  903. {% set _isFr = _locale == 'fr' %}
  904. {# Données dynamiques #}
  905. {% set footerArticles = getFooterArticles(_locale, 5) %}
  906. {% set footerLandingJobs = getFooterFeaturedLandingJobs(_locale, 5) %}
  907. {% set footerJobsCities = getFooterJobsCities(_locale, 6) %}
  908. {% set footerEnterprisesCities = getFooterEnterprisesCities(_locale, 6) %}
  909. <style>
  910.     /* ---------- Footer WhileResume ---------- */
  911.     .whr-footer {
  912.         margin-top: 32px;
  913.         padding: 36px 24px 24px;
  914.         background: #F9FAFD;
  915.         border-radius: 16px;
  916.         color: #2c2c46;
  917.     }
  918.     .theme-dark .whr-footer {
  919.         background: #2a2a3c;
  920.         color: #e9e9ef;
  921.     }
  922.     /* Stores en haut de la col 1 */
  923.     .whr-footer .whr-stores {
  924.         display: flex;
  925.         flex-direction: column;
  926.         gap: 8px;
  927.         margin-bottom: 18px;
  928.     }
  929.     .whr-footer .whr-store-link {
  930.         display: inline-flex;
  931.         align-items: center;
  932.         gap: 10px;
  933.         padding: 8px 14px;
  934.         background: #111;
  935.         color: #fff !important;
  936.         border-radius: 10px;
  937.         font-size: 12px;
  938.         font-weight: 600;
  939.         text-decoration: none !important;
  940.         line-height: 1.2;
  941.         transition: transform .15s ease, background .2s ease;
  942.         max-width: 170px;
  943.     }
  944.     .whr-footer .whr-store-link:hover {
  945.         background: #2c2c46;
  946.         transform: translateY(-1px);
  947.     }
  948.     .whr-footer .whr-store-link small {
  949.         display: block;
  950.         font-weight: 400;
  951.         font-size: 10px;
  952.         opacity: .7;
  953.     }
  954.     .whr-footer .whr-store-link strong { font-size: 13px; display: block; }
  955.     /* Colonnes */
  956.     .whr-footer .whr-foot-col h4 {
  957.         font-size: 13px;
  958.         font-weight: 700;
  959.         margin: 0 0 14px 0;
  960.         color: inherit;
  961.         text-transform: uppercase;
  962.         letter-spacing: .3px;
  963.     }
  964.     .whr-footer .whr-foot-col ul {
  965.         list-style: none;
  966.         padding: 0;
  967.         margin: 0;
  968.         font-size: 13px;
  969.     }
  970.     .whr-footer .whr-foot-col ul li { margin-bottom: 10px; }
  971.     .whr-footer .whr-foot-col a {
  972.         color: inherit;
  973.         opacity: .75;
  974.         text-decoration: none;
  975.         transition: opacity .2s ease, color .2s ease;
  976.     }
  977.     .whr-footer .whr-foot-col a:hover { opacity: 1; color: var(--theme-color, #6C3AED); }
  978.     .whr-footer .whr-foot-empty {
  979.         font-size: 12px;
  980.         opacity: .5;
  981.         font-style: italic;
  982.     }
  983.     /* Liste avec icônes (col 1) */
  984.     .whr-footer .whr-foot-action-links a {
  985.         display: inline-flex;
  986.         align-items: center;
  987.         gap: 8px;
  988.     }
  989.     .whr-footer .whr-foot-action-links a i {
  990.         font-size: 14px;
  991.         opacity: .7;
  992.         width: 16px;
  993.         text-align: center;
  994.     }
  995.     /* Mini-icône ville pour cols 3 et 4 */
  996.     .whr-footer .whr-foot-col .whr-city-link {
  997.         display: inline-flex;
  998.         align-items: center;
  999.         gap: 6px;
  1000.     }
  1001.     .whr-footer .whr-foot-col .whr-city-link .whr-city-icon {
  1002.         font-size: 14px;
  1003.         line-height: 1;
  1004.         display: inline-block;
  1005.         width: 18px;
  1006.         text-align: center;
  1007.         opacity: .85;
  1008.     }
  1009.     /* Grille principale : 1 col → 2 cols → 5 cols */
  1010.     .whr-footer .whr-foot-grid {
  1011.         display: grid;
  1012.         gap: 28px;
  1013.         grid-template-columns: 1fr;
  1014.     }
  1015.     @media (min-width: 576px) {
  1016.         .whr-footer .whr-foot-grid { grid-template-columns: 1fr 1fr; }
  1017.     }
  1018.     @media (min-width: 992px) {
  1019.         .whr-footer .whr-foot-grid {
  1020.             grid-template-columns: repeat(5, 1fr);
  1021.             gap: 32px;
  1022.         }
  1023.     }
  1024.     /* Bottom bar */
  1025.     .whr-footer .whr-foot-bottom {
  1026.         margin-top: 32px;
  1027.         padding-top: 20px;
  1028.         border-top: 1px solid rgba(0,0,0,.08);
  1029.         display: flex;
  1030.         flex-direction: column;
  1031.         gap: 14px;
  1032.         align-items: center;
  1033.         text-align: center;
  1034.     }
  1035.     .theme-dark .whr-footer .whr-foot-bottom { border-top-color: rgba(255,255,255,.1); }
  1036.     @media (min-width: 768px) {
  1037.         .whr-footer .whr-foot-bottom {
  1038.             flex-direction: row;
  1039.             justify-content: space-between;
  1040.             text-align: left;
  1041.         }
  1042.     }
  1043.     .whr-footer .whr-foot-copy {
  1044.         display: inline-flex;
  1045.         align-items: center;
  1046.         gap: 8px;
  1047.         font-size: 12px;
  1048.         opacity: .7;
  1049.         margin: 0;
  1050.     }
  1051.     .whr-footer .whr-foot-copy img.whr-favicon {
  1052.         width: 18px;
  1053.         height: 18px;
  1054.         border-radius: 4px;
  1055.         flex-shrink: 0;
  1056.     }
  1057.     .whr-footer .whr-foot-legal {
  1058.         display: flex;
  1059.         flex-wrap: wrap;
  1060.         gap: 6px 16px;
  1061.         justify-content: center;
  1062.         font-size: 12px;
  1063.     }
  1064.     .whr-footer .whr-foot-legal a {
  1065.         color: inherit;
  1066.         opacity: .75;
  1067.         text-decoration: none;
  1068.     }
  1069.     .whr-footer .whr-foot-legal a:hover { opacity: 1; }
  1070.     .whr-footer .whr-foot-legal .whr-admin-link { color: #e74c3c !important; opacity: 1; }
  1071.     .whr-footer .whr-foot-social {
  1072.         display: flex;
  1073.         flex-wrap: wrap;
  1074.         gap: 6px;
  1075.         list-style: none;
  1076.         padding: 0;
  1077.         margin: 0;
  1078.     }
  1079.     .whr-footer .whr-foot-social a {
  1080.         width: 32px; height: 32px;
  1081.         border-radius: 8px;
  1082.         background: #fff;
  1083.         display: inline-flex;
  1084.         align-items: center;
  1085.         justify-content: center;
  1086.         color: #2c2c46;
  1087.         text-decoration: none !important;
  1088.         transition: background .2s ease, color .2s ease, transform .15s ease;
  1089.         box-shadow: 0 1px 2px rgba(0,0,0,.04);
  1090.     }
  1091.     .whr-footer .whr-foot-social a:hover {
  1092.         background: var(--theme-color, #6C3AED);
  1093.         color: #fff;
  1094.         transform: translateY(-1px);
  1095.     }
  1096.     .theme-dark .whr-footer .whr-foot-social a {
  1097.         background: #34344a;
  1098.         color: #fff;
  1099.         box-shadow: none;
  1100.     }
  1101.     .whr-footer .whr-foot-social i { font-size: 14px; }
  1102.     .middle-sidebar-left .whr-footer { width: 100%; }
  1103.     @media (max-width: 575.98px) {
  1104.         .whr-footer { padding: 24px 18px 20px; }
  1105.     }
  1106. </style>
  1107. <footer class=\"whr-footer\" role=\"contentinfo\">
  1108.     {# === Grille principale 5 colonnes === #}
  1109.     <div class=\"whr-foot-grid\">
  1110.         {# ===== Col 1 : Mon compte / Commencer ici ===== #}
  1111.         {% if _isFr %}
  1112.             {% set _ios = ios_fr %}
  1113.             {% set _android = android_fr %}
  1114.         {% else %}
  1115.             {% set _ios = ios_us %}
  1116.             {% set _android = android_us %}
  1117.         {% endif %}
  1118.         <div class=\"whr-foot-col whr-foot-col-action\">
  1119.             {% if connectUser %}
  1120.                 <h4>{{ 'layout.footer.my_account'|trans({}, 'whr-public')|default('Mon compte') }}</h4>
  1121.             {% else %}
  1122.                 <h4>{{ 'layout.footer.start_here'|trans({}, 'whr-public')|default('Commencer ici') }}</h4>
  1123.             {% endif %}
  1124.             <div class=\"whr-stores\">
  1125.                 {% if _ios %}
  1126.                     <a href=\"{{ _ios }}\" class=\"whr-store-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"App Store\">
  1127.                         <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"#fff\" aria-hidden=\"true\">
  1128.                             <path d=\"M18.71 19.5C17.88 20.74 17 21.95 15.66 21.97C14.32 22 13.89 21.18 12.37 21.18C10.84 21.18 10.37 21.95 9.09997 22C7.78997 22.05 6.79997 20.68 5.95997 19.47C4.24997 17 2.93997 12.45 4.69997 9.39C5.56997 7.87 7.12997 6.91 8.81997 6.88C10.1 6.86 11.32 7.75 12.11 7.75C12.89 7.75 14.37 6.68 15.92 6.84C16.57 6.87 18.39 7.1 19.56 8.82C19.47 8.88 17.39 10.1 17.41 12.63C17.44 15.65 20.06 16.66 20.09 16.67C20.06 16.74 19.67 18.11 18.71 19.5ZM13 3.5C13.73 2.67 14.94 2.04 15.94 2C16.07 3.17 15.6 4.35 14.9 5.19C14.21 6.04 13.07 6.7 11.95 6.61C11.8 5.46 12.36 4.26 13 3.5Z\"/>
  1129.                         </svg>
  1130.                         <span>
  1131.                             <small>{{ 'layout.download_on'|trans({}, 'whr-public')|default('Télécharger sur') }}</small>
  1132.                             <strong>App Store</strong>
  1133.                         </span>
  1134.                     </a>
  1135.                 {% endif %}
  1136.                 {% if _android %}
  1137.                     <a href=\"{{ _android }}\" class=\"whr-store-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"Google Play\">
  1138.                         <svg width=\"18\" height=\"18\" viewBox=\"0 0 512 512\" aria-hidden=\"true\">
  1139.                             <path style=\"fill:#3A9BC8;\" d=\"M225.656,256.052L14.016,485.451l-6.442,7.052c-4.005-5.919-6.704-12.972-7.313-20.806C0.087,470.305,0,468.91,0,467.518V44.499c0-9.488,2.873-18.02,7.574-24.987L225.656,256.052z\"/>
  1140.                             <path style=\"fill:#9BCD83;\" d=\"M320.811,152.8l-95.155,103.253L7.574,19.512C19.936,1.405,45.183-6.342,66.6,6.02L320.811,152.8z\"/>
  1141.                             <path style=\"fill:#EEB84C;\" d=\"M455.056,257.27c-0.348,14.453-7.748,28.904-22.113,37.174l-112.132,64.771l-95.155-103.163L320.811,152.8l70.518,40.745l41.614,24.026C448.178,226.366,455.579,241.861,455.056,257.27z\"/>
  1142.                             <path style=\"fill:#B43F70;\" d=\"M7.591,492.492c12.368,18.116,37.599,25.838,58.976,13.496L320.775,359.22l-95.156-103.209L7.591,492.492z\"/>
  1143.                         </svg>
  1144.                         <span>
  1145.                             <small>{{ 'layout.available_on'|trans({}, 'whr-public')|default('Disponible sur') }}</small>
  1146.                             <strong>Google Play</strong>
  1147.                         </span>
  1148.                     </a>
  1149.                 {% endif %}
  1150.             </div>
  1151.             <ul class=\"whr-foot-action-links\">
  1152.                 {% if connectUser %}
  1153.                     {% if isCandidateUser %}
  1154.                         <li>
  1155.                             <a href=\"{% if _isFr %}{{ path('locale_cvs_gestion_candidates_profile_profile', {'_locale': _locale}) }}{% else %}{{ path('cvs_gestion_candidates_profile_profile') }}{% endif %}\">
  1156.                                 <i class=\"feather-user\"></i>
  1157.                                 {{ 'layout.footer.my_profile'|trans({}, 'whr-public')|default('Mon profil') }}
  1158.                             </a>
  1159.                         </li>
  1160.                     {% else %}
  1161.                         <li>
  1162.                             <a href=\"{% if _isFr %}{{ path('locale_cvs_gestion_enterprises_profile_profile', {'_locale': _locale}) }}{% else %}{{ path('cvs_gestion_enterprises_profile_profile') }}{% endif %}\">
  1163.                                 <i class=\"feather-user\"></i>
  1164.                                 {{ 'layout.footer.my_profile'|trans({}, 'whr-public')|default('Mon profil') }}
  1165.                             </a>
  1166.                         </li>
  1167.                         <li>
  1168.                             <a href=\"{% if _isFr %}{{ path('locale_cvs_gestion_enterprises_settings', {'_locale': _locale}) }}{% else %}{{ path('cvs_gestion_enterprises_settings') }}{% endif %}\">
  1169.                                 <i class=\"feather-settings\"></i>
  1170.                                 {{ 'layout.footer.settings'|trans({}, 'whr-public')|default('Paramètres') }}
  1171.                             </a>
  1172.                         </li>
  1173.                     {% endif %}
  1174.                     <li>
  1175.                         <a href=\"{{ path('app_logout') }}\">
  1176.                             <i class=\"feather-log-out\"></i>
  1177.                             {{ 'layout.footer.logout'|trans({}, 'whr-public')|default('Déconnexion') }}
  1178.                         </a>
  1179.                     </li>
  1180.                 {% else %}
  1181.                     {# Pas connecté : on pousse vers les CTA principaux du site #}
  1182.                     <li>
  1183.                         <a href=\"{% if _isFr %}{{ path('locale_whileresume_jobs_list', {'_locale': _locale}) }}{% else %}{{ path('whileresume_jobs_list') }}{% endif %}\">
  1184.                             <i class=\"feather-briefcase\"></i>
  1185.                             {{ 'layout.footer.browse_jobs'|trans({}, 'whr-public')|default('Voir les offres') }}
  1186.                         </a>
  1187.                     </li>
  1188.                     <li>
  1189.                         <a href=\"{% if _isFr %}{{ path('locale_whileresume_companies_list', {'_locale': _locale}) }}{% else %}{{ path('whileresume_companies_list') }}{% endif %}\">
  1190.                             <i class=\"feather-grid\"></i>
  1191.                             {{ 'layout.footer.browse_companies'|trans({}, 'whr-public')|default('Voir les entreprises') }}
  1192.                         </a>
  1193.                     </li>
  1194.                     <li>
  1195.                         <a href=\"{% if _isFr %}{{ path('locale_cvs_application_job_new', {'_locale': _locale}) }}{% else %}{{ path('cvs_application_job_new') }}{% endif %}\">
  1196.                             <i class=\"feather-plus-circle\"></i>
  1197.                             {{ 'layout.footer.post_job'|trans({}, 'whr-public')|default('Publier une offre') }}
  1198.                         </a>
  1199.                     </li>
  1200.                 {% endif %}
  1201.             </ul>
  1202.         </div>
  1203.         {# ===== Col 2 : Articles récents (featured) ===== #}
  1204.         <div class=\"whr-foot-col\">
  1205.             <h4>{{ 'layout.footer.latest_articles'|trans({}, 'whr-public')|default('Articles récents') }}</h4>
  1206.             {% if footerArticles is not empty %}
  1207.                 <ul>
  1208.                     {% for article in footerArticles %}
  1209.                         <li>
  1210.                             <a href=\"{% if _isFr %}{{ path('locale_cvs_website_article', {'_locale': _locale, 'slug': article.slug}) }}{% else %}{{ path('cvs_website_article', {'slug': article.slug}) }}{% endif %}\"
  1211.                                title=\"{{ article.title }}\">
  1212.                                 {{ article.shortTitle ?: cleanSubstr(article.title, 45) }}
  1213.                             </a>
  1214.                         </li>
  1215.                     {% endfor %}
  1216.                 </ul>
  1217.             {% else %}
  1218.                 <p class=\"whr-foot-empty\">{{ 'layout.footer.coming_soon'|trans({}, 'whr-public')|default('Bientôt disponible') }}</p>
  1219.             {% endif %}
  1220.         </div>
  1221.         {# ===== Col 3 : Emplois par ville ===== #}
  1222.         <div class=\"whr-foot-col\">
  1223.             <h4>{{ 'layout.footer.jobs_by_city'|trans({}, 'whr-public')|default('Emplois par ville') }}</h4>
  1224.             {% if footerJobsCities is not empty %}
  1225.                 <ul>
  1226.                     {% for city in footerJobsCities %}
  1227.                         <li>
  1228.                             <a class=\"whr-city-link\"
  1229.                                href=\"{% if _isFr %}{{ path('locale_cvs_application_jobs_filter', {'_locale': _locale, 'slug': city.slug}) }}{% else %}{{ path('cvs_application_jobs_filter', {'slug': city.slug}) }}{% endif %}\"
  1230.                                title=\"{{ city.shortTitle ?: city.label }}\">
  1231.                                 {% if city.icon %}
  1232.                                     <span class=\"whr-city-icon\">{{ city.icon }}</span>
  1233.                                 {% else %}
  1234.                                     <i class=\"feather-map-pin whr-city-icon\"></i>
  1235.                                 {% endif %}
  1236.                                 <span>{{ city.label }}</span>
  1237.                             </a>
  1238.                         </li>
  1239.                     {% endfor %}
  1240.                 </ul>
  1241.             {% else %}
  1242.                 <p class=\"whr-foot-empty\">{{ 'layout.footer.coming_soon'|trans({}, 'whr-public')|default('Bientôt disponible') }}</p>
  1243.             {% endif %}
  1244.         </div>
  1245.         {# ===== Col 4 : Entreprises par ville ===== #}
  1246.         <div class=\"whr-foot-col\">
  1247.             <h4>{{ 'layout.footer.companies_by_city'|trans({}, 'whr-public')|default('Entreprises par ville') }}</h4>
  1248.             {% if footerEnterprisesCities is not empty %}
  1249.                 <ul>
  1250.                     {% for city in footerEnterprisesCities %}
  1251.                         <li>
  1252.                             <a class=\"whr-city-link\"
  1253.                                href=\"{% if _isFr %}{{ path('locale_cvs_application_companies_filter', {'_locale': _locale, 'slug': city.slug}) }}{% else %}{{ path('cvs_application_companies_filter', {'slug': city.slug}) }}{% endif %}\"
  1254.                                title=\"{{ city.shortTitle ?: city.label }}\">
  1255.                                 {% if city.icon %}
  1256.                                     <span class=\"whr-city-icon\">{{ city.icon }}</span>
  1257.                                 {% else %}
  1258.                                     <i class=\"feather-map-pin whr-city-icon\"></i>
  1259.                                 {% endif %}
  1260.                                 <span>{{ city.label }}</span>
  1261.                             </a>
  1262.                         </li>
  1263.                     {% endfor %}
  1264.                 </ul>
  1265.             {% else %}
  1266.                 <p class=\"whr-foot-empty\">{{ 'layout.footer.coming_soon'|trans({}, 'whr-public')|default('Bientôt disponible') }}</p>
  1267.             {% endif %}
  1268.         </div>
  1269.         {# ===== Col 5 : Pages SEO (LandingJobs featured) =====
  1270.              ⚠️ Route 'cvs_application_landing_jobs_show' non trouvée dans tes
  1271.              routes.yml (peut-être dans whileresume_resume.yml ?). Adapte si besoin. #}
  1272.         <div class=\"whr-foot-col\">
  1273.             <h4>{{ 'layout.footer.featured_pages'|trans({}, 'whr-public')|default('À découvrir') }}</h4>
  1274.             {% if footerLandingJobs is not empty %}
  1275.                 <ul>
  1276.                     {% for landing in footerLandingJobs %}
  1277.                         <li>
  1278.                             <a href=\"{% if _isFr %}{{ path('locale_whileresume_homepage_landing', {'_locale': _locale, 'slug': landing.slug}) }}{% else %}{{ path('whileresume_homepage_landing', {'slug': landing.slug}) }}{% endif %}\">
  1279.                                 {{ landing.title }}
  1280.                             </a>
  1281.                         </li>
  1282.                     {% endfor %}
  1283.                 </ul>
  1284.             {% endif %}
  1285.         </div>
  1286.     </div>
  1287.     {# === Bas du footer === #}
  1288.     <div class=\"whr-foot-bottom\">
  1289.         <p class=\"whr-foot-copy\">
  1290.             {% if favicon %}
  1291.                 <img src=\"{{ favicon }}\" alt=\"\" class=\"whr-favicon\" />
  1292.             {% endif %}
  1293.             <span>&copy; {{ \"now\"|date('Y') }} {{ websitename }}. {{ 'layout.rights_reserved'|trans({}, 'whr-public')|default('Tous droits réservés.') }}</span>
  1294.         </p>
  1295.         <div class=\"whr-foot-legal\">
  1296.             {% set menuFooter = getMenuWebsiteLocaleArray(_locale, \"footer\", connectUser) %}
  1297.             {% if menuFooter is not empty %}
  1298.                 {% for m in menuFooter %}
  1299.                     <a href=\"{{ m.link }}\"
  1300.                        aria-label=\"{{ m.title }}\"
  1301.                        title=\"{{ m.title }}\"
  1302.                        {% if m.targetBlank == 1 %}target=\"_blank\" rel=\"noreferrer\"{% endif %}>
  1303.                         {{ m.title }}
  1304.                     </a>
  1305.                 {% endfor %}
  1306.             {% endif %}
  1307.             {% if app.user is not null and is_granted(\"ROLE_SUPER_ADMIN\") %}
  1308.                 <a href=\"{{ path('backoffice_dashboard') }}\" class=\"whr-admin-link\" title=\"Administration\">
  1309.                     <i class=\"feather-settings\"></i> Administration
  1310.                 </a>
  1311.             {% endif %}
  1312.         </div>
  1313.         <ul class=\"whr-foot-social\">
  1314.             {% if facebook %}
  1315.                 <li><a href=\"{{ facebook }}\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook\"><i class=\"feather-facebook\"></i></a></li>
  1316.             {% endif %}
  1317.             {% if twitter %}
  1318.                 <li><a href=\"{{ twitter }}\" target=\"_blank\" rel=\"noopener\" aria-label=\"X / Twitter\"><i class=\"feather-twitter\"></i></a></li>
  1319.             {% endif %}
  1320.             {% if instagram %}
  1321.                 <li><a href=\"{{ instagram }}\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\"><i class=\"feather-instagram\"></i></a></li>
  1322.             {% endif %}
  1323.             {% if linkedin %}
  1324.                 <li><a href=\"{{ linkedin }}\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn\"><i class=\"feather-linkedin\"></i></a></li>
  1325.             {% endif %}
  1326.             {% if youtube %}
  1327.                 <li><a href=\"{{ youtube }}\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube\"><i class=\"feather-youtube\"></i></a></li>
  1328.             {% endif %}
  1329.         </ul>
  1330.     </div>
  1331. </footer>
  1332. ""application/whileresume/website/components/footer.html.twig""/var/www/vhosts/mirtillostudio.fr/b1.mirtillostudio.fr/version-1/templates/application/whileresume/website/components/footer.html.twig");
  1333.     }
  1334. }