<?phpuse Twig\Environment;use Twig\Error\LoaderError;use Twig\Error\RuntimeError;use Twig\Extension\CoreExtension;use Twig\Extension\SandboxExtension;use Twig\Markup;use Twig\Sandbox\SecurityError;use Twig\Sandbox\SecurityNotAllowedTagError;use Twig\Sandbox\SecurityNotAllowedFilterError;use Twig\Sandbox\SecurityNotAllowedFunctionError;use Twig\Source;use Twig\Template;use Twig\TemplateWrapper;/* application/whileresume/website/articles/list.html.twig */class __TwigTemplate_c02e0bd67b4249e7cd34090012ccd3e6 extends Template{ private Source $source; /** * @var array<string, Template> */ private array $macros = []; public function __construct(Environment $env) { parent::__construct($env); $this->source = $this->getSourceContext(); $this->blocks = [ 'title' => [$this, 'block_title'], 'description' => [$this, 'block_description'], 'robots' => [$this, 'block_robots'], 'meta_social' => [$this, 'block_meta_social'], 'canonical' => [$this, 'block_canonical'], 'css' => [$this, 'block_css'], 'body' => [$this, 'block_body'], ]; } protected function doGetParent(array $context): bool|string|Template|TemplateWrapper { // line 1 return "application/whileresume/website/layout-social.html.twig"; } protected function doDisplay(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "application/whileresume/website/articles/list.html.twig")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "application/whileresume/website/articles/list.html.twig")); // line 66 $macros["ctaMacro"] = $this->macros["ctaMacro"] = $this; // line 1 $this->parent = $this->load("application/whileresume/website/layout-social.html.twig", 1); yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks)); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); } // line 68 /** * @return iterable<null|scalar|\Stringable> */ public function block_title(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "title")); yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["page"]) || array_key_exists("page", $context) ? $context["page"] : (function () { throw new RuntimeError('Variable "page" does not exist.', 68, $this->source); })()), "shortTitle", [], "any", false, false, false, 68), "html", null, true); $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 69 /** * @return iterable<null|scalar|\Stringable> */ public function block_description(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "description")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "description")); yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["page"]) || array_key_exists("page", $context) ? $context["page"] : (function () { throw new RuntimeError('Variable "page" does not exist.', 69, $this->source); })()), "shortDescription", [], "any", false, false, false, 69), "html", null, true); $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 70 /** * @return iterable<null|scalar|\Stringable> */ public function block_robots(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "robots")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "robots")); yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["page"]) || array_key_exists("page", $context) ? $context["page"] : (function () { throw new RuntimeError('Variable "page" does not exist.', 70, $this->source); })()), "robots", [], "any", false, false, false, 70), "html", null, true); $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 71 /** * @return iterable<null|scalar|\Stringable> */ public function block_meta_social(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "meta_social")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "meta_social")); yield from $this->yieldParentBlock("meta_social", $context, $blocks); yield from $this->load("/vitrine/components/socialmedia.html.twig", 71)->unwrap()->yield(CoreExtension::merge($context, ["page" => (isset($context["page"]) || array_key_exists("page", $context) ? $context["page"] : (function () { throw new RuntimeError('Variable "page" does not exist.', 71, $this->source); })()), "social_type" => "website"])); $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 72 /** * @return iterable<null|scalar|\Stringable> */ public function block_canonical(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "canonical")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "canonical")); yield from $this->load("/vitrine/lexend/components/pages/canonical.html.twig", 72)->unwrap()->yield(CoreExtension::merge($context, ["page" => (isset($context["page"]) || array_key_exists("page", $context) ? $context["page"] : (function () { throw new RuntimeError('Variable "page" does not exist.', 72, $this->source); })())])); $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 74 /** * @return iterable<null|scalar|\Stringable> */ public function block_css(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "css")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "css")); // line 75 yield " "; yield from $this->yieldParentBlock("css", $context, $blocks); yield " <style> /* ─── Page liste articles (mêmes patterns que /jobs) ─── */ .articles-dash{max-width:880px;margin:0 auto} .articles-dash-header{margin-bottom:18px} .articles-dash-title{font-size:24px;font-weight:800;color:#1E1B2E;line-height:1.2;letter-spacing:-0.02em;margin:0 0 6px} @media(min-width:768px){.articles-dash-title{font-size:28px}} /* Liste cards (style identique aux jobs-card) */ .articles-list{display:flex;flex-direction:column;gap:10px} .articles-card{background:#fff;border-radius:14px;padding:14px;box-shadow:0 0 16px 0 rgba(0,0,0,0.04);display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .2s} .articles-card:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(108,58,237,.1);color:inherit} .articles-card-logo{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,#EDE9FE,#DDD6FE);display:flex;align-items:center;justify-content:center;color:var(--theme-color,#6C3AED);flex-shrink:0;overflow:hidden} .articles-card-logo svg{width:24px;height:24px;opacity:.9} .articles-card-info{flex:1;min-width:0} .articles-card-title{font-size:14px;font-weight:700;color:#1E1B2E;line-height:1.3;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .articles-card-meta{font-size:12px;color:#6B7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px} .articles-card-meta-sep{display:inline-block;width:3px;height:3px;border-radius:50%;background:#D1D5DB;flex-shrink:0} .articles-card-badge{font-size:11px;font-weight:600;color:var(--theme-color,#6C3AED);background:#F5F3FF;padding:3px 9px;border-radius:100px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em} .articles-card-arrow{flex-shrink:0;color:#9CA3AF;transition:color .15s,transform .15s} .articles-card:hover .articles-card-arrow{color:var(--theme-color,#6C3AED);transform:translateX(2px)} .articles-card-arrow svg{width:18px;height:18px} /* État vide */ .articles-empty{text-align:center;padding:40px 20px;background:#fff;border-radius:14px;box-shadow:0 0 16px 0 rgba(0,0,0,0.04)} .articles-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:#F5F3FF;color:var(--theme-color,#6C3AED);margin-bottom:14px} .articles-empty-icon svg{width:24px;height:24px} .articles-empty-title{font-size:16px;font-weight:700;color:#1E1B2E;margin:0 0 6px} .articles-empty-text{font-size:13px;color:#6B7280;margin:0} /* Pagination */ .articles-pagination{margin-top:18px} /* ═══ CTA inline (entre articles) ═══ */ .articles-cta-inline{ position:relative; border-radius:18px; padding:24px; margin:6px 0; background:linear-gradient(135deg,#6C3AED 0%,#8B5CF6 50%,#A78BFA 100%); overflow:hidden; box-shadow:0 10px 30px -8px rgba(108,58,237,.35); } .articles-cta-inline::before{ content:\"\"; position:absolute; top:-40px;right:-40px; width:180px;height:180px; background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%); pointer-events:none; } .articles-cta-inline::after{ content:\"\"; position:absolute; bottom:-60px;left:-60px; width:200px;height:200px; background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%); pointer-events:none; } .articles-cta-eyebrow{ display:inline-flex;align-items:center;gap:6px; font-size:11px;font-weight:700; color:#fff; text-transform:uppercase;letter-spacing:.1em; background:rgba(255,255,255,.18); padding:5px 12px;border-radius:100px; margin-bottom:12px; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); position:relative;z-index:2; } .articles-cta-eyebrow svg{width:12px;height:12px} .articles-cta-title{ font-size:20px;font-weight:800; color:#fff; line-height:1.25;letter-spacing:-0.01em; margin:0 0 18px; position:relative;z-index:2; } @media(min-width:768px){.articles-cta-title{font-size:24px}} .articles-cta-grid{ display:grid; grid-template-columns:1fr; gap:12px; position:relative;z-index:2; } @media(min-width:640px){.articles-cta-grid{grid-template-columns:1fr 1fr;gap:14px}} .articles-cta-side{ background:rgba(255,255,255,.97); border-radius:14px; padding:18px; display:flex;flex-direction:column; transition:transform .2s,box-shadow .2s; } .articles-cta-side:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(0,0,0,.18)} .articles-cta-side-head{ display:flex;align-items:center;gap:10px; margin-bottom:10px; } .articles-cta-side-icon{ width:38px;height:38px;border-radius:10px; display:inline-flex;align-items:center;justify-content:center; background:linear-gradient(135deg,#EDE9FE,#DDD6FE); color:var(--theme-color,#6C3AED); flex-shrink:0; } .articles-cta-side-icon svg{width:18px;height:18px} .articles-cta-side-label{ font-size:11px;font-weight:700; color:var(--theme-color,#6C3AED); text-transform:uppercase;letter-spacing:.08em; margin:0; } .articles-cta-side-heading{ font-size:15px;font-weight:700; color:#1E1B2E; line-height:1.3; margin:0 0 8px; } .articles-cta-side-text{ font-size:13px;color:#6B7280; line-height:1.5; margin:0 0 14px; flex:1; } .articles-cta-side-btn{ display:inline-flex;align-items:center;justify-content:center;gap:6px; background:var(--theme-color,#6C3AED); color:#fff;text-decoration:none; padding:11px 16px; border-radius:10px; font-size:13px;font-weight:700; letter-spacing:.01em; transition:background .15s,transform .15s; } .articles-cta-side-btn:hover{ background:#5B21B6;color:#fff; transform:translateX(2px); } .articles-cta-side-btn svg{width:14px;height:14px;transition:transform .15s} .articles-cta-side-btn:hover svg{transform:translateX(2px)} </style>"; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 222 /** * @return iterable<null|scalar|\Stringable> */ public function block_body(array $context, array $blocks = []): iterable { $macros = $this->macros; $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "body")); // line 223 yield " <div class=\"articles-dash\"> "; // line 226 yield " <div class=\"articles-dash-header\"> <h1 class=\"articles-dash-title\">"; // line 227 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["page"]) || array_key_exists("page", $context) ? $context["page"] : (function () { throw new RuntimeError('Variable "page" does not exist.', 227, $this->source); })()), "title", [], "any", false, false, false, 227), "html", null, true); yield "</h1> </div> "; // line 231 yield " "; if ((Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 231, $this->source); })())) > 0)) { // line 232 yield " <div class=\"articles-list\"> "; // line 233 $context['_parent'] = $context; $context['_seq'] = CoreExtension::ensureTraversable((isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 233, $this->source); })())); $context['loop'] = [ 'parent' => $context['_parent'], 'index0' => 0, 'index' => 1, 'first' => true, ]; if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) { $length = count($context['_seq']); $context['loop']['revindex0'] = $length - 1; $context['loop']['revindex'] = $length; $context['loop']['length'] = $length; $context['loop']['last'] = 1 === $length; } foreach ($context['_seq'] as $context["_key"] => $context["article"]) { // line 234 yield " "; // line 236 yield " "; $context["prefix"] = ""; // line 237 yield " "; $context["urlArticle"] = $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("blog_article", ["slug" => CoreExtension::getAttribute($this->env, $this->source, $context["article"], "slug", [], "any", false, false, false, 237)]); // line 238 yield " "; if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 238, $this->source); })()), "request", [], "any", false, false, false, 238), "locale", [], "any", false, false, false, 238) != (isset($context["default_locale"]) || array_key_exists("default_locale", $context) ? $context["default_locale"] : (function () { throw new RuntimeError('Variable "default_locale" does not exist.', 238, $this->source); })()))) { // line 239 yield " "; $context["urlArticle"] = $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_blog_article", ["_locale" => CoreExtension::getAttribute($this->env, $this->source, 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.', 239, $this->source); })()), "request", [], "any", false, false, false, 239), "locale", [], "any", false, false, false, 239), "slug" => CoreExtension::getAttribute($this->env, $this->source, $context["article"], "slug", [], "any", false, false, false, 239)]); // line 240 yield " "; $context["prefix"] = ("/" . CoreExtension::getAttribute($this->env, $this->source, 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.', 240, $this->source); })()), "request", [], "any", false, false, false, 240), "locale", [], "any", false, false, false, 240)); // line 241 yield " "; } // line 242 yield " "; if ((($tmp = !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug3", [], "any", false, false, false, 242))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) { // line 243 yield " "; $context["urlArticle"] = (((((((isset($context["prefix"]) || array_key_exists("prefix", $context) ? $context["prefix"] : (function () { throw new RuntimeError('Variable "prefix" does not exist.', 243, $this->source); })()) . "/") . CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug", [], "any", false, false, false, 243)) . "/") . CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug2", [], "any", false, false, false, 243)) . "/") . CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug3", [], "any", false, false, false, 243)); // line 244 yield " "; } elseif ((($tmp = !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug2", [], "any", false, false, false, 244))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) { // line 245 yield " "; $context["urlArticle"] = (((((isset($context["prefix"]) || array_key_exists("prefix", $context) ? $context["prefix"] : (function () { throw new RuntimeError('Variable "prefix" does not exist.', 245, $this->source); })()) . "/") . CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug", [], "any", false, false, false, 245)) . "/") . CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug2", [], "any", false, false, false, 245)); // line 246 yield " "; } elseif ((($tmp = !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug", [], "any", false, false, false, 246))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) { // line 247 yield " "; $context["urlArticle"] = (((isset($context["prefix"]) || array_key_exists("prefix", $context) ? $context["prefix"] : (function () { throw new RuntimeError('Variable "prefix" does not exist.', 247, $this->source); })()) . "/") . CoreExtension::getAttribute($this->env, $this->source, $context["article"], "pageslug", [], "any", false, false, false, 247)); // line 248 yield " "; } // line 249 yield " <a href=\""; // line 250 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((isset($context["urlArticle"]) || array_key_exists("urlArticle", $context) ? $context["urlArticle"] : (function () { throw new RuntimeError('Variable "urlArticle" does not exist.', 250, $this->source); })()), "html", null, true); yield "\" class=\"articles-card\"> <div class=\"articles-card-logo\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"/> <path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"/> </svg> </div> <div class=\"articles-card-info\"> <h2 class=\"articles-card-title\">"; // line 259 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["article"], "title", [], "any", false, false, false, 259), "html", null, true); yield "</h2> <div class=\"articles-card-meta\"> "; // line 262 yield " "; if ((($tmp = !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, $context["article"], "subtitle", [], "any", false, false, false, 262))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) { // line 263 yield " <span>"; yield (((Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, $context["article"], "subtitle", [], "any", false, false, false, 263)) > 60)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape((Twig\Extension\CoreExtension::slice($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, $context["article"], "subtitle", [], "any", false, false, false, 263), 0, 60) . "…"), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["article"], "subtitle", [], "any", false, false, false, 263), "html", null, true))); yield "</span> "; } // line 265 yield " </div> </div> <span class=\"articles-card-badge\">"; // line 268 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\TranslationsExtension']->translateLocale("Je lis l'article", (isset($context["arrayTranslate"]) || array_key_exists("arrayTranslate", $context) ? $context["arrayTranslate"] : (function () { throw new RuntimeError('Variable "arrayTranslate" does not exist.', 268, $this->source); })())), "html", null, true); yield "</span> <span class=\"articles-card-arrow\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <polyline points=\"9 18 15 12 9 6\"/> </svg> </span> </a> "; // line 278 yield " "; if ((((CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "index", [], "any", false, false, false, 278) == 3) && ($this->extensions['App\Twig\CoreExtension']->getEnv("KERNEL_APPLICATION") == "whileresume")) && CoreExtension::inFilter(CoreExtension::getAttribute($this->env, $this->source, 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.', 278, $this->source); })()), "request", [], "any", false, false, false, 278), "locale", [], "any", false, false, false, 278), ["fr", "en"]))) { // line 279 yield " "; 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.', 279, $this->source); })()), "user", [], "any", false, false, false, 279))) { // line 280 yield " "; yield $macros["ctaMacro"]->getTemplateForMacro("macro_cta_recruiter_candidate", $context, 280, $this->getSourceContext())->macro_cta_recruiter_candidate(...[CoreExtension::getAttribute($this->env, $this->source, 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.', 280, $this->source); })()), "request", [], "any", false, false, false, 280), "locale", [], "any", false, false, false, 280)]); yield " "; } // line 282 yield " "; } // line 283 yield " "; ++$context['loop']['index0']; ++$context['loop']['index']; $context['loop']['first'] = false; if (isset($context['loop']['revindex0'], $context['loop']['revindex'])) { --$context['loop']['revindex0']; --$context['loop']['revindex']; $context['loop']['last'] = 0 === $context['loop']['revindex0']; } } $_parent = $context['_parent']; unset($context['_seq'], $context['_key'], $context['article'], $context['_parent'], $context['loop']); $context = array_intersect_key($context, $_parent) + $_parent; // line 284 yield " </div> "; // line 287 yield " <div class=\"articles-pagination\"> "; // line 288 yield $this->extensions['Knp\Bundle\PaginatorBundle\Twig\Extension\PaginationExtension']->render($this->env, (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 288, $this->source); })()), "application/whileresume/website/pagination/pagination.html.twig"); yield " </div> "; } else { // line 291 yield " <div class=\"articles-empty\"> <div class=\"articles-empty-icon\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"/> <path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"/> </svg> </div> <p class=\"articles-empty-title\">"; // line 298 yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['App\Twig\TranslationsExtension']->translateLocale("Aucun article", (isset($context["arrayTranslate"]) || array_key_exists("arrayTranslate", $context) ? $context["arrayTranslate"] : (function () { throw new RuntimeError('Variable "arrayTranslate" does not exist.', 298, $this->source); })())), "html", null, true); yield "</p> </div> "; } // line 301 yield " "; // line 303 yield " "; if (((((Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 303, $this->source); })())) > 0) && (Twig\Extension\CoreExtension::length($this->env->getCharset(), (isset($context["pagination"]) || array_key_exists("pagination", $context) ? $context["pagination"] : (function () { throw new RuntimeError('Variable "pagination" does not exist.', 303, $this->source); })())) < 3)) && ($this->extensions['App\Twig\CoreExtension']->getEnv("KERNEL_APPLICATION") == "whileresume")) && CoreExtension::inFilter(CoreExtension::getAttribute($this->env, $this->source, 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.', 303, $this->source); })()), "request", [], "any", false, false, false, 303), "locale", [], "any", false, false, false, 303), ["fr", "en"]))) { // line 304 yield " "; 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.', 304, $this->source); })()), "user", [], "any", false, false, false, 304))) { // line 305 yield " <div class=\"mt-3\"> "; // line 306 yield $macros["ctaMacro"]->getTemplateForMacro("macro_cta_recruiter_candidate", $context, 306, $this->getSourceContext())->macro_cta_recruiter_candidate(...[CoreExtension::getAttribute($this->env, $this->source, 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.', 306, $this->source); })()), "request", [], "any", false, false, false, 306), "locale", [], "any", false, false, false, 306)]); yield " </div> "; } // line 309 yield " "; } // line 310 yield " </div>"; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; } // line 3 public function macro_cta_recruiter_candidate($locale = null, ...$varargs): string|Markup { $macros = $this->macros; $context = [ "locale" => $locale, "varargs" => $varargs, ] + $this->env->getGlobals(); $blocks = []; return ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) { $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"]; $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "cta_recruiter_candidate")); $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"]; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "cta_recruiter_candidate")); // line 4 yield " <div class=\"articles-cta-inline\"> <h2 class=\"articles-cta-title\"> "; // line 6 if (((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 6, $this->source); })()) == "fr")) { yield "Talents et entreprises se rencontrent ici. "; } else { // line 7 yield "Where talent meets fast-growing companies."; } // line 8 yield " </h2> <div class=\"articles-cta-grid\"> "; // line 12 yield " <div class=\"articles-cta-side\"> <div class=\"articles-cta-side-head\"> <span class=\"articles-cta-side-icon\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"/> <path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"/> </svg> </span> <span class=\"articles-cta-side-label\">"; // line 20 yield ((((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 20, $this->source); })()) == "fr")) ? ("Recruteur") : ("Recruiter")); yield "</span> </div> <h3 class=\"articles-cta-side-heading\"> "; // line 23 if (((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 23, $this->source); })()) == "fr")) { yield "Recrutez des profils d'exception, plus vite."; } else { yield "Hire exceptional talent, faster."; } // line 24 yield " </h3> <p class=\"articles-cta-side-text\"> "; // line 26 if (((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 26, $this->source); })()) == "fr")) { yield "Accédez aux meilleurs talents du marché et connectez-vous directement à des candidats qualifiés en quête de leur prochain défi."; } else { yield "Get access to top market talent and connect directly with qualified candidates ready for their next challenge."; } // line 27 yield " </p> <a href=\""; // line 28 yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(("whileresume_business_" . (isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 28, $this->source); })()))); yield "\" class=\"articles-cta-side-btn\"> "; // line 29 yield ((((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 29, $this->source); })()) == "fr")) ? ("Je recrute") : ("I'm recruiting")); yield " <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/> <polyline points=\"12 5 19 12 12 19\"/> </svg> </a> </div> "; // line 38 yield " <div class=\"articles-cta-side\"> <div class=\"articles-cta-side-head\"> <span class=\"articles-cta-side-icon\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"/> <circle cx=\"12\" cy=\"7\" r=\"4\"/> </svg> </span> <span class=\"articles-cta-side-label\">"; // line 46 yield ((((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 46, $this->source); })()) == "fr")) ? ("Candidat") : ("Candidate")); yield "</span> </div> <h3 class=\"articles-cta-side-heading\"> "; // line 49 if (((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 49, $this->source); })()) == "fr")) { yield "Trouvez le job qui vous ressemble."; } else { yield "Find the job that fits you."; } // line 50 yield " </h3> <p class=\"articles-cta-side-text\"> "; // line 52 if (((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 52, $this->source); })()) == "fr")) { yield "On vous accompagne dans la recherche de votre poste idéal au sein des entreprises les plus prometteuses du marché."; } else { yield "We support you in finding your ideal position within the most promising companies on the market."; } // line 53 yield " </p> <a href=\""; // line 54 if ((CoreExtension::getAttribute($this->env, $this->source, 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.', 54, $this->source); })()), "request", [], "any", false, false, false, 54), "locale", [], "any", false, false, false, 54) == "en")) { yield $this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("whileresume_homepage"); } else { yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath("locale_whileresume_homepage", ["_locale" => CoreExtension::getAttribute($this->env, $this->source, 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.', 54, $this->source); })()), "request", [], "any", false, false, false, 54), "locale", [], "any", false, false, false, 54)]), "html", null, true); } yield "#register\" class=\"articles-cta-side-btn\"> "; // line 55 yield ((((isset($context["locale"]) || array_key_exists("locale", $context) ? $context["locale"] : (function () { throw new RuntimeError('Variable "locale" does not exist.', 55, $this->source); })()) == "fr")) ? ("Je cherche un job") : ("I'm looking for a job")); yield " <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/> <polyline points=\"12 5 19 12 12 19\"/> </svg> </a> </div> </div> </div>"; $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof); $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof); yield from []; })())) ? '' : new Markup($tmp, $this->env->getCharset()); } /** * @codeCoverageIgnore */ public function getTemplateName(): string { return "application/whileresume/website/articles/list.html.twig"; } /** * @codeCoverageIgnore */ public function isTraitable(): bool { return false; } /** * @codeCoverageIgnore */ public function getDebugInfo(): array { return array ( 715 => 55, 707 => 54, 704 => 53, 698 => 52, 694 => 50, 688 => 49, 682 => 46, 672 => 38, 661 => 29, 657 => 28, 654 => 27, 648 => 26, 644 => 24, 638 => 23, 632 => 20, 622 => 12, 617 => 8, 614 => 7, 609 => 6, 605 => 4, 587 => 3, 574 => 310, 571 => 309, 565 => 306, 562 => 305, 559 => 304, 556 => 303, 553 => 301, 547 => 298, 538 => 291, 532 => 288, 529 => 287, 525 => 284, 511 => 283, 508 => 282, 502 => 280, 499 => 279, 496 => 278, 484 => 268, 479 => 265, 473 => 263, 470 => 262, 465 => 259, 453 => 250, 450 => 249, 447 => 248, 444 => 247, 441 => 246, 438 => 245, 435 => 244, 432 => 243, 429 => 242, 426 => 241, 423 => 240, 420 => 239, 417 => 238, 414 => 237, 411 => 236, 408 => 234, 391 => 233, 388 => 232, 385 => 231, 379 => 227, 376 => 226, 372 => 223, 359 => 222, 201 => 75, 188 => 74, 165 => 72, 141 => 71, 118 => 70, 95 => 69, 72 => 68, 61 => 1, 59 => 66, 46 => 1,); } public function getSourceContext(): Source { return new Source("{% extends 'application/whileresume/website/layout-social.html.twig' %}{% macro cta_recruiter_candidate(locale) %} <div class=\"articles-cta-inline\"> <h2 class=\"articles-cta-title\"> {% if locale == 'fr' %}Talents et entreprises se rencontrent ici. {% else %}Where talent meets fast-growing companies.{% endif %} </h2> <div class=\"articles-cta-grid\"> {# ── Recruteur ── #} <div class=\"articles-cta-side\"> <div class=\"articles-cta-side-head\"> <span class=\"articles-cta-side-icon\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"/> <path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"/> </svg> </span> <span class=\"articles-cta-side-label\">{{ locale == 'fr' ? 'Recruteur' : 'Recruiter' }}</span> </div> <h3 class=\"articles-cta-side-heading\"> {% if locale == 'fr' %}Recrutez des profils d'exception, plus vite.{% else %}Hire exceptional talent, faster.{% endif %} </h3> <p class=\"articles-cta-side-text\"> {% if locale == 'fr' %}Accédez aux meilleurs talents du marché et connectez-vous directement à des candidats qualifiés en quête de leur prochain défi.{% else %}Get access to top market talent and connect directly with qualified candidates ready for their next challenge.{% endif %} </p> <a href=\"{{ path('whileresume_business_' ~ locale) }}\" class=\"articles-cta-side-btn\"> {{ locale == 'fr' ? 'Je recrute' : \"I'm recruiting\" }} <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/> <polyline points=\"12 5 19 12 12 19\"/> </svg> </a> </div> {# ── Candidat ── #} <div class=\"articles-cta-side\"> <div class=\"articles-cta-side-head\"> <span class=\"articles-cta-side-icon\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"/> <circle cx=\"12\" cy=\"7\" r=\"4\"/> </svg> </span> <span class=\"articles-cta-side-label\">{{ locale == 'fr' ? 'Candidat' : 'Candidate' }}</span> </div> <h3 class=\"articles-cta-side-heading\"> {% if locale == 'fr' %}Trouvez le job qui vous ressemble.{% else %}Find the job that fits you.{% endif %} </h3> <p class=\"articles-cta-side-text\"> {% if locale == 'fr' %}On vous accompagne dans la recherche de votre poste idéal au sein des entreprises les plus prometteuses du marché.{% else %}We support you in finding your ideal position within the most promising companies on the market.{% endif %} </p> <a href=\"{% if app.request.locale == \"en\" %}{{ path('whileresume_homepage') }}{% else %}{{ path('locale_whileresume_homepage',{'_locale':app.request.locale}) }}{% endif %}#register\" class=\"articles-cta-side-btn\"> {{ locale == 'fr' ? 'Je cherche un job' : \"I'm looking for a job\" }} <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/> <polyline points=\"12 5 19 12 12 19\"/> </svg> </a> </div> </div> </div>{% endmacro %}{% import _self as ctaMacro %}{% block title %}{{ page.shortTitle }}{% endblock title %}{% block description %}{{ page.shortDescription }}{% endblock description %}{% block robots %}{{ page.robots }}{% endblock robots %}{% block meta_social %}{{ parent() }}{% include \"/vitrine/components/socialmedia.html.twig\" with { 'page':page,'social_type':'website' } %}{% endblock meta_social %}{% block canonical %}{% include \"/vitrine/lexend/components/pages/canonical.html.twig\" with {'page':page} %}{% endblock canonical %}{% block css %} {{ parent() }} <style> /* ─── Page liste articles (mêmes patterns que /jobs) ─── */ .articles-dash{max-width:880px;margin:0 auto} .articles-dash-header{margin-bottom:18px} .articles-dash-title{font-size:24px;font-weight:800;color:#1E1B2E;line-height:1.2;letter-spacing:-0.02em;margin:0 0 6px} @media(min-width:768px){.articles-dash-title{font-size:28px}} /* Liste cards (style identique aux jobs-card) */ .articles-list{display:flex;flex-direction:column;gap:10px} .articles-card{background:#fff;border-radius:14px;padding:14px;box-shadow:0 0 16px 0 rgba(0,0,0,0.04);display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .2s} .articles-card:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(108,58,237,.1);color:inherit} .articles-card-logo{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,#EDE9FE,#DDD6FE);display:flex;align-items:center;justify-content:center;color:var(--theme-color,#6C3AED);flex-shrink:0;overflow:hidden} .articles-card-logo svg{width:24px;height:24px;opacity:.9} .articles-card-info{flex:1;min-width:0} .articles-card-title{font-size:14px;font-weight:700;color:#1E1B2E;line-height:1.3;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .articles-card-meta{font-size:12px;color:#6B7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px} .articles-card-meta-sep{display:inline-block;width:3px;height:3px;border-radius:50%;background:#D1D5DB;flex-shrink:0} .articles-card-badge{font-size:11px;font-weight:600;color:var(--theme-color,#6C3AED);background:#F5F3FF;padding:3px 9px;border-radius:100px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em} .articles-card-arrow{flex-shrink:0;color:#9CA3AF;transition:color .15s,transform .15s} .articles-card:hover .articles-card-arrow{color:var(--theme-color,#6C3AED);transform:translateX(2px)} .articles-card-arrow svg{width:18px;height:18px} /* État vide */ .articles-empty{text-align:center;padding:40px 20px;background:#fff;border-radius:14px;box-shadow:0 0 16px 0 rgba(0,0,0,0.04)} .articles-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:#F5F3FF;color:var(--theme-color,#6C3AED);margin-bottom:14px} .articles-empty-icon svg{width:24px;height:24px} .articles-empty-title{font-size:16px;font-weight:700;color:#1E1B2E;margin:0 0 6px} .articles-empty-text{font-size:13px;color:#6B7280;margin:0} /* Pagination */ .articles-pagination{margin-top:18px} /* ═══ CTA inline (entre articles) ═══ */ .articles-cta-inline{ position:relative; border-radius:18px; padding:24px; margin:6px 0; background:linear-gradient(135deg,#6C3AED 0%,#8B5CF6 50%,#A78BFA 100%); overflow:hidden; box-shadow:0 10px 30px -8px rgba(108,58,237,.35); } .articles-cta-inline::before{ content:\"\"; position:absolute; top:-40px;right:-40px; width:180px;height:180px; background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%); pointer-events:none; } .articles-cta-inline::after{ content:\"\"; position:absolute; bottom:-60px;left:-60px; width:200px;height:200px; background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%); pointer-events:none; } .articles-cta-eyebrow{ display:inline-flex;align-items:center;gap:6px; font-size:11px;font-weight:700; color:#fff; text-transform:uppercase;letter-spacing:.1em; background:rgba(255,255,255,.18); padding:5px 12px;border-radius:100px; margin-bottom:12px; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); position:relative;z-index:2; } .articles-cta-eyebrow svg{width:12px;height:12px} .articles-cta-title{ font-size:20px;font-weight:800; color:#fff; line-height:1.25;letter-spacing:-0.01em; margin:0 0 18px; position:relative;z-index:2; } @media(min-width:768px){.articles-cta-title{font-size:24px}} .articles-cta-grid{ display:grid; grid-template-columns:1fr; gap:12px; position:relative;z-index:2; } @media(min-width:640px){.articles-cta-grid{grid-template-columns:1fr 1fr;gap:14px}} .articles-cta-side{ background:rgba(255,255,255,.97); border-radius:14px; padding:18px; display:flex;flex-direction:column; transition:transform .2s,box-shadow .2s; } .articles-cta-side:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(0,0,0,.18)} .articles-cta-side-head{ display:flex;align-items:center;gap:10px; margin-bottom:10px; } .articles-cta-side-icon{ width:38px;height:38px;border-radius:10px; display:inline-flex;align-items:center;justify-content:center; background:linear-gradient(135deg,#EDE9FE,#DDD6FE); color:var(--theme-color,#6C3AED); flex-shrink:0; } .articles-cta-side-icon svg{width:18px;height:18px} .articles-cta-side-label{ font-size:11px;font-weight:700; color:var(--theme-color,#6C3AED); text-transform:uppercase;letter-spacing:.08em; margin:0; } .articles-cta-side-heading{ font-size:15px;font-weight:700; color:#1E1B2E; line-height:1.3; margin:0 0 8px; } .articles-cta-side-text{ font-size:13px;color:#6B7280; line-height:1.5; margin:0 0 14px; flex:1; } .articles-cta-side-btn{ display:inline-flex;align-items:center;justify-content:center;gap:6px; background:var(--theme-color,#6C3AED); color:#fff;text-decoration:none; padding:11px 16px; border-radius:10px; font-size:13px;font-weight:700; letter-spacing:.01em; transition:background .15s,transform .15s; } .articles-cta-side-btn:hover{ background:#5B21B6;color:#fff; transform:translateX(2px); } .articles-cta-side-btn svg{width:14px;height:14px;transition:transform .15s} .articles-cta-side-btn:hover svg{transform:translateX(2px)} </style>{% endblock css %}{% block body %} <div class=\"articles-dash\"> {# ═══ Header ═══ #} <div class=\"articles-dash-header\"> <h1 class=\"articles-dash-title\">{{ page.title }}</h1> </div> {# ═══ Liste articles ═══ #} {% if pagination|length > 0 %} <div class=\"articles-list\"> {% for article in pagination %} {# ── URL article ── #} {% set prefix = \"\" %} {% set urlArticle = path('blog_article',{'slug': article.slug}) %} {% if app.request.locale != default_locale %} {% set urlArticle = path('locale_blog_article',{'_locale':app.request.locale,'slug': article.slug}) %} {% set prefix = \"/\" ~ app.request.locale %} {% endif %} {% if article.pageslug3 is not empty %} {% set urlArticle = prefix ~ '/' ~ article.pageslug ~ '/' ~ article.pageslug2 ~ '/' ~ article.pageslug3 %} {% elseif article.pageslug2 is not empty %} {% set urlArticle = prefix ~ '/' ~ article.pageslug ~ '/' ~ article.pageslug2 %} {% elseif article.pageslug is not empty %} {% set urlArticle = prefix ~ '/' ~ article.pageslug %} {% endif %} <a href=\"{{ urlArticle }}\" class=\"articles-card\"> <div class=\"articles-card-logo\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"/> <path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"/> </svg> </div> <div class=\"articles-card-info\"> <h2 class=\"articles-card-title\">{{ article.title }}</h2> <div class=\"articles-card-meta\"> {#<span>{{ article.publishedAt|date(\"d M Y\") }}</span> <span class=\"articles-card-meta-sep\"></span>#} {% if article.subtitle is not empty %} <span>{{ article.subtitle|length > 60 ? article.subtitle|slice(0,60) ~ '…' : article.subtitle }}</span> {% endif %} </div> </div> <span class=\"articles-card-badge\">{{ \"Je lis l'article\"|translateLocale(arrayTranslate) }}</span> <span class=\"articles-card-arrow\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <polyline points=\"9 18 15 12 9 6\"/> </svg> </span> </a> {# ═══ CTA inline après le 3e article ═══ #} {% if loop.index == 3 and getEnv(\"KERNEL_APPLICATION\") == \"whileresume\" and app.request.locale in ['fr','en'] %} {% if app.user is null %} {{ ctaMacro.cta_recruiter_candidate(app.request.locale) }} {% endif %} {% endif %} {% endfor %} </div> {# Pagination #} <div class=\"articles-pagination\"> {{ knp_pagination_render(pagination,'application/whileresume/website/pagination/pagination.html.twig') }} </div> {% else %} <div class=\"articles-empty\"> <div class=\"articles-empty-icon\"> <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"> <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"/> <path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"/> </svg> </div> <p class=\"articles-empty-title\">{{ \"Aucun article\"|translateLocale(arrayTranslate) }}</p> </div> {% endif %} {# ═══ CTA Recruteur / Candidat (en bas, si moins de 3 articles → fallback) ═══ #} {% if pagination|length > 0 and pagination|length < 3 and getEnv(\"KERNEL_APPLICATION\") == \"whileresume\" and app.request.locale in ['fr','en'] %} {% if app.user is null %} <div class=\"mt-3\"> {{ ctaMacro.cta_recruiter_candidate(app.request.locale) }} </div> {% endif %} {% endif %} </div>{% endblock body %}", "application/whileresume/website/articles/list.html.twig", "/var/www/vhosts/mirtillostudio.fr/b1.mirtillostudio.fr/version-1/templates/application/whileresume/website/articles/list.html.twig"); }}