{% extends 'web/base.html.twig' %}{% block title %}{{ album.title }} - Galerija - 2sweet.eu{% endblock %}{% block body %} {{ include('web/components/inner/breadcrumb.html.twig') }} <div class="bgWhite"> <div class="container"> <div class="emptySpace-xs60 emptySpace110"></div> <div class="row"> <div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3"> <div class="big subTitleShortcode" style="text-align:center;"> <h2 class="h2">{{ album.title }}</h2> {% if album.description %} <div class="emptySpace20"></div> <p>{{ album.description }}</p> {% endif %} </div> </div> </div> <div class="emptySpace-xs30 emptySpace60"></div> <div class="row" id="gallery-grid"> {% for photo in album.photos %} <div class="col-xs-6 col-sm-4 col-md-3" style="margin-bottom:15px;"> <a href="{{ asset('uploads/' ~ photo.image) }}" class="gallery-lightbox" data-group="album"> <img src="{{ asset('uploads/' ~ photo.image) }}" class="img-responsive" style="width:100%; height:200px; object-fit:cover; border-radius:4px; cursor:pointer; transition: opacity 0.2s;" onmouseover="this.style.opacity='0.85'" onmouseout="this.style.opacity='1'" alt="{{ album.title }}"> </a> </div> {% else %} <div class="col-12 text-center"> <p>Nema fotografija u ovom albumu.</p> </div> {% endfor %} </div> <div class="emptySpace30"></div> <div class="row"> <div class="col-sm-12 text-center"> <a href="{{ path('web_gallery') }}" class="btn" style="background:#c9a96e; color:#fff; border-radius:2px; padding:10px 30px; text-transform:uppercase; letter-spacing:1px; font-size:13px;"> ← Natrag na galeriju </a> </div> </div> <div class="emptySpace-xs60 emptySpace110"></div> </div> </div> <!-- Lightbox overlay --> <div id="lightbox-overlay" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.92); z-index:9999; cursor:pointer;" onclick="closeLightbox()"> <div style="position:absolute; top:20px; right:30px; color:#fff; font-size:32px; cursor:pointer;" onclick="closeLightbox()">×</div> <div style="display:flex; align-items:center; justify-content:center; height:100%;"> <div onclick="event.stopPropagation();" style="position:relative; max-width:90vw; max-height:90vh; display:flex; align-items:center;"> <span id="lb-prev" onclick="lbNav(-1)" style="position:absolute; left:-50px; color:#fff; font-size:40px; cursor:pointer; user-select:none;">‹</span> <img id="lightbox-img" src="" style="max-width:88vw; max-height:88vh; object-fit:contain; border-radius:4px;"> <span id="lb-next" onclick="lbNav(1)" style="position:absolute; right:-50px; color:#fff; font-size:40px; cursor:pointer; user-select:none;">›</span> </div> </div> <div id="lb-counter" style="position:absolute; bottom:20px; left:50%; transform:translateX(-50%); color:#fff; font-size:13px; opacity:0.7;"></div> </div>{% endblock %}{% block javascripts %} {{ parent() }}<script> var lbImages = []; var lbCurrent = 0; document.querySelectorAll('.gallery-lightbox').forEach(function(el, i) { lbImages.push(el.getAttribute('href')); el.addEventListener('click', function(e) { e.preventDefault(); lbCurrent = i; openLightbox(); }); }); function openLightbox() { document.getElementById('lightbox-img').src = lbImages[lbCurrent]; document.getElementById('lb-counter').textContent = (lbCurrent + 1) + ' / ' + lbImages.length; document.getElementById('lightbox-overlay').style.display = 'block'; document.body.style.overflow = 'hidden'; } function closeLightbox() { document.getElementById('lightbox-overlay').style.display = 'none'; document.body.style.overflow = ''; } function lbNav(dir) { lbCurrent = (lbCurrent + dir + lbImages.length) % lbImages.length; document.getElementById('lightbox-img').src = lbImages[lbCurrent]; document.getElementById('lb-counter').textContent = (lbCurrent + 1) + ' / ' + lbImages.length; } document.addEventListener('keydown', function(e) { if (document.getElementById('lightbox-overlay').style.display === 'block') { if (e.key === 'ArrowRight') lbNav(1); if (e.key === 'ArrowLeft') lbNav(-1); if (e.key === 'Escape') closeLightbox(); } });</script>{% endblock %}