FeiTunes

Login / Register

My Music Streamer

Upload Your Music

Preloaded Catalog

Your Playlist

// For demo: Fill user profile info if Google userData available function updateProfileInfo(user) { const profileDiv = document.getElementById('user-info-profile'); if (!user) { profileDiv.textContent = 'Not signed in.'; return; } profileDiv.innerHTML = ` Profile Pic
Name: ${user.name}
Email: ${user.email}
`; } // Hook into your existing Google sign-in handler to update profile tab window.updateProfileInfo = updateProfileInfo; // If you want, call updateProfileInfo(userData) after Google sign-in success // Song management per user let userSongs = []; let filteredSongs = []; const songsList = document.getElementById('songs-list'); const audioUpload = document.getElementById('audio-upload'); const songSearch = document.getElementById('song-search'); function saveSongsForUser(username, songs) { const users = getUsers(); users[username].songs = songs; saveUsers(users); } function loadSongs() { const user = getCurrentUser(); if (!user) return; const users = getUsers(); userSongs = users[user.username].songs || []; filteredSongs = [...userSongs]; renderSongs(); } // Use jsmediatags library for cover art extraction (CDN) // We'll add the script dynamically because no internet is assumed on Neocities, // main { padding: 1em; } .hidden { display: none; } nav { margin-bottom: 1em; } .nav-btn { margin-right: 1em; padding: 0.5em 1em; } .content-section { background-color: white; padding: 1em; border-radius: 5px; } #music-list li, #playlist-list li { margin-bottom: 0.5em; } audio.src = song.url; li.appendChild(audio); musicList.appendChild(li); }); } function generateDailyPlaylist() { const currentUser = localStorage.getItem('currentUser'); const library = JSON.parse(localStorage.getItem(`library_${currentUser}`)) || []; playlistList.innerHTML = ''; const shuffled = [...library].sort(() => 0.5 - Math.random()); const selected = shuffled.slice(0, 5); selected.forEach(song => { const li = document.createElement('li'); li.textContent = `${song.title} by ${song.artist}`; const audio = document.createElement('audio'); audio.controls = true; audio.src = song.url; li.appendChild(audio); playlistList.appendChild(li); }); } FeiTunes

FeiTunes

💬
FeiTunes Assistant