templates/newsletter/index.html.twig line 1

Open in your IDE?
  1. {% extends 'layout/default.html.twig' %}
  2. {% block contentBlock %}
  3.     <script src="https://www.google.com/recaptcha/api.js?render={{ recaptcha_v3_site_key }}"></script>
  4.     <main class="staticPage">
  5.         <div class="container my-5 my-lg-5 my-md-5">
  6.             {{ form_start(newsletterForm,{'attr': {'novalidate': 'novalidate','id': 'newsletter-form-type'}}) }}
  7.                 <div class="row">
  8.                     <div class="col-lg-4 col-md-6 col-sm-9 offset-sm-1 offset-md-0 offset-lg-1">
  9.                         <div class="d-flex flex-column">
  10.                             <h1 class="font-weight-bold mb-4 mb-lg-4 mb-md-4 font-italic">{{ 'newsletter.heading' | trans }}</h1>
  11.                             <h4 class="font-weight-bold mb-4 mb-lg-4 mb-md-4">{{ 'newsletter.sub.heading' | trans }}</h4>
  12.                         </div>
  13.                         <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(newsletterForm.Email) ? 'input-error' }}">
  14.                             <div class="ml-3 ml-lg-3 ml-md-3 text-deepGray">
  15.                                 {{ form_label(newsletterForm.Email) }}
  16.                             </div>
  17.                             {{ form_widget(newsletterForm.Email) }}
  18.                             {{ form_errors(newsletterForm.Email) }}
  19.                         </div>
  20.                         <div class="d-flex flex-column mb-3 mb-lg-3 mb-md-3 {{ form_errors(newsletterForm.Firstname) ? 'input-error' }}">
  21.                             <div class="ml-3 ml-lg-3 ml-md-3 text-deepGray">
  22.                                 {{ form_label(newsletterForm.Firstname) }}
  23.                             </div>
  24.                             {{ form_widget(newsletterForm.Firstname) }}
  25.                             {{ form_errors(newsletterForm.Firstname) }}
  26.                         </div>
  27.                     </div>
  28.                 </div>
  29.                 <div class="row">
  30.                     <div class="col-lg-6 col-md-8 col-sm-9 offset-sm-1 offset-md-0 offset-lg-1">
  31.                         <p class="mb-0 mt-4 mt-lg-4 mt-md-4">Select Categories of interest</p>
  32.                         <p class="mb-3 mb-lg-3 mb-md-3">
  33.                             <small>
  34.                                 Select all that apply.
  35.                             </small>
  36.                         </p>
  37.                         {% for list in lists %}
  38.                             <div class="top-position-checkmark position-relative checkbox-container my-0 py-1 py-lg-1 py-md-1">
  39.                                 <input type="checkbox" name="lists[]" id="{{ list.id }}" value="{{ list.id }}">
  40.                                 <span class="checkmark"></span>
  41.                                 <div class="d-flex ml-1 ml-lg-1 ml-md-1">
  42.                                     <label for="{{ list.id }}">
  43.                                         {{ list.title }}
  44.                                     </label>
  45.                                 </div>
  46.                             </div>
  47.                         {% endfor %}
  48.                         <div class="d-flex flex-column align-items-start mt-4 mt-lg-4 mt-md-3 mb-3 mb-lg-3 mb-md-3">
  49.                             {{ form_widget(newsletterForm._submit) }}
  50.                         </div>
  51.                     </div>
  52.                 </div>
  53.             {{ form_end(newsletterForm) }}
  54.         </div>
  55.     </main>
  56.     <script>
  57.     $("#newsletter-form-type button[type=submit]").on('click', function(e) {
  58.         e.preventDefault();
  59.         grecaptcha.ready(function() {
  60.             let action = document.getElementById('action').value;
  61.             grecaptcha.execute('{{ recaptcha_v3_site_key }}', { action: action })
  62.             .then(function(token) {
  63.                 // add token value to form
  64.                 document.getElementById('g-recaptcha-response').value = token;
  65.                 $('#newsletter-form-type').submit();
  66.             });
  67.         });
  68.     });
  69.     </script>
  70. {% endblock %}