templates/page/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}bambboo - Connexion{% endblock %}
  3. {% block body %}
  4.     {{ encore_entry_link_tags('home') }}
  5.     {% set show_account_missing_client = (login_error_type|default(null) == 'account_missing_client') %}
  6.     {% if is_mobile|default(false) %}
  7.         <div class="container-fluid h-100 bg-register vh-100 d-flex flex-column position-relative" style="background: linear-gradient(to right, #004d40, #00251a);">
  8.             <div class="row flex-grow-1 d-flex align-items-center justify-content-center px-3 py-5">
  9.                 <div class="col-12 col-sm-10 col-md-8 col-lg-6 position-relative">
  10.                     <img src="/img/logo-bambboo-white.svg" class="logo-bambboo-mobile d-block mx-auto" style="width: 140px;height: auto;margin-bottom: 60px !important;">
  11.                     <div class="bg-white rounded-4 shadow-lg p-4 pt-3 position-relative d-flex flex-column">
  12.                         {% if show_request_access_form|default(false) %}
  13.                         <div class="mb-4">
  14.                             <a href="{{ path('home') }}" class="text-decoration-none text-dark">
  15.                                 ← Retour à la connexion
  16.                             </a>
  17.                         </div>
  18.                         {% set show_request_eligible = (request_access_eligible|default(null) == '1' and request_access_signin_url|default(null) is not null) %}
  19.                         {% if show_request_eligible %}
  20.                             <h1 class="fs-4 ubuntu-medium mb-2">Accès autorisé</h1>
  21.                             <div class="text-center py-4">
  22.                                 <div class="spinner-border text-success" role="status" aria-hidden="true"></div>
  23.                                 <p class="mt-3 mb-0 text-muted">Redirection…</p>
  24.                             </div>
  25.                             <script>
  26.                                 (function() {
  27.                                     var target = {{ request_access_signin_url|json_encode|raw }};
  28.                                     if (target) {
  29.                                         setTimeout(function() { window.location.href = target; }, 600);
  30.                                     }
  31.                                 })();
  32.                             </script>
  33.                         {% elseif request_access_eligible|default(null) == '0' %}
  34.                             <h1 class="fs-4 ubuntu-medium mb-2 border-bottom border-success border-2 pb-2" style="border-width: 2px !important;">Rejoindre Bambboo</h1>
  35.                             <div class="alert alert-warning border-0 border-start border-5 border-warning mb-3 py-3">
  36.                                 <div class="d-flex align-items-start">
  37.                                     <span class="rounded bg-primary text-white d-inline-flex align-items-center justify-content-center me-2 flex-shrink-0" style="width: 1.5rem; height: 1.5rem; font-size: 0.85rem; font-weight: bold;">i</span>
  38.                                     <div>
  39.                                         <p class="fw-bold mb-1 text-dark">Aucun compte n'existe avec cette adresse email.</p>
  40.                                         <p class="mb-0 text-dark">Rapprochez-vous de votre responsable RH pour obtenir votre lien d'inscription.</p>
  41.                                     </div>
  42.                                 </div>
  43.                             </div>
  44.                         {% else %}
  45.                             <h1 class="fs-4 ubuntu-medium mb-2 border-bottom border-success border-2 pb-2" style="border-width: 2px !important;">Rejoindre Bambboo</h1>
  46.                             <p class="text-dark mb-3">Entrez votre email professionnel pour recevoir votre lien d'inscription.</p>
  47.                             {% for message in app.flashes('error') %}
  48.                                 <div class="alert alert-danger">{{ message }}</div>
  49.                             {% endfor %}
  50.                             {{ form_start(request_access_form, { action: path('app_request_access') }) }}
  51.                                 <div class="mb-3">
  52.                                     {{ form_label(request_access_form.email) }}
  53.                                     {{ form_widget(request_access_form.email) }}
  54.                                     {{ form_errors(request_access_form.email) }}
  55.                                 </div>
  56.                                 <button type="submit" class="btn btn-success bg-clover w-100 py-2 ubuntu-medium">
  57.                                     Recevoir mon lien d'inscription
  58.                                     <i class="fa-solid fa-arrow-right ms-2"></i>
  59.                                 </button>
  60.                             {{ form_end(request_access_form) }}
  61.                             <div class="text-center mt-4">
  62.                                 <p class="text-muted small mb-1">Votre entreprise n'est pas encore sur Bambboo ?</p>
  63.                                 <a href="{{ path('contact') }}" class="text-clover text-decoration-underline ubuntu-medium">Contactez-nous</a>
  64.                             </div>
  65.                         {% endif %}
  66.                         {% else %}
  67.                         <h1 class="fs-1 ubuntu-medium text-dark mb-4 mt-1 text-center">Connectez-vous à votre espace bambboo</h1>
  68.                         {% if show_magic_link_confirmation|default(false) %}
  69.                         <div class="text-center">
  70.                             <div class="d-inline-flex align-items-center justify-content-center rounded-circle mb-3" style="width: 64px; height: 64px; background-color: #E6FBF2;">
  71.                                 <i class="fa-solid fa-envelope fa-lg" style="color: #197E69;"></i>
  72.                             </div>
  73.                             <h2 class="fs-4 fw-bold text-dark mb-4">Consultez votre boite mail</h2>
  74.                             <div class="rounded-3 py-3 px-3 mb-3 text-center" style="background-color: #F8F9FA;">
  75.                                 <span class="text-dark">{{ magic_link_email|default('') }}</span>
  76.                             </div>
  77.                             <p class="text-dark mb-4">{% if magic_link_type|default('connexion') == 'inscription' %}Si votre entreprise utilise Bambboo, vous allez recevoir un email avec votre lien d'inscription dans quelques instants.{% else %}Si cette adresse correspond à un compte Bambboo, vous recevrez un lien de connexion.{% endif %} Pensez à vérifier vos spams.</p>
  78.                             <div class="d-grid gap-2 mb-3">
  79.                                 <a href="{{ path('home') }}" class="text-decoration-none text-dark">Retour</a>
  80.                             </div>
  81.                             <form method="post" action="{{ path('app_request_magic_link') }}" class="d-inline d-block mb-3">
  82.                                 <input type="hidden" name="email" value="{{ magic_link_email|e('html_attr') }}">
  83.                                 <input type="hidden" name="_csrf_token" value="{{ csrf_token('request_magic_link') }}">
  84.                                 <button type="submit" class="btn btn-success w-100 py-2 ubuntu-medium" style="background-color: #197E69;">Renvoyer le lien</button>
  85.                             </form>
  86.                         </div>
  87.                         {% else %}
  88.                         {% if login_error_type|default(null) == 'account_missing_no_client' %}
  89.                             <div class="alert alert-danger">
  90.                                 <p class="mb-0"><strong>Aucun compte n'existe avec cette adresse email.</strong></p>
  91.                                 <p class="mb-0">Rapprochez-vous de votre responsable RH pour obtenir votre lien d'inscription.</p>
  92.                             </div>
  93.                         {% elseif login_error_type|default(null) == 'wrong_password' %}
  94.                             <div class="alert alert-danger">
  95.                                 <p class="mb-0">Identifiants incorrects</p>
  96.                             </div>
  97.                         {% elseif error %}
  98.                             <div class="alert alert-danger">
  99.                                 {% if error.messageKey == 'Invalid credentials.' or error.messageKey == 'Bad credentials.' or 'credentials' in error.messageKey|lower %}
  100.                                     Identifiants incorrects
  101.                                 {% else %}
  102.                                     {{ error.messageKey|trans(error.messageData, 'security') }}
  103.                                 {% endif %}
  104.                             </div>
  105.                         {% endif %}
  106.                         {% if show_create_account_info|default(false) %}
  107.                             <div class="alert alert-info">
  108.                                 Pour créer un compte, vous devez disposer d'un lien d'invitation (envoyé par votre recruteur ou votre entreprise).
  109.                             </div>
  110.                         {% endif %}
  111.                         {% for message in app.flashes('success') %}
  112.                             <div class="alert alert-success">
  113.                                 {{ message }}
  114.                                 <a href="{{ path('app_login') }}" class="btn btn-sm btn-outline-success ms-2">OK</a>
  115.                             </div>
  116.                         {% endfor %}
  117.                         {% if isInactive %}
  118.                             <div class="alert alert-danger">Votre compte est inactif.</div>
  119.                         {% endif %}
  120.                         {% if isRedirected %}
  121.                             <div class="alert alert-info" id="redirect-message">
  122.                                 <i class="fas fa-info-circle me-2"></i>
  123.                                 Votre session a expiré. Veuillez vous reconnecter pour continuer.
  124.                             </div>
  125.                         {% endif %}
  126.                         <form method="post" action="{{ path('app_request_magic_link') }}" class="text-start">
  127.                             <div class="mb-3">
  128.                                 <label for="email" class="form-label fs-14 ubuntu-medium">Adresse email</label>
  129.                                 <input type="email" class="form-control {{ login_error_type|default(null) == 'domain_not_partner' ? 'is-invalid' : '' }}" name="email" id="email" placeholder="votre@email.com" value="{{ prefilledEmail|default('') }}" required autofocus>
  130.                             </div>
  131.                             {% if login_error_type|default(null) == 'domain_not_partner' %}
  132.                             <div class="alert alert-warning d-flex align-items-start mb-3" role="alert">
  133.                                 <i class="fa-solid fa-circle-info me-2 mt-1" style="font-size: 1.1rem;"></i>
  134.                                 <div>
  135.                                     <p class="fw-bold mb-1">Impossible de vous connecter</p>
  136.                                     <p class="mb-0">Si vous pensez que votre entreprise utilise Bambboo, rapprochez-vous de votre <strong>responsable RH</strong> pour obtenir votre lien d'inscription.</p>
  137.                                 </div>
  138.                             </div>
  139.                             <div class="mb-3">
  140.                                 <p class="fw-bold mb-2 small">Quelques vérifications :</p>
  141.                                 <ul class="mb-0 ps-3 small text-dark">
  142.                                     <li>Avez-vous bien utilisé votre email professionnel ?</li>
  143.                                     <li>Votre entreprise est-elle partenaire Bambboo ?</li>
  144.                                     <li>Contactez <a href="mailto:support@bambboo.com" class="text-success text-decoration-none">support@bambboo.com</a> en cas de doute.</li>
  145.                                 </ul>
  146.                             </div>
  147.                             <div class="d-grid gap-2 mb-3">
  148.                                 <a href="{{ path('home') }}" class="btn btn-success py-2 ubuntu-medium" style="background-color: #197E69;">
  149.                                     <i class="fa-solid fa-arrow-left me-2"></i>Réessayer avec un autre email
  150.                                 </a>
  151.                             </div>
  152.                             {% else %}
  153.                             {% if show_account_missing_client %}
  154.                                 <div class="border border-secondary rounded-3 bg-light p-3 mb-3">
  155.                                     <p class="mb-2"><strong>Compte inexistant</strong></p>
  156.                                     {% if client_create_account_url|default(null) %}
  157.                                         <a href="{{ client_create_account_url }}" class="btn btn-success bg-clover px-4 py-2">Créer mon compte</a>
  158.                                     {% endif %}
  159.                                 </div>
  160.                             {% endif %}
  161.                             <input type="hidden" name="_csrf_token" value="{{ csrf_token('request_magic_link') }}">
  162.                             {% if not hide_login_actions|default(false) %}
  163.                                 <div class="d-grid gap-2 mt-4">
  164.                                     <button type="submit" class="btn btn-success bg-clover w-100 py-2 ubuntu-medium">
  165.                                         Recevoir mon lien de connexion
  166.                                         <i class="fa-solid fa-arrow-right ms-2"></i>
  167.                                     </button>
  168.                                 </div>
  169.                             {% endif %}
  170.                             {% endif %}
  171.                         </form>
  172.                         {% if not show_account_missing_client %}
  173.                             <div class="text-center mt-3">
  174.                                 <span class="fs-14 text-dark">Vous n'avez pas encore de compte ?</span>
  175.                                 <a href="{{ path('home', { show: 'demander-mon-acces' }) }}" class="text-clover text-decoration-underline ubuntu-medium ms-1">Demander mon accès</a>
  176.                             </div>
  177.                         {% endif %}
  178.                         {% endif %}
  179.                         {% endif %}
  180.                     </div>
  181.                 </div>
  182.             </div>
  183.             <div class="position-absolute bottom-0 start-0 end-0 d-flex justify-content-end align-items-center px-4 py-3">
  184.                 <a href="{{ path('contact') }}" class="text-white text-decoration-none d-flex align-items-center fs-16">
  185.                     <i class="fa-regular fa-circle-question me-2"></i>
  186.                     <span>Nous contacter</span>
  187.                 </a>
  188.             </div>
  189.         </div>
  190.     {% else %}
  191.         <div class="container-fluid h-100">
  192.             <div class="row full-height">
  193.                 <div class="col-12 col-md-4 bg-white d-flex flex-column align-items-center position-relative min-vh-100 pt-5 pb-2">
  194.                     <img src="/img/logo-bambboo.png" class="position-absolute top-0 start-0 mt-4 logo-bambboo-desktop" style="width: 150px; height: auto; z-index: 10; margin-left: 4rem;">
  195.                     <div class="col-md-10 text-start d-flex flex-column flex-grow-1" style="min-height: 0;">
  196.                         <div class="d-flex flex-column justify-content-center flex-grow-1" style="min-height: 0;">
  197.                             {% if show_request_access_form|default(false) %}
  198.                             <div class="mb-4">
  199.                                 <a href="{{ path('home') }}" class="text-decoration-none text-dark">
  200.                                     ← Retour à la connexion
  201.                                 </a>
  202.                             </div>
  203.                             {% set show_request_eligible_desktop = (request_access_eligible|default(null) == '1' and request_access_signin_url|default(null) is not null) %}
  204.                             {% if show_request_eligible_desktop %}
  205.                                 <h1 class="fs-4 ubuntu-medium mb-2">Accès autorisé</h1>
  206.                                 <div class="text-center py-4">
  207.                                     <div class="spinner-border text-success" role="status" aria-hidden="true"></div>
  208.                                     <p class="mt-3 mb-0 text-muted">Redirection…</p>
  209.                                 </div>
  210.                                 <script>
  211.                                     (function() {
  212.                                         var target = {{ request_access_signin_url|json_encode|raw }};
  213.                                         if (target) {
  214.                                             setTimeout(function() { window.location.href = target; }, 600);
  215.                                         }
  216.                                     })();
  217.                                 </script>
  218.                             {% elseif request_access_eligible|default(null) == '0' %}
  219.                                 <h1 class="fs-4 ubuntu-medium mb-2 border-bottom border-success border-2 pb-2" style="border-width: 2px !important;">Rejoindre Bambboo</h1>
  220.                                 <div class="alert alert-warning border-0 border-start border-5 border-warning mb-4 py-3">
  221.                                     <div class="d-flex align-items-start">
  222.                                         <span class="rounded bg-primary text-white d-inline-flex align-items-center justify-content-center me-2 flex-shrink-0" style="width: 1.5rem; height: 1.5rem; font-size: 0.85rem; font-weight: bold;">i</span>
  223.                                         <div>
  224.                                             <p class="fw-bold mb-1 text-dark">Aucun compte n'existe avec cette adresse email.</p>
  225.                                             <p class="mb-0 text-dark">Rapprochez-vous de votre responsable RH pour obtenir votre lien d'inscription.</p>
  226.                                         </div>
  227.                                     </div>
  228.                                 </div>
  229.                             {% else %}
  230.                                 <h1 class="fs-4 ubuntu-medium mb-2 border-bottom border-success border-2 pb-2" style="border-width: 2px !important;">Rejoindre Bambboo</h1>
  231.                                 <p class="text-dark mb-4">Entrez votre email professionnel pour recevoir votre lien d'inscription.</p>
  232.                                 {% for message in app.flashes('error') %}
  233.                                     <div class="alert alert-danger mb-4">{{ message }}</div>
  234.                                 {% endfor %}
  235.                                 {{ form_start(request_access_form, { action: path('app_request_access') }) }}
  236.                                     <div class="mb-4">
  237.                                         {{ form_label(request_access_form.email) }}
  238.                                         {{ form_widget(request_access_form.email) }}
  239.                                         {{ form_errors(request_access_form.email) }}
  240.                                     </div>
  241.                                     <button type="submit" class="btn btn-success bg-clover w-100 py-2 ubuntu-medium">
  242.                                         Recevoir mon lien d'inscription
  243.                                         <i class="fa-solid fa-arrow-right ms-2"></i>
  244.                                     </button>
  245.                                 {{ form_end(request_access_form) }}
  246.                                 <div class="text-center mt-4">
  247.                                     <p class="text-muted small mb-1">Votre entreprise n'est pas encore sur Bambboo ?</p>
  248.                                     <a href="{{ path('contact') }}" class="text-clover text-decoration-underline ubuntu-medium">Contactez-nous</a>
  249.                                 </div>
  250.                             {% endif %}
  251.                             {% else %}
  252.                             <div class="mb-5">
  253.                                 <div class="d-flex align-items-center">
  254.                                     <div class="flex-grow-1 fs-50 lh-65 ubuntu-light">Connectez-vous à votre espace bambboo</div>
  255.                                 </div>
  256.                             </div>
  257.                             {% if show_magic_link_confirmation|default(false) %}
  258.                             <div class="text-center">
  259.                                 <div class="d-inline-flex align-items-center justify-content-center rounded-circle mb-3" style="width: 64px; height: 64px; background-color: #E6FBF2;">
  260.                                     <i class="fa-solid fa-envelope fa-lg" style="color: #197E69;"></i>
  261.                                 </div>
  262.                                 <h2 class="fs-4 fw-bold text-dark mb-4">Consultez votre boite mail</h2>
  263.                                 <div class="rounded-3 py-3 px-3 mb-3 text-center" style="background-color: #F8F9FA;">
  264.                                     <span class="text-dark">{{ magic_link_email|default('') }}</span>
  265.                                 </div>
  266.                                 <p class="text-dark mb-4">{% if magic_link_type|default('connexion') == 'inscription' %}Si votre entreprise utilise Bambboo, vous allez recevoir un email avec votre lien d'inscription dans quelques instants.{% else %}Si cette adresse correspond à un compte Bambboo, vous recevrez un lien de connexion.{% endif %} Pensez à vérifier vos spams.</p>
  267.                                 <div class="d-grid gap-2 mb-3">
  268.                                     <a href="{{ path('home') }}" class="text-decoration-none text-dark">Retour</a>
  269.                                 </div>
  270.                                 <form method="post" action="{{ path('app_request_magic_link') }}" class="d-inline d-block mb-3">
  271.                                     <input type="hidden" name="email" value="{{ magic_link_email|e('html_attr') }}">
  272.                                     <input type="hidden" name="_csrf_token" value="{{ csrf_token('request_magic_link') }}">
  273.                                     <button type="submit" class="btn btn-success w-100 py-2 ubuntu-medium" style="background-color: #197E69;">Renvoyer le lien</button>
  274.                                 </form>
  275.                             </div>
  276.                             {% else %}
  277.                             {% if login_error_type|default(null) == 'account_missing_no_client' %}
  278.                                 <div class="alert alert-danger mb-4">
  279.                                     <p class="mb-0"><strong>Aucun compte n'existe avec cette adresse email.</strong></p>
  280.                                     <p class="mb-0">Rapprochez-vous de votre responsable RH pour obtenir votre lien d'inscription.</p>
  281.                                 </div>
  282.                             {% elseif login_error_type|default(null) == 'wrong_password' %}
  283.                                 <div class="alert alert-danger mb-4">
  284.                                     <p class="mb-0">Identifiants incorrects</p>
  285.                                 </div>
  286.                             {% elseif error %}
  287.                                 <div class="alert alert-danger mb-4">
  288.                                     {% if error.messageKey == 'Invalid credentials.' or error.messageKey == 'Bad credentials.' or 'credentials' in error.messageKey|lower %}
  289.                                         Identifiants incorrects
  290.                                     {% else %}
  291.                                         {{ error.messageKey|trans(error.messageData, 'security') }}
  292.                                     {% endif %}
  293.                                 </div>
  294.                             {% endif %}
  295.                             {% if show_create_account_info|default(false) %}
  296.                                 <div class="alert alert-info mb-4">
  297.                                     Pour créer un compte, vous devez disposer d'un lien d'invitation (envoyé par votre recruteur ou votre entreprise).
  298.                                 </div>
  299.                             {% endif %}
  300.                             {% for message in app.flashes('success') %}
  301.                                 <div class="alert alert-success mb-4">
  302.                                     {{ message }}
  303.                                     <a href="{{ path('app_login') }}" class="btn btn-sm btn-outline-success ms-2">OK</a>
  304.                                 </div>
  305.                             {% endfor %}
  306.                             {% if isInactive %}
  307.                                 <div class="alert alert-danger mb-4">Votre compte est inactif.</div>
  308.                             {% endif %}
  309.                             {% if isRedirected %}
  310.                                 <div class="alert alert-info mb-4" id="redirect-message">
  311.                                     <i class="fas fa-info-circle me-2"></i>
  312.                                     Votre session a expiré. Veuillez vous reconnecter pour continuer.
  313.                                 </div>
  314.                             {% endif %}
  315.                             <form method="post" action="{{ path('app_request_magic_link') }}" class="text-start">
  316.                                 <div class="mb-4">
  317.                                     <label for="email-desktop" class="form-label">Adresse email</label>
  318.                                     <input type="email" class="form-control {{ login_error_type|default(null) == 'domain_not_partner' ? 'is-invalid' : '' }}" name="email" id="email-desktop" placeholder="votre@email.com" value="{{ prefilledEmail|default('') }}" required autofocus>
  319.                                 </div>
  320.                                 {% if login_error_type|default(null) == 'domain_not_partner' %}
  321.                                 <div class="alert alert-warning d-flex align-items-start mb-4" role="alert">
  322.                                     <i class="fa-solid fa-circle-info me-2 mt-1" style="font-size: 1.1rem;"></i>
  323.                                     <div>
  324.                                         <p class="fw-bold mb-1">Impossible de vous connecter</p>
  325.                                         <p class="mb-0">Si vous pensez que votre entreprise utilise Bambboo, rapprochez-vous de votre <strong>responsable RH</strong> pour obtenir votre lien d'inscription.</p>
  326.                                     </div>
  327.                                 </div>
  328.                                 <div class="mb-4">
  329.                                     <p class="fw-bold mb-2 small">Quelques vérifications :</p>
  330.                                     <ul class="mb-0 ps-3 small text-dark">
  331.                                         <li>Avez-vous bien utilisé votre email professionnel ?</li>
  332.                                         <li>Votre entreprise est-elle partenaire Bambboo ?</li>
  333.                                         <li>Contactez <a href="mailto:support@bambboo.com" class="text-success text-decoration-none">support@bambboo.com</a> en cas de doute.</li>
  334.                                     </ul>
  335.                                 </div>
  336.                                 <div class="d-grid gap-2 mb-4">
  337.                                     <a href="{{ path('home') }}" class="btn btn-success py-2 ubuntu-medium" style="background-color: #197E69;">
  338.                                         <i class="fa-solid fa-arrow-left me-2"></i>Réessayer avec un autre email
  339.                                     </a>
  340.                                 </div>
  341.                                 {% else %}
  342.                                 {% if show_account_missing_client %}
  343.                                     <div class="border border-secondary rounded-3 bg-light p-3 mb-4">
  344.                                         <p class="mb-2"><strong>Compte inexistant</strong></p>
  345.                                         {% if client_create_account_url|default(null) %}
  346.                                             <a href="{{ client_create_account_url }}" class="btn btn-success bg-clover px-4 py-2">Créer mon compte</a>
  347.                                         {% endif %}
  348.                                     </div>
  349.                                 {% endif %}
  350.                                 <input type="hidden" name="_csrf_token" value="{{ csrf_token('request_magic_link') }}">
  351.                                 {% if not hide_login_actions|default(false) %}
  352.                                     <div class="d-grid gap-2 mt-4">
  353.                                         <button type="submit" class="btn btn-success bg-clover w-100 py-2 ubuntu-medium">
  354.                                             Recevoir mon lien de connexion
  355.                                             <i class="fa-solid fa-arrow-right ms-2"></i>
  356.                                         </button>
  357.                                     </div>
  358.                                 {% endif %}
  359.                                 {% endif %}
  360.                             </form>
  361.                             {% if not show_account_missing_client %}
  362.                                 <div class="text-center mt-3">
  363.                                     <span class="fs-14 text-dark">Vous n'avez pas encore de compte ?</span>
  364.                                     <a href="{{ path('home', { show: 'demander-mon-acces' }) }}" class="text-clover text-decoration-underline ubuntu-medium ms-1">Demander mon accès</a>
  365.                                 </div>
  366.                             {% endif %}
  367.                             {% endif %}
  368.                             {% endif %}
  369.                         </div>
  370.                     </div>
  371.                 </div>
  372.                 <div class="col-12 col-md-8 text-white d-flex align-items-center justify-content-center bg-register position-relative">
  373.                     <style>
  374.                         .testimony-card {
  375.                             background-color: rgba(255, 255, 255, 0.2);
  376.                             border-radius: 12px;
  377.                             padding: 16px;
  378.                             transition: all 0.3s ease;
  379.                             color: #ffffff;
  380.                             height: 100%;
  381.                             display: flex;
  382.                             flex-direction: column;
  383.                             position: relative;
  384.                             overflow: hidden;
  385.                             font-family: 'Ubuntu', sans-serif;
  386.                         }
  387.                         .testimony-card .quote-icon {
  388.                             position: absolute;
  389.                             bottom: 10px;
  390.                             right: 15px;
  391.                             font-size: 48px;
  392.                             opacity: 0.2;
  393.                             pointer-events: none;
  394.                         }
  395.                         .testimony-card:hover {
  396.                             background-color: rgba(255, 255, 255, 1);
  397.                             box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  398.                             transform: translateY(-2px);
  399.                             color: #004d40;
  400.                         }
  401.                         .testimony-header {
  402.                             display: flex;
  403.                             align-items: center;
  404.                             justify-content: flex-start;
  405.                             margin: 0;
  406.                             padding: 0;
  407.                             opacity: 1 !important;
  408.                             position: relative;
  409.                             z-index: 1;
  410.                             isolation: isolate;
  411.                         }
  412.                         .testimony-name { font-size: 1.1rem; font-weight: 500; margin-bottom: 2px; }
  413.                         .testimony-title { font-size: 0.8rem; opacity: 0.75; margin-bottom: 0; }
  414.                         .testimony-content { flex-grow: 1; padding-bottom: 16px; }
  415.                         .testimony-card-right .testimony-content { padding-bottom: 5px; }
  416.                         .person-info { display: flex; justify-content: flex-end; align-items: center; }
  417.                         .company-logo {
  418.                             width: 90px; height: 90px; object-fit: contain; max-width: 100%;
  419.                             margin: 0; padding: 0; display: block;
  420.                             opacity: 1 !important; position: relative; z-index: 2; will-change: opacity;
  421.                         }
  422.                         .company-logo-white-bg {
  423.                             mix-blend-mode: multiply;
  424.                             filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
  425.                             opacity: 1 !important;
  426.                         }
  427.                         .testimony-card:hover .company-logo-white-bg {
  428.                             mix-blend-mode: normal;
  429.                             filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
  430.                             opacity: 1 !important;
  431.                         }
  432.                         .testimony-text { font-size: 0.95rem; line-height: 1.6; }
  433.                         .person-photo { width: 50px; height: 50px; object-fit: cover; }
  434.                         .person-name { font-size: 0.9rem; }
  435.                         @media (max-width: 1400px) {
  436.                             .company-logo { width: 75px; height: 75px; }
  437.                             .company-logo[style*="height: 60px"] { height: 50px !important; }
  438.                             .company-logo[style*="height: 70px"] { height: 60px !important; }
  439.                             .logo-bambboo-desktop { width: 130px !important; }
  440.                             .testimony-text { font-size: 0.85rem; }
  441.                             .testimony-name { font-size: 1rem; }
  442.                             .testimony-title { font-size: 0.75rem; }
  443.                             .person-name { font-size: 0.85rem; }
  444.                         }
  445.                     </style>
  446.                     <div class="container-fluid py-5 px-3">
  447.                         <div class="row g-5" style="display: flex;">
  448.                             <div class="col-12 col-lg-6 mb-0" style="display: flex; order: 2; padding-right: 4rem !important;">
  449.                                 <div class="testimony-card" style="width: 100%; display: flex; flex-direction: column;">
  450.                                     <div class="testimony-header">
  451.                                         <img src="https://app.bambboo.com/img/clients/13/68d3edcab816e144331922.png" alt="Logo Orial" class="company-logo">
  452.                                     </div>
  453.                                     <div class="testimony-content">
  454.                                         <div class="mb-2 pb-1">
  455.                                             <p class="testimony-text mb-4">"bambboo a généré un recrutement dès les 15 premiers jours. <strong>L'outil est top</strong>, et l'accompagnement des équipes bambboo est parfait !"</p>
  456.                                             <div class="person-info">
  457.                                                 <div class="text-end me-3">
  458.                                                     <p class="mb-0 ubuntu-medium person-name">Inès Gadouri</p>
  459.                                                     <p class="testimony-title">Directrice des Ressources Humaines</p>
  460.                                                 </div>
  461.                                                 <img src="/img/testimonies/ines-gadouri.jpg" class="rounded-circle person-photo" alt="Inès Gadouri">
  462.                                             </div>
  463.                                         </div>
  464.                                         <div class="mb-2 pb-1" style="margin-top: 2.5rem !important;">
  465.                                             <p class="testimony-text mb-4">"L'utilisation est <strong>hyper simple</strong>."</p>
  466.                                             <div class="person-info">
  467.                                                 <div class="text-end me-3">
  468.                                                     <p class="mb-0 ubuntu-medium person-name">Virginie Cichy</p>
  469.                                                     <p class="testimony-title">Assistante de Direction</p>
  470.                                                 </div>
  471.                                                 <img src="/img/testimonies/virginie-cichy.jpg" class="rounded-circle person-photo" alt="Virginie Cichy">
  472.                                             </div>
  473.                                         </div>
  474.                                         <div style="margin-top: 2.5rem !important;">
  475.                                             <p class="testimony-text mb-4">"J'ai été <strong>recrutée</strong> <strong>grâce à bambboo</strong>. L'expérience candidat est unique et vraiment réussie."</p>
  476.                                             <div class="person-info">
  477.                                                 <div class="text-end me-3">
  478.                                                     <p class="mb-0 ubuntu-medium person-name">Finardie ZABENGONO</p>
  479.                                                     <p class="testimony-title">Financial Accounting Analyst</p>
  480.                                                 </div>
  481.                                                 <img src="/img/testimonies/finardie-zabengono.jpg" class="rounded-circle person-photo" alt="Finardie ZABENGONO">
  482.                                             </div>
  483.                                         </div>
  484.                                         <div style="margin-top: 2.5rem !important;">
  485.                                             <p class="testimony-text mb-4">"<strong>Le matching est très efficace</strong> : bambboo déniche des profils vraiment pertinents."</p>
  486.                                             <div class="person-info">
  487.                                                 <div class="text-end me-3">
  488.                                                     <p class="mb-0 ubuntu-medium person-name">Pierre ALVIACH</p>
  489.                                                     <p class="testimony-title">Expert-comptable</p>
  490.                                                 </div>
  491.                                                 <img src="https://media.licdn.com/dms/image/v2/C5603AQE1bAG-TLW51A/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1584528267524?e=2147483647&v=beta&t=RBwTaKsIKq5MDy2QcRVV3xaxln-7UiKHdIIK_6n2wKg" class="rounded-circle person-photo" alt="Pierre ALVIACH">
  492.                                             </div>
  493.                                         </div>
  494.                                     </div>
  495.                                     <i class="fa-solid fa-quote-right quote-icon"></i>
  496.                                 </div>
  497.                             </div>
  498.                             <div class="col-12 col-lg-6" style="display: flex; flex-direction: column; order: 1; padding-left: 4rem !important;">
  499.                                 <div style="display: flex; flex-direction: column;">
  500.                                     <div class="mb-5">
  501.                                         <div class="testimony-card testimony-card-right" style="display: flex; flex-direction: column;">
  502.                                             <div class="testimony-header">
  503.                                                 <img src="https://app.bambboo.com/img/clients/2/69413bf072237450803776.svg" alt="Logo JobinLive" class="company-logo company-logo-white-bg" style="height: 60px; width: auto; margin-bottom: 0.5rem;">
  504.                                             </div>
  505.                                             <div class="testimony-content">
  506.                                                 <p class="testimony-text mb-3">"L'inscription se fait <strong>en moins d'une minute</strong>, et le reste de l'application est vraiment simple et facile à prendre en main."</p>
  507.                                                 <div class="person-info">
  508.                                                     <div class="text-end me-3">
  509.                                                         <p class="mb-0 ubuntu-medium person-name">Jim Evrard</p>
  510.                                                         <p class="testimony-title">Responsable Recrutement</p>
  511.                                                     </div>
  512.                                                     <img src="/img/testimonies/jim-evrard.jpg" class="rounded-circle person-photo" alt="Jim Evrard">
  513.                                                 </div>
  514.                                             </div>
  515.                                         </div>
  516.                                     </div>
  517.                                     <div class="mb-5">
  518.                                         <div class="testimony-card testimony-card-right" style="display: flex; flex-direction: column;">
  519.                                             <div class="testimony-header">
  520.                                                 <img src="https://app.bambboo.com/img/clients/6/6940355add6d4447963444.png" alt="Logo AssoConnect" class="company-logo company-logo-white-bg">
  521.                                             </div>
  522.                                             <div class="testimony-content">
  523.                                                 <p class="testimony-text mb-3">"<strong>Efficacité prouvée</strong> : bambboo a trouvé notre Product Designer Senior dans mon réseau en quelques semaines."</p>
  524.                                                 <div class="person-info">
  525.                                                     <div class="text-end me-3">
  526.                                                         <p class="mb-0 ubuntu-medium person-name">David Huin</p>
  527.                                                         <p class="testimony-title">Directeur Marketing</p>
  528.                                                     </div>
  529.                                                     <img src="/img/testimonies/david-huin.jpg" class="rounded-circle person-photo" alt="David Huin">
  530.                                                 </div>
  531.                                             </div>
  532.                                         </div>
  533.                                     </div>
  534.                                     <div>
  535.                                         <div class="testimony-card testimony-card-right" style="display: flex; flex-direction: column;">
  536.                                             <div class="testimony-header">
  537.                                                 <img src="https://app.bambboo.com/img/clients/3/69401b953e58b888653989.svg" alt="Logo HumainEA" class="company-logo" style="height: 70px; width: auto;">
  538.                                             </div>
  539.                                             <div class="testimony-content">
  540.                                                 <p class="testimony-text mb-3">"Lorsque je leur partage des offres d'emploi, tous mes contacts me répondent la même chose : <strong>Merci d'avoir pensé à moi !</strong>"</p>
  541.                                                 <div class="person-info">
  542.                                                     <div class="text-end me-3">
  543.                                                         <p class="mb-0 ubuntu-medium person-name">Natacha Cappelier</p>
  544.                                                         <p class="testimony-title">Directrice Générale adjointe</p>
  545.                                                     </div>
  546.                                                     <img src="/img/testimonies/natacha-cappelier.jpg" class="rounded-circle person-photo" alt="Natacha Cappelier">
  547.                                                 </div>
  548.                                             </div>
  549.                                         </div>
  550.                                     </div>
  551.                                 </div>
  552.                             </div>
  553.                         </div>
  554.                     </div>
  555.                 </div>
  556.             </div>
  557.         </div>
  558.     {% endif %}
  559.     <script>
  560.         (function() {
  561.             window.addEventListener('pageshow', function(event) {
  562.                 if (event.persisted) {
  563.                     location.reload();
  564.                 }
  565.             });
  566.         })();
  567.         document.addEventListener('DOMContentLoaded', function() {
  568.             document.querySelectorAll('form').forEach(function(form) {
  569.                 form.addEventListener('submit', function(e) {
  570.                     var btn = e.submitter || form.querySelector('button[type="submit"]');
  571.                     if (btn && !btn.disabled) {
  572.                         btn.disabled = true;
  573.                         btn.setAttribute('data-bb-original-html', btn.innerHTML);
  574.                         btn.innerHTML = '<span class="spinner-border spinner-border-sm me-2" role="status" aria-hidden="true"></span>Chargement...';
  575.                     }
  576.                 });
  577.             });
  578.         });
  579.     </script>
  580. {% endblock %}