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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fuksus Loading</title>
    <link rel="stylesheet" href="style/main.css">
    <script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.1.js"
        integrity="sha256-3zlB5s2uwoUzrXK3BT7AX3FyvojsraNFxCc2vC/7pNI=" crossorigin="anonymous"></script>
    <script src="script/main.js"></script>
    <script src="https://cdn.tailwindcss.com"></script>
</head>

<body x-data="Main()" x-init="listen">

    <!-- Background video-->
    <div id="video-container">
        <iframe src="https://www.youtube.com/embed/5P7i9jV9jew?autoplay=1&mute=1&controls=0&loop=1"
            title="YouTube video player" frameborder="0"
            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
            allowfullscreen></iframe>
    </div>

    <img id="cursor" class="w-[28px] absolute z-[1000] pointer-events-none scale-110" src="./img/cursor.png">

    <!-- Background video-->
    <div class="container">
        <!-- Navigation -->
        <nav class="flex items-center mb-20">
            <img src="./img/logo2.png" alt="" class="mr-10">
            <template x-for="button in buttons">
                <div class="button px-5 py-2 rounded-md ml-3 font-medium" :class="button.selected ? 'selected':''"
                    x-text="button.label" @click="button.selected = selectBtn(button.selected)">Forside</div>
            </template>
        </nav>
        <!-- Navigation -->

        <!-- Home -->
        <div class="home" x-show="buttons[0].selected" x-transition:enter.duration.1000ms>
            <div class="text-white text-4xl font-medium mb-5">HYPERION REBOOTED</div>
            <div class="text-white/60 max-w-4xl text-xl font-normal min-[1024px]:w-[400px] min-[2550px]:w-fit"><h1 id="userName">Velkommen, <span></span>!</h1></div>

            <!-- Discord Widget -->
            <div class="bg-white w-fit p-5 rounded-xl mt-10 flex gap-5 items-center">
                <div class="bg-black w-[80px] h-[80px] rounded-xl flex justify-center">
                    <img class="w-[30px]" src="./img/discord-logo.svg" alt="Discord Logo">
                </div>
                <div>
                    <div class="text-xl text-black font-medium">Hyperion Discord</div>
                    <div class="text-black/80" x-text="memberCount + ' online members'"></div>
                </div>
                <a class="cursor-none bg-[#6536EA] hover:bg-[#4F2DAE] text-sm font-medium inline-flex gap-2 px-4 py-2 rounded-md text-white uppercase ml-10 transition duration-300 ease-in-out"
                    :href="DiscordInviteLink" target="_blank"
                    @click="window.invokeNative('openUrl', DiscordInviteLink);">Åben <img src="./img/arrow.svg" alt=""
                        x-transition></a>
            </div>
            <!-- Discord Widget -->
        </div>
        <!-- Home -->

        <div x-show="buttons[1].selected" x-transition:enter.duration.1000ms>
            <div class="text-white text-4xl font-medium mb-5">Nyheder</div>
            <div class="text-white/60 max-w-4xl text-xl font-normal mb-8 min-[1024px]:w-[700px] min-[2550px]:w-fit">Her
                kan du se en liste over de seneste nyheder fra teamet!</div>

            <div id="newscontainer" class="w-fit h-[600px] overflow-y-auto rounded-xl flex flex-col gap-5">
                <template id="newstemplate">
                    <div
                        class="bg-white p-5 w-fit h-fit rounded-xl hover:bg-[#F2F2F2] transition duration-300 ease-in-out">
                        <span class="text-black font-medium text-xl" id="newslabel"></span>
                        <div class="text-black w-[600px] mb-3" id="newsdesc"></div>
                        <img class="w-full rounded-xl" id="newsimage" alt="">
                        <div class="inline-flex gap-3">
                            <div class="text-sm text-black bg-black/10 rounded-md mt-4 w-fit px-3 py-1.5" id="newsdate">
                            </div>
                            <div class="text-sm text-white bg-[#6536EA] rounded-md mt-4 w-fit px-3 py-1.5"
                                id="newsauthor"></div>
                        </div>
                    </div>
                </template>
            </div>
        </div>
        <div class="team" x-show="buttons[2].selected" x-transition:enter.duration.1000ms>
            <div class="text-white text-4xl font-medium mb-5">Team</div>
            <div class="text-white/60 max-w-4xl text-xl font-normal mb-8 min-[1024px]:w-[700px] min-[2550px]:w-fit">
                Holdet bag Hyperion Rebooted.</div>
            <div id="teamcontainer" class="inline-flex flex-wrap w-[600px] gap-3 overflow-y-auto h-[630px]">
                <template id="teamtemplate">
                    <div class="bg-black/50 member h-fit w-fit px-8 py-5 rounded-xl hover:bg-[#6536EA] transition duration-300 ease-in-out"
                        @click="copyToClipboard(member.discord)">
                        <img class="w-48 mb-5" id="memberimg" alt="">
                        <div class="discord text-xl text-white" id="membername"></div>
                        <div class="role text-md text-white/60" id="memberrole"></div>
                    </div>
                </template>
            </div>
        </div>
    </div>

    <div class="bg1" style="background-image: url(img/about-img.png)" x-show="buttons[0].selected"
        x-transition:enter.duration.1000ms x-transition:leave.duration.400ms></div>
    <div class="bg1" style="background-image: url(img/news-img.png)" x-show="buttons[1].selected"
        x-transition:enter.duration.1000ms x-transition:leave.duration.400ms></div>
    <div class="bg1" style="background-image: url(img/team-img.png)" x-show="buttons[2].selected"
        x-transition:enter.duration.1000ms x-transition:leave.duration.400ms></div>

    <div class="music-container" :class="musicOpen ? 'active':''">
        <img src="./img/music.png" alt="">
        <div class="circle" @click="musicOpen = !musicOpen">
            <div class="bar1"></div>
            <div class="bar2" :class="musicOpen ? 'active':''"></div>
        </div>
        <div class="visualizer">
            <div class="bar" :class="isMusicPlaying ? 'active':''"></div>
            <div class="bar" :class="isMusicPlaying ? 'active2':''"></div>
            <div class="bar" :class="isMusicPlaying ? 'active3':''"></div>
        </div>
        <div class="info" x-show="musicOpen" x-transition:enter.duration.2800ms x-transition:leave.duration.50ms>
            <div>
                <div class="label font-normal text-lg overflow-hidden" x-text="musicList[currentSong].label"></div>
                <div class="author overflow-hidden" x-text="musicList[currentSong].author"></div>
                <img src="./img/back.svg" alt="" class="back" @click="prev()">
                <img src="./img/pause.svg" alt="" class="pause" x-show="isMusicPlaying" @click="pause()">
                <img src="./img/play.svg" alt="" class="play" x-show="!isMusicPlaying" @click="play()">
                <img src="./img/forward.svg" alt="" class="forward" @click="next()">
            </div>
        </div>
        <script type="text/javascript">
            window.addEventListener('DOMContentLoaded', () => {            
                document.querySelector('#userName > span').innerText = window.nuiHandoverData.name;
            });
            </script>
        <script>
            // Brug øverste setting på lokal test, udenfor spillet.

            // const jsonUrl = 'https://corsproxy.io/?https%3A%2F%2Fgit.thnght.pro%2FHyperion%2FPublic%2Fraw%2Fbranch%2Fmain%2Finfo%2Fchangelog.json';
            // const teamUrl = 'https://corsproxy.io/?https%3A%2F%2Fgit.thnght.pro%2FHyperion%2FPublic%2Fraw%2Fbranch%2Fmain%2Finfo%2Fstaff.json';

            // Brug nedenstående setting, når det er i spillet.

            const jsonUrl = 'https://git.thnght.pro/Hyperion/Public/raw/branch/main/info/changelog.json';
            const teamUrl = 'https://git.thnght.pro/Hyperion/Public/raw/branch/main/info/staff.json';


            const newsContainer = document.getElementById('newscontainer');
            const newsTemplate = document.getElementById('newstemplate');

            fetch(jsonUrl)
                .then(response => {
                    if (!response.ok) {
                        throw new Error('Network response was not ok');
                    }
                    return response.json();
                })
                .then(data => {
                    data.forEach(newsItem => {
                        const clone = document.importNode(newsTemplate.content, true);

                        clone.getElementById('newslabel').textContent = newsItem.label;
                        clone.getElementById('newsdesc').textContent = newsItem.desc;
                        clone.getElementById('newsimage').src = newsItem.img;
                        clone.getElementById('newsdate').textContent = newsItem.date;
                        clone.getElementById('newsauthor').textContent = newsItem.author;

                        newsContainer.appendChild(clone);
                    });
                })
                .catch(error => {
                    console.error('Error fetching data:', error);
                });

            const teamContainer = document.getElementById('teamcontainer');
            const teamTemplate = document.getElementById('teamtemplate');

            fetch(teamUrl)
                .then(response => {
                    if (!response.ok) {
                        throw new Error('Network response was not ok');
                    }
                    return response.json();
                })
                .then(data => {
                    data.forEach(teamItem => {
                        const clone = document.importNode(teamTemplate.content, true);

                        clone.getElementById('memberimg').src = teamItem.img;
                        clone.getElementById('membername').textContent = teamItem.discord;
                        clone.getElementById('memberrole').textContent = teamItem.role;

                        teamContainer.appendChild(clone);
                    });
                })
                .catch(error => {
                    console.error('Error fetching data:', error);
                });

        </script>
</body>

</html>