<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
    
    <style>
        ::-webkit-scrollbar {
            display: none;
        }
        body, html {
            height: 100%;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            margin-left: 10%;
            margin-right: 10%;
            width: 80vw;
            scrollbar-width: none; /* For Firefox */
            -ms-overflow-style: none;
            {% block bgstuff %}
            background-color: white;
            {% endblock %}
        }
        
        #topbar {
            width: 100%;
            text-align: center;
            border-bottom: 1px solid black;
            position: sticky;
            top:0;
            animation: slideDown 3s backwards;
        }
        @keyframes slideDown {
            0% {
                left:0vw;
            }
            100% {
                left:50vw;
            }
        }
        .button {
            display: inline-block;
            padding: 10px;
            border-right: 1px solid black;
            transition: background-color 0.5s;
            font-size: large;
        }
        a {
            font-size: large;
            color: black;
        }
        .button:hover {
            background-color: #888;
        }
        .content {
            padding-left: 10%;
            padding-right: 10%;
            text-align: justify;
            overflow:scroll;
            width:80vw;
            font-size:large;
        }
        h1 {
            text-align: left;
        }
        #footer {
            color:inherit;
            width: 100vw;
            font-size: small;
            -webkit-filter: invert(100%);
            filter: invert(100%);
            width: 100%;
            text-align: center;
            padding-left: 10px;
            padding-right: 10px;
            position: absolute;
            display: block;
            bottom: -75px;
            background-color: inherit;
            border-top: 1px solid #e7e7e7;
        }
        #footer a {
            font-size: small;
            -webkit-filter: invert(100%);
            filter: invert(100%);
        }

        .content img {
            max-width: 800px;
            display: inline;
        }

        .content {
            text-align: justify;
            width: 80%;
        }
    </style>
</head>
<body>
    <!-- Llegaste al código, a ver cáele al telegram -> [arroba]kprftw -->
    <div id="topbar">
        {% block topbar %}
        <a href="/"><div class="button">a casa</div></a>
        <a href="/spacestats"><div id="spaceStatusButton" class="button">a casa</div></a>
        <a href="/guatecon-01"><div class="button color-changer" id="colorButton">GuateCON 0.1</div></a>
        <a href="/about"><div class="button">qué es esto</div></a>
        <a href="/somos"><div class="button">quiénes somos</div></a>
        <a href="/blog"><div class="button">blog</div></a>
        <a href="https://box.kernelpanic.lol"><div class="button">proyectos</div></a>
        <a href="/censo-hacker-latinoamericane-2023"><div class="button">participa en el censo</div></a>
        <!--<a href="https://pat.kernelpanic.lol/calendar/#/2/calendar/view/CH1zbFeFKLPO5SPle5JNxjKqdSaidbYPYBKFC4PDSus/embed/"><div class="button">calendario</div></a> -->

        <!-- Add more buttons as needed -->
        {% endblock %}
    </div>
    
    <div class="content">
        <h1>{{ this.title }}</h1>
        {% block body %}{% endblock %}
    </div>

    <script>
        document.body.addEventListener('click', function () {
            var randomColor = 'rgb(' + 
                Math.floor(Math.random() * 256) + ',' +
                Math.floor(Math.random() * 256) + ',' +
                Math.floor(Math.random() * 256) + ')';
            document.body.style.backgroundColor = randomColor;
            document.getElementById('topbar').style.backgroundColor = randomColor;
            var rgb = randomColor.match(/\d+/g).map(Number);
            
            // Calculate the brightness of the color
            var brightness = Math.round((parseInt(rgb[0]) * 299 + parseInt(rgb[1]) * 587 + parseInt(rgb[2]) * 114) / 1000);
            
            // Choose black or white for the font color based on the brightness
            var randomFontColor = brightness > 150 ? 'black' : 'white';
            document.body.style.color = randomFontColor;
        });
        var buttons = document.querySelectorAll('.button');
        buttons.forEach(function(button) {
            button.addEventListener('mouseover', function() {
                var randomColor = 'rgb(' + 
                    Math.floor(Math.random() * 256) + ',' +
                    Math.floor(Math.random() * 256) + ',' +
                    Math.floor(Math.random() * 256) + ')';

                // Convert the RGB color to an array of numbers
                var rgb = randomColor.match(/\d+/g).map(Number);
                
                // Calculate the brightness of the color
                var brightness = Math.round((parseInt(rgb[0]) * 299 + parseInt(rgb[1]) * 587 + parseInt(rgb[2]) * 114) / 1000);
                
                // Choose black or white for the font color based on the brightness
                var randomFontColor = brightness > 150 ? 'black' : 'white';

                this.style.backgroundColor = randomColor;
                this.style.color = randomFontColor;
            });
        });
    </script>
<script>
    const button = document.getElementById('colorButton');
    let t = 0;
  
    function generateColor(t, phase) {
      return Math.floor((Math.sin(t + phase) + 1) * 128);
    }
  
    function updateGradient() {
      const r1 = generateColor(t, 0);
      const g1 = generateColor(t, 2);
      const b1 = generateColor(t, 4);
      const color1 = `rgb(${r1}, ${g1}, ${b1})`;
  
      const r2 = generateColor(t, 6);
      const g2 = generateColor(t, 8);
      const b2 = generateColor(t, 10);
      const color2 = `rgb(${r2}, ${g2}, ${b2})`;
  
      button.style.background = `linear-gradient(to right, ${color1}, ${color2})`;
  
      t += 0.01;
    }
  
    setInterval(updateGradient, 1000 / 600);  // 60 frames per second for a smooth transition
  </script>
  <script>
    document.addEventListener('DOMContentLoaded', function() {
        const endpoint = "https://kernelpanic.lol/spacestats"; // Replace with your actual endpoint
        const button = document.getElementById('spaceStatusButton');

        fetch(endpoint)
            .then(response => {
                if (!response.ok) {
                    throw new Error('Network response was not ok');
                }
                return response.json();
            })
            .then(data => {
                updateButtonStatus(button, data.state.open);
            })
            .catch(error => {
                console.error('There has been a problem with your fetch operation:', error);
                button.textContent = 'Error fetching status';
            });
    });

    function updateButtonStatus(button, status) {
        if (status === 'true') {
            button.textContent = 'Estamos aquí';
            button.style.backgroundColor = 'green';
        } else if (status === 'false') {
            button.textContent = 'No estamos';
            button.style.backgroundColor = 'red';
        } else {
            button.textContent = 'Algo raro sucede';
            button.style.backgroundColor = 'grey';
        }
    }

  </script>
    <div id="footer">
        {% block footer %}
            <p>Por la gracia de San iGNUcio desde el Cuarto de Máquinas @ 2023.</p> 
            <p>Contáctanos en <a href="https://twitter.com/botkernel">el twatter</a> para lo que se ocupe.</p>
        {% endblock %}
    </div>
</body>
</html>
