<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Image Archive</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background-color: black;
            color: white;
            font-family: sans-serif;
            padding: 2rem;
        }

        h1 {
            text-align: center;
            margin-bottom: 2rem;
        }

        .gallery {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
            gap: 20px;
        }

        .gallery img {
            width: 100%;
            height: auto;
            border-radius: 10px;
            cursor: pointer;
            transition: transform 0.2s ease;
        }

        .gallery img:hover {
            transform: scale(1.02);
        }

        /* Lightbox styles */
        .lightbox {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            justify-content: center;
            align-items: center;
            flex-direction: column;
            z-index: 999;
        }

        .lightbox img {
            max-width: 90%;
            max-height: 80%;
            border-radius: 10px;
        }

        .lightbox .close {
            position: absolute;
            top: 20px;
            right: 30px;
            font-size: 30px;
            color: white;
            cursor: pointer;
        }

        .arrow {
            position: absolute;
            top: 50%;
            font-size: 40px;
            color: white;
            cursor: pointer;
            user-select: none;
            transform: translateY(-50%);
        }

        .arrow.left {
            left: 20px;
        }

        .arrow.right {
            right: 20px;
        }

        #lightbox-prompt {
            color: #ccc;
            font-family: monospace;
            white-space: pre-wrap;
            background: rgba(0, 0, 0, 0.6);
            padding: 10px 20px;
            border-radius: 10px;
            max-width: 80%;
            text-align: left;
            margin-top: 20px;
        }

        .button-group {
            display: flex;
            justify-content: center;
            margin-top: 2rem;
        }

        .button-link {
            background: #333;
            color: white;
            text-decoration: none;
            padding: 10px 20px;
            border-radius: 8px;
            font-size: 16px;
            cursor: pointer;
            transition: background 0.3s;
            display: inline-block;
            text-align: center;
        }

        .button-link:hover {
            background: #555;
        }
    </style>
</head>

<body>
    <h1>Image Archive</h1>
    <div class="gallery">
        {% for image in images %}
        <!-- <img src="{{ url_for('images', filename=image.thumbnail_filename) }}" alt="Image" loading="lazy" onclick="openLightbox({{ loop.index0 }})"> -->
        <img src="{{ url_for('images', filename='thumbnails/' + image.filename) }}"
            data-fullsrc="{{ url_for('images', filename=image.filename) }}" onclick="openLightbox({{ loop.index0 }})">

        {% endfor %}
    </div>
    <div class="button-group">
        <a href="/" class="button-link">Back</a>
    </div>


    <!-- Lightbox -->
    <div class="lightbox" id="lightbox">
        <span class="close" onclick="closeLightbox()">&times;</span>
        <span class="arrow left" onclick="prevImage()">&#10094;</span>
        <img id="lightbox-img" src="">
        <p id="lightbox-prompt"></p>
        <span class="arrow right" onclick="nextImage()">&#10095;</span>
    </div>

    <script>
        let images = [
            {% for image in images %}
        {
            src: "{{ url_for('images', filename=image.filename) }}",
                prompt: `{{ image.prompt | escape }}`
        },
        {% endfor %}
        ];
        let currentIndex = 0;

        function openLightbox(index) {
            currentIndex = index;
            <!-- document.getElementById("lightbox-img").src = images[currentIndex].src; -->
            document.getElementById("lightbox-img").src = document.querySelectorAll('.gallery img')[currentIndex].dataset.fullsrc;
            document.getElementById("lightbox-prompt").textContent = images[currentIndex].prompt;
            document.getElementById("lightbox").style.display = "flex";
        }

        function closeLightbox() {
            document.getElementById("lightbox").style.display = "none";
        }

        function nextImage() {
            currentIndex = (currentIndex + 1) % images.length;
            openLightbox(currentIndex);
        }

        function prevImage() {
            currentIndex = (currentIndex - 1 + images.length) % images.length;
            openLightbox(currentIndex);
        }
    </script>
</body>

</html>