diff options
| author | Pinapelz <yukais@pinapelz.com> | 2026-05-27 00:53:18 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-05-27 00:55:26 -0700 |
| commit | 36e053f4f0a2f63c08f7c28b9492c067f1ca42bc (patch) | |
| tree | c28973073c8e26775ee4d18d1016df44afdfeceb /moe.pinapelz.com/scripts | |
| parent | a01e0666fd66c367745cdaff76fcd6ea7568c31c (diff) | |
migrate pinapelz.moe -> pinapelz.com
Diffstat (limited to 'moe.pinapelz.com/scripts')
| -rw-r--r-- | moe.pinapelz.com/scripts/index.js | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/moe.pinapelz.com/scripts/index.js b/moe.pinapelz.com/scripts/index.js new file mode 100644 index 0000000..dbd7ade --- /dev/null +++ b/moe.pinapelz.com/scripts/index.js @@ -0,0 +1,129 @@ +function fetchDiscordStatus(userId) { + const API_URL = `https://api.lanyard.rest/v1/users/${userId}`; + + fetch(API_URL) + .then(response => response.json()) + .then(data => { + const discordStatus = data.data.discord_status; + + const statusColors = { + online: "#43b581", + idle: "#faa61a", + dnd: "#f04747", + offline: "#747f8d", + }; + + const statusText = { + online: "Online", + idle: "Idle", + dnd: "Do Not Disturb", + offline: "Offline", + }; + + const statusSection = document.getElementById(`discord-status`); + const statusTextElement = statusSection.querySelector(".status-text"); + + statusSection.style.backgroundColor = statusColors[discordStatus]; + statusTextElement.textContent = "Currently: " + statusText[discordStatus]; + }) + .catch(error => console.error("Error fetching Discord status:", error)); + } + +document.addEventListener("DOMContentLoaded", () => { + const quotes = [ + "Give a man a fish, learn him how to eat, give a man- learn a man how to - xQc", + "Yeah I'm GAY, Good at Yugioh - Rosemi Lovelock", + "yipee - Erina Makina", + "Your friend doesn't like Vtubers? Tell your friend to get some taste - Pavolia Reine", + ]; + + function getRandomQuote() { + const randomIndex = Math.floor(Math.random() * quotes.length); + return quotes[randomIndex]; + } + + const quoteElement = document.getElementById("quote"); + quoteElement.innerHTML = `<i>${getRandomQuote()}</i>`; +}); +function updateClock() { + const clockElement = document.getElementById('clock'); + const now = new Date(); + const pstTime = new Date(now.toLocaleString("en-US", {timeZone: "America/Los_Angeles"})); + const hours = String(pstTime.getHours()).padStart(2, '0'); + const minutes = String(pstTime.getMinutes()).padStart(2, '0'); + const seconds = String(pstTime.getSeconds()).padStart(2, '0'); + const day = String(pstTime.getDate()).padStart(2, '0'); + const month = String(pstTime.getMonth() + 1).padStart(2, '0'); + const year = pstTime.getFullYear(); + let message = "good day!"; + if (pstTime.getHours() >= 0 && pstTime.getHours() < 7) { + message = "(its late for me)"; + } else if (pstTime.getHours() < 12) { + message = "its morning for me"; + } else if (pstTime.getHours() >= 12 && pstTime.getHours() < 18) { + message = "its afternoon for me"; + } else if (pstTime.getHours() >= 18) { + message = "evening rn for me"; + } + clockElement.innerHTML = `<span>${month}/${day}/${year} ${hours}:${minutes}:${seconds}</span> ` + message; +} + +document.addEventListener("DOMContentLoaded", () => { + const images = document.querySelectorAll(".random-float"); + const positions = []; + + images.forEach((img) => { + let randomTop, randomLeft; + let overlap; + + do { + overlap = false; + randomTop = Math.random() * 100; + randomLeft = Math.random() * 100; + if (randomTop > 30 && randomTop < 70) { + overlap = true; + } + if (randomLeft > 30 && randomLeft < 70) { + overlap = true; + } + positions.forEach(pos => { + const distance = Math.sqrt(Math.pow(randomTop - pos.top, 2) + Math.pow(randomLeft - pos.left, 2)); + if (distance < 10) { + overlap = true; + } + }); + } while (overlap); + + positions.push({ top: randomTop, left: randomLeft }); + + const randomDuration = Math.random() * 10 + 3; + + img.style.top = `${randomTop}%`; + img.style.left = `${randomLeft}%`; + img.style.animationDuration = `${randomDuration}s`; + }); +}); + +document.addEventListener('DOMContentLoaded', function() { + function fetchNowPlaying() { + fetch('https://a4.asurahosting.com/api/nowplaying_static/patchworkarchive.json') // Replace with the actual API endpoint + .then(response => response.json()) + .then(data => { + const nowPlaying = data.now_playing.song; + document.getElementById('song-title').textContent = nowPlaying.title; + document.getElementById('song-artist').textContent = nowPlaying.artist; + const songArt = document.getElementById('song-art'); + songArt.src = nowPlaying.art; + songArt.style.display = 'block'; + }) + .catch(error => { + console.error('Error fetching now playing data:', error); + }); + } + + fetchNowPlaying(); + setInterval(fetchNowPlaying, 60000); +}); + +setInterval(updateClock, 1000); +updateClock(); |
