templates/forgot_password/request.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block stylesheets %}
  3.     {{ parent() }}
  4.     <link href="{{ asset('css/utilities.css') }}?v={{ random() }}" rel="stylesheet">
  5.     <link href="{{ asset('css/auth-shared.css') }}?v={{ random() }}" rel="stylesheet">
  6. {% endblock %}
  7. {% block body %}
  8. <div class="auth-container">
  9.     <div class="login-card">
  10.         <div class="login-form-section">
  11.             <div class="login-header">
  12.                 <img src="{{ asset('uploads/img/media/logo-naturamedicatrix-pro-v2.png') }}" alt="NaturaMedicatrix" class="login-brand">
  13.                 <h2 class="login-title">Mot de passe oublié</h2>
  14.                 <p class="login-description">Saisissez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe.</p>
  15.                 <hr class="login-divider">
  16.             </div>
  17.             {% if sent %}
  18.                 <div class="success-message" style="background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;padding:16px 20px;color:#2e7d32;display:flex;align-items:center;gap:10px;margin-bottom:20px;">
  19.                     <i class="fas fa-check-circle" style="font-size:1.2rem;"></i>
  20.                     <span>Si cette adresse e-mail est associée à un compte, vous recevrez un lien de réinitialisation dans quelques instants. Pensez à vérifier vos spams.</span>
  21.                 </div>
  22.                 <div class="login-footer" style="text-align:center;margin-top:16px;">
  23.                     <a href="{{ path('app_login') }}" class="register-link">
  24.                         <i class="fas fa-arrow-left" style="margin-right:6px;"></i>Retour à la connexion
  25.                     </a>
  26.                 </div>
  27.             {% else %}
  28.                 <form action="{{ path('app_forgot_password') }}" method="post" class="login-form" id="forgotForm">
  29.                     <div class="input-group">
  30.                         <div class="input-wrapper">
  31.                             <input
  32.                                 type="email"
  33.                                 id="email"
  34.                                 name="email"
  35.                                 required
  36.                                 autocomplete="email"
  37.                                 class="form-input"
  38.                             >
  39.                             <label for="email" class="form-label">Adresse e-mail</label>
  40.                             <div class="input-border"></div>
  41.                         </div>
  42.                     </div>
  43.                     <button type="submit" class="login-btn">
  44.                         <span class="btn-content">
  45.                             <i class="fas fa-paper-plane btn-icon"></i>
  46.                             <span class="btn-text">Envoyer le lien</span>
  47.                         </span>
  48.                         <div class="btn-loading">
  49.                             <div class="spinner"></div>
  50.                         </div>
  51.                     </button>
  52.                     <div class="login-footer">
  53.                         <p><a href="{{ path('app_login') }}" class="register-link">
  54.                             <i class="fas fa-arrow-left" style="margin-right:6px;"></i>Retour à la connexion
  55.                         </a></p>
  56.                     </div>
  57.                 </form>
  58.             {% endif %}
  59.         </div>
  60.         <div class="login-contact-section">
  61.             <h3 class="contact-title">Nous contacter</h3>
  62.             <div class="contact-country">
  63.                 <h3 class="country-title">France</h3>
  64.                 <div class="contact-info">
  65.                     <i class="fas fa-phone"></i>
  66.                     <span class="contact-info-label">Tél</span>
  67.                     <span class="contact-info-value">+33 9 77 42 37 05</span>
  68.                 </div>
  69.                 <div class="contact-info">
  70.                     <i class="fas fa-envelope"></i>
  71.                     <span class="contact-info-label">Email</span>
  72.                     <span class="contact-info-value">commande@naturamedicatrix.fr</span>
  73.                 </div>
  74.             </div>
  75.             <div class="contact-country">
  76.                 <h3 class="country-title">Luxembourg</h3>
  77.                 <div class="contact-info">
  78.                     <i class="fas fa-phone"></i>
  79.                     <span class="contact-info-label">Tél</span>
  80.                     <span class="contact-info-value">+352 20 88 11 95</span>
  81.                 </div>
  82.                 <div class="contact-info">
  83.                     <i class="fas fa-envelope"></i>
  84.                     <span class="contact-info-label">Email</span>
  85.                     <span class="contact-info-value">commande@naturamedicatrix.lu</span>
  86.                 </div>
  87.             </div>
  88.             <div class="contact-country">
  89.                 <h3 class="country-title">Belgique</h3>
  90.                 <div class="contact-info">
  91.                     <i class="fas fa-phone"></i>
  92.                     <span class="contact-info-label">Tél</span>
  93.                     <span class="contact-info-value">+32 4 268 18 41 / +32 4 349 03 03</span>
  94.                 </div>
  95.                 <div class="contact-info">
  96.                     <i class="fas fa-envelope"></i>
  97.                     <span class="contact-info-label">Email</span>
  98.                     <span class="contact-info-value">commande@naturamedicatrix.be</span>
  99.                 </div>
  100.             </div>
  101.         </div>
  102.     </div>
  103.     <div class="login-bg">
  104.         <div class="bg-pattern"></div>
  105.         <div class="floating-elements">
  106.             <div class="floating-circle circle-1"></div>
  107.             <div class="floating-circle circle-2"></div>
  108.             <div class="floating-circle circle-3"></div>
  109.             <div class="floating-circle circle-4"></div>
  110.             <div class="floating-circle circle-5"></div>
  111.             <div class="floating-circle circle-6"></div>
  112.         </div>
  113.     </div>
  114. </div>
  115. {% endblock %}
  116. {% block javascripts %}
  117. <script>
  118.     $(document).ready(function() {
  119.         $('.form-input').on('focus', function() {
  120.             $(this).closest('.input-wrapper').addClass('focused');
  121.         }).on('blur', function() {
  122.             if (!$(this).val()) {
  123.                 $(this).closest('.input-wrapper').removeClass('focused');
  124.             }
  125.         }).on('input', function() {
  126.             if ($(this).val()) {
  127.                 $(this).closest('.input-wrapper').addClass('has-value');
  128.             } else {
  129.                 $(this).closest('.input-wrapper').removeClass('has-value');
  130.             }
  131.         });
  132.         $('#forgotForm').on('submit', function() {
  133.             const submitBtn = $('.login-btn');
  134.             submitBtn.addClass('loading');
  135.             submitBtn.prop('disabled', true);
  136.         });
  137.     });
  138. </script>
  139. {% endblock %}