templates/widget/cookie_consent.html.twig line 1

Open in your IDE?
  1. {% if (should_show_cookie_banner == false) %}
  2. <div id="cookieConsentBanner" class="cookie-banner fixed-bottom text-white p-3" style="z-index: 1000; display: none;">
  3.     <div class="container">
  4.         <div class="row align-items-center">
  5.             <div class="col-md-8">
  6.                 <p class="mb-0">Мы используем cookies для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с этим.</p>
  7.             </div>
  8.             <div class="col-md-4 text-right">
  9.                 <button id="acceptCookies" class="btn btn-primary btn-sm">Принять</button>
  10.                 <a target="_blank" href="{{ privacy_policy_link }}" class="btn btn-link text-white btn-sm">Подробнее</a>
  11.             </div>
  12.         </div>
  13.     </div>
  14. </div>
  15.     <style>
  16.     </style>
  17.     <script>
  18.         document.addEventListener('DOMContentLoaded', function() {
  19.             const banner = document.getElementById('cookieConsentBanner');
  20.             const acceptBtn = document.getElementById('acceptCookies');
  21.             if ({{ should_show_cookie_banner  == false }}) {
  22.                 banner.style.display = 'block';
  23.                 // Обработчик для кнопки "Принять"
  24.                 acceptBtn.addEventListener('click', function() {
  25.                     fetch('{{ path('cookie_consent') }}', {
  26.                         method: 'POST',
  27.                         headers: {
  28.                             'Content-Type': 'application/json',
  29.                             'X-Requested-With': 'XMLHttpRequest'
  30.                         },
  31.                         credentials: 'include'
  32.                     })
  33.                         .then(response => response.json())
  34.                         .then(data => {
  35.                             if (data.status === 'success') {
  36.                                 banner.style.display = 'none';
  37.                             }
  38.                         })
  39.                         .catch(error => console.error('Error:', error));
  40.                 });
  41.             }
  42.         });
  43.     </script>
  44. {% endif %}