document.querySelectorAll('nav ul li a').forEach(link => { link.addEventListener('click', e => { e.preventDefault(); const target = e.target.id.replace('nav-', '') + '-section'; document.querySelectorAll('main section').forEach(sec => sec.classList.add('hidden')); const section = document.getElementById(target); if (section) section.classList.remove('hidden'); }); }); document.getElementById('login-form')?.addEventListener('submit', e => { e.preventDefault(); const username = document.getElementById('username').value; alert(`Logging in as ${username}...`); // TODO: call backend API for authentication }); fetch("/gitea-repos/") .then(res => res.json()) .then(repos => { const list = document.getElementById("repo-list"); list.innerHTML = ""; // Clear "Loading..." repos.forEach(repo => { const item = document.createElement("li"); item.innerHTML = ` ${repo.name}

${repo.description || "No description"}

`; list.appendChild(item); }); }) .catch(err => console.error("Error fetching repos:", err)); const playlist = [ { title: 'Michael Cassette - Crocketts Theme', src: 'assets/Michael_Cassette_Crocketts_Theme.wav' }, { title: 'DJ Ten - MagnetoSphere', src: 'assets/DJ_Ten_MagnetoSphere.wav' } ]; let currentTrack = 0; const audio = new Audio(); audio.loop = false; audio.volume = 0.04; const nowPlaying = document.getElementById('now-playing'); const playPauseBtn = document.getElementById('play-pause-btn'); const nextBtn = document.getElementById('next-btn'); const prevBtn = document.getElementById('prev-btn'); function loadTrack(index) { currentTrack = index; audio.src = playlist[currentTrack].src; nowPlaying.textContent = `♫ Now Playing: ${playlist[currentTrack].title}`; audio.play(); playPauseBtn.textContent = '⏸'; } playPauseBtn.addEventListener('click', () => { if (audio.paused) { audio.play(); playPauseBtn.textContent = '⏸'; } else { audio.pause(); playPauseBtn.textContent = '▶'; } }); nextBtn.addEventListener('click', () => { loadTrack((currentTrack + 1) % playlist.length); }); prevBtn.addEventListener('click', () => { loadTrack((currentTrack - 1 + playlist.length) % playlist.length); }); audio.addEventListener('ended', () => { loadTrack((currentTrack + 1) % playlist.length); }); // From previous step: start music only after "Press to Start" document.getElementById('loading-screen')?.addEventListener('click', () => { loadTrack(0); }); document.getElementById('now-playing').textContent = '🎵 Now Playing: Song Title'; window.addEventListener('DOMContentLoaded', () => { const loadingScreen = document.getElementById('loading-screen'); const music = new Audio(); // your audio logic might be handled elsewhere now if (loadingScreen) { loadingScreen.addEventListener('click', () => { loadingScreen.style.display = 'none'; // hides the full screen loadTrack(0); // start the music playlist }); } }); document.addEventListener("DOMContentLoaded", function() { const loadingScreen = document.getElementById('loading-screen'); const loadingText = document.querySelector('.loading-text'); loadingScreen.addEventListener('click', function() { loadingScreen.style.display = 'none'; document.querySelector('.foreground-container').style.display = 'block'; }); }); document.getElementById("loading-screen").addEventListener("click", () => { document.getElementById("loading-screen").style.display = "none"; const container = document.querySelector(".foreground-container"); container.classList.remove("hidden"); container.classList.add("fade-in"); });