templates/VisualMediaLisaBundle/views/Layout/footer.html.twig line 1

Open in your IDE?
  1. {% import '@VisualMediaLisa/Menu/menu.html.twig' as macro %}
  2. <footer class="footer">
  3.         <div class="row">
  4.             <div class="col-12 col-lg-3 red1">
  5.                 <a href="/" class="footer-logo">
  6.                     <img src="{{ asset('build/images/zuidema-logo-footer.svg') }}" alt="Zuidema groep">
  7.                 </a>
  8.             </div>
  9.             <div class="col-12 col-lg-3 red2">
  10.                 <div class="footer-contact">
  11.                     <h3>Bezoekadres</h3>
  12.                     {{ setting("address_hgv") }}<br/>
  13.                     {{ setting("zipcode_hgv") }}<br/>
  14.                     {{ setting("plaats") }}
  15.                 </div>
  16.             </div>
  17.             <div class="col-12 col-lg-3 red3">
  18.                 <div class="footer-contact">
  19.                     <h3>Postadres</h3>
  20.                     {{ setting("postbox_address_hgv") }}<br/>
  21.                     {{ setting("postbox_zipcode_hgv") }}<br/>
  22.                     {{ setting("plaats") }}
  23.                 </div>
  24.             </div>
  25.             <div class="col-12 col-lg-3 red4">
  26.                 <div class="footer-contact">
  27.                     <h3>Contact</h3>
  28.                     <a href="mailto:{{ setting("email") }}">{{ setting("email") }}</a><br/>
  29.                     <a href="tel:{{ setting("telefoon_link_hgv") }}">{{ setting("phone_hgv") }}</a>
  30.                 </div>
  31.             </div>
  32.         </div>
  33.         <div class="row">
  34.             <div class="col-12 footer-menu_wrapper">
  35.                 <div class="footer-menu">
  36.                     {% set footer = menu('footermenu')%}
  37.                     {{ macro.menu(footer.items) }}
  38.                 </div>
  39.                 <a href="https://www.dappr.nl/" target="_blank"><img src="{{ asset('build/images/dappr.svg') }}" alt="dappr gemaakt"></a>
  40.             </div>
  41.         </div>
  42.         <script>
  43.         (() => {
  44.         // Zet alle iframes eerst "lui": src -> data-src
  45.         document.querySelectorAll('.vimeo-popover iframe').forEach(iframe => {
  46.             if (iframe.src) {
  47.             iframe.dataset.src = iframe.src;
  48.             iframe.removeAttribute('src');
  49.             }
  50.         });
  51.         const triggers = document.querySelectorAll('.trigger');
  52.         // Zoek de dichtstbijzijnde ancestor die een .vimeo-popover bevat
  53.         function findPopoverFor(el) {
  54.             let node = el;
  55.             while (node && node !== document.body) {
  56.             // eerst check directe child, anders willekeurige descendant
  57.             let pop = node.querySelector(':scope > .vimeo-popover') || node.querySelector('.vimeo-popover');
  58.             if (pop) return pop;
  59.             node = node.parentElement;
  60.             }
  61.             return null;
  62.         }
  63.         function ensureIframeSrc(pop) {
  64.             const iframe = pop.querySelector('iframe');
  65.             if (!iframe) return;
  66.             const ds = iframe.dataset.src;
  67.             if (ds && iframe.src !== ds) iframe.src = ds;
  68.         }
  69.         // Sluit popover door op de overlay (het popover zelf) te klikken
  70.         document.querySelectorAll('.vimeo-popover').forEach(pop => {
  71.             pop.addEventListener('click', e => { if (e.target === pop) pop.hidePopover(); });
  72.         });
  73.         triggers.forEach(trigger => {
  74.             const popover = findPopoverFor(trigger);
  75.             if (!popover) return;
  76.             trigger.addEventListener('click', e => {
  77.             e.preventDefault();
  78.             e.stopPropagation();
  79.             // Sluit andere open popovers
  80.             document.querySelectorAll('.vimeo-popover:popover-open').forEach(p => {
  81.                 if (p !== popover) p.hidePopover();
  82.             });
  83.             // Toggle enkel de bijbehorende popover
  84.             if (popover.matches(':popover-open')) {
  85.                 popover.hidePopover();
  86.             } else {
  87.                 ensureIframeSrc(popover); // laad Vimeo pas bij openen
  88.                 popover.showPopover();
  89.             }
  90.             });
  91.         });
  92.         // Optioneel: stop video bij sluiten door src te legen
  93.         document.addEventListener('toggle', e => {
  94.             const pop = e.target;
  95.             if (!(pop instanceof HTMLElement)) return;
  96.             if (!pop.classList.contains('vimeo-popover')) return;
  97.             if (!pop.matches(':popover-open')) {
  98.             const iframe = pop.querySelector('iframe');
  99.             if (iframe && iframe.dataset.src) iframe.removeAttribute('src');
  100.             }
  101.         }, true);
  102.         })();
  103.         </script>
  104. </footer>
  105. {% include 'Layout/Include/webshop.html.twig' %}