templates/front/pages/authentication/visitor_registration_page.html.twig line 1

Open in your IDE?
  1. {% extends 'front/layouts/authentication_layout.html.twig' %}
  2. {% block title %}Cofina Academy | Visiteur{% endblock %}
  3. {% block stylesheets %}
  4.     {{ parent() }}
  5.     <style>
  6.         .btn-sign-in{
  7.             padding-top: 10px;
  8.             padding-bottom: 10px;
  9.         }
  10.     </style>
  11. {% endblock %}
  12. {% block body %}
  13.     <main>
  14.         <section class="container-fluid overflow-hidden" style="padding:0">
  15.             <div class="row justify-content-around align-items-center vh-100">
  16.                 <div class="col-lg-6 scroll-this">
  17.                     <div class="d-flex justify-content-center my-2">
  18.                         <form class="con_form my-2" id="loginForm">
  19.                             <div class="d-flex">
  20.                                 <img src="{{ asset('assets/front/img/LOGO COFINA ACADEMY 1.png') }}" class="img-fluid con-logo" alt="Logo Cofina Academy">
  21.                             </div>
  22.                             <div class="d-block mt-5 mb-4">
  23.                                 <p style="font-size: 1.1rem">Merci d'entrer votre adresse email avant de continuer</p>
  24.                             </div>
  25.                             <div class="form-group">
  26.                                 <label for="inputEmail" class="h5 fw-bold opificio mb-2">Email</label>
  27.                                 <div class="position-relative">
  28.                                     <input type="email" placeholder="Entrez votre adresse email" class="form-control con_input height-50 mt-1 mb-2" name="email" id="inputEmail" autocomplete="email" required autofocus>
  29.                                     <i class="bi bi-envelope position-absolute con-form-icon"></i>
  30.                                 </div>
  31.                             </div>
  32.                             <div class="d-flex justify-content-center mb-3 mt-3 mt-md-4">
  33.                                 <button type="submit" class="btn btn-danger con_btn con-btn-size-1 btn-sign-in" id="visitorSubmitEmail">
  34.                                     valider
  35.                                 </button>
  36.                             </div>
  37.                             <div class="d-flex justify-content-center">
  38.                                 <a href="{{ path('app_login') }}" type="submit" class="btn btn-outline-danger con_btn con-btn-size-1 py-2" id="authSubmit">
  39.                                     Retour
  40.                                 </a>
  41.                             </div>
  42.                         </form>
  43.                     </div>
  44.                 </div>
  45.                 <div class="d-none col-lg-6 d-lg-block con-bg align-items-center align-content-center border-5 m-0 p-0 h-100">
  46.                     <div class="d-flex justify-content-center">
  47.                         <img src="{{ asset('assets/front/img/connexion/girl_connexion.png') }}" class="con-girl" alt="Girl Cofina Academy" />
  48.                     </div>
  49.                 </div>
  50.             </div>
  51.         </section>
  52.         <div class="modal fade" id="exampleModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  53.             <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-lg">
  54.                 <div class="modal-content">
  55.                     <div class="modal-body remove-padding">
  56.                         <section class="container-fluid remove-padding">
  57.                             <div class="d-flex justify-content-center" style="margin-left: 0; padding-left: 0">
  58.                                 <div class="remove-padding mb-4">
  59.                                     <img src="{{ asset('assets/front/img/connexion/bg_visiteur.png') }}" class="visitor-image d-none d-lg-block align-items-center align-content-center border-5" alt="Girl Cofina Academy" />
  60.                                 </div>
  61.                                 <div class="py-3">
  62.                                     <div class="pe-lg-5">
  63.                                         <div class="d-flex justify-content-between border-bottom border-danger">
  64.                                             <p class="h1 display-4 text-danger fw-bold me-5">Bienvenue</p>
  65.                                             <img src="{{ asset('assets/front/img/connexion/start-2.svg') }}" class="ms-5 start-cn-page con-logo" alt="Stars Cofina Academy">
  66.                                         </div>
  67.                                         <div class="d-flex justify-content-center my-2">
  68.                                             {# <form action="{{ path('app_front_welcome_page') }}" class="my-2" style="width: 100%"> #}
  69.                                             {{ form_start(form, {"attr": {'class': 'my-2', 'style': 'width: 100%', 'id': 'registrationForm'}}) }}
  70.                                                 <div class="form-group my-2">
  71.                                                     {# <label for="name" class="h4 fw-bold opificio">Nom</label>
  72.                                                     <input type="text" placeholder="EX:YAO" class="form-control con_input" name="name" id="name"> #}
  73.                                                     {{ form_label(form.lastname) }}
  74.                                                     {{ form_widget(form.lastname) }}
  75.                                                 </div>
  76.                                                 <div class="form-group my-3">
  77.                                                     {# <label for="lastname" class="h4 fw-bold opificio">Prénom</label>
  78.                                                     <input type="email" placeholder="EX:YANIEL" class="form-control con_input" name="lastname" id="lastname"> #}
  79.                                                     {{ form_label(form.firstname) }}
  80.                                                     {{ form_widget(form.firstname) }}
  81.                                                 </div>
  82.                                                 <div class="form-group my-2">
  83.                                                     {# <label for="country" class="h4 fw-bold opificio">Pays</label>
  84.                                                     <select name="country" id="country" class="form-control con_input text-center">
  85.                                                         <option value="">Choisissez votre pays. </option>
  86.                                                     </select> #}
  87.                                                     {{ form_label(form.country) }}
  88.                                                     {{ form_widget(form.country) }}
  89.                                                 </div>
  90.                                                  {{ form_widget(form.email) }}
  91.                                                 <div class="d-flex justify-content-center mt-5">
  92.                                                     <button type="button" class="btn btn-default con_btn" data-bs-dismiss="modal" aria-label="Fermer">Annuler</button>
  93.                                                     <button type="submit" class="btn btn-danger con_btn me-2" id="visitorSubmitModal">valider</button>
  94.                                                 </div>
  95.                                             {{ form_end(form) }}
  96.                                             {# </form> #}
  97.                                         </div>
  98.                                     </div>
  99.                                 </div>
  100.                             </div>
  101.                         </section>
  102.                     </div>
  103.                 </div>
  104.             </div>
  105.         </div>
  106.         <div class="modal fade" id="exampleModalToggle2" data-bs-backdrop="static" data-bs-keyboard="false" aria-hidden="true" aria-labelledby="exampleModalToggleLabel2" tabindex="-1">
  107.             <div class="modal-dialog modal-dialog-centered">
  108.                 <div class="modal-content">
  109.                 <div class="modal-header">
  110.                     <h5 class="modal-title h4 fw-bold" id="exampleModalToggleLabel2">Lien de connexion visiteur</h5>
  111.                     <button type="button" class="btn-close bg-danger rounded-circle text-danger modal-close-btn" data-bs-dismiss="modal" aria-label="Fermer"></button>
  112.                 </div>
  113.                 <div class="modal-body h5">
  114.                     Un lien de connexion vous a été envoyé à votre adresse
  115.                 </div>
  116.                 </div>
  117.             </div>
  118.         </div>
  119.     </main>
  120. {% endblock %}
  121. {% block javascripts %}
  122.     {{ parent() }}
  123.     <script>
  124.         $(document).ready(function() {
  125.             var formModalEl = document.getElementById('exampleModal');
  126.             var formModal = new bootstrap.Modal(formModalEl);
  127.             
  128.             $('#loginForm').on('submit', function(e) {
  129.                 e.preventDefault();
  130.                 let btnSubmit  = $("#visitorSubmitEmail")
  131.                 btnSubmit.prop("disabled",true);
  132.                 btnSubmit.html(
  133.                     '<div class="spinner-border text-danger" role="status">'+
  134.                     '<span class="visually-hidden">Loading...</span>'+
  135.                     '</div>'
  136.                 )
  137.                 const url = "{{ path('app_front_check_visitor') }}";
  138.                 $.post(url, {'email': $('#email').val() }, function (data, status) {
  139.                     if (status === 'success') {
  140.                         if(data.message) {
  141.                             $.toaster({
  142.                                 message: data.message,
  143.                                 priority: 'warning',
  144.                                 settings: {
  145.                                     toast: {
  146.                                         template: '<div class="alert alert-%priority% alert-dismissible" role="alert">' + '<i class="fa fa-warning"></i> <span class="message"></span>' + '</div>'
  147.                                     },
  148.                                     timeout: 10000,
  149.                                 }
  150.                             });
  151.                             btnSubmit.prop("disabled",false);
  152.                             btnSubmit.html('valider');
  153.                         } else {
  154.                             window.location.href = data.login_url;
  155.                         }
  156.                     } else {
  157.                         formModal.show();
  158.                         btnSubmit.prop("disabled",false);
  159.                         btnSubmit.html('valider');
  160.                     }
  161.                 });
  162.             });
  163.             var sendMailConfirmationModalEl = document.getElementById('exampleModalToggle2');
  164.             var sendMailConfirmationModal = new bootstrap.Modal(sendMailConfirmationModalEl);
  165.             $('#registrationForm').on('submit', function(e) {
  166.                 e.preventDefault();
  167.                 let btnSubmit  = $("#visitorSubmitModal")
  168.                 btnSubmit.prop("disabled",true);
  169.                 btnSubmit.html(
  170.                     '<div class="spinner-border text-danger" role="status">'+
  171.                     '<span class="visually-hidden">Loading...</span>'+
  172.                     '</div>'
  173.                 )
  174.                 var formData = $(this).serialize();
  175.                 var url = "{{ path('app_front_visitor_registration_page') }}";
  176.                 $.post(url, formData, function (data, status) {
  177.                     btnSubmit.prop("disabled",false)
  178.                     btnSubmit.html('valider')
  179.                 });
  180.                 formModal.hide();
  181.                 sendMailConfirmationModal.show();
  182.             });
  183.             formModalEl.addEventListener('show.bs.modal', function (event) {
  184.                 $('#visitor_registration_email').val($('#email').val());
  185.             });
  186.             sendMailConfirmationModalEl.addEventListener('show.bs.modal', function (event) {
  187.                 $('#email').val('');
  188.             });
  189.         })
  190.     </script>
  191. {% endblock %}