70 lines
3.2 KiB
JavaScript
70 lines
3.2 KiB
JavaScript
function setBackgroundImage(currentSeason) {
|
|
// Randomly select a background appropriate for the season
|
|
let selectedBackground = userBackgrounds[currentSeason][Math.floor(Math.random() * userBackgrounds[currentSeason].length)];
|
|
document.body.style.backgroundImage = `url(images/${currentSeason}/backgrounds/${selectedBackground}.jpg)`;
|
|
|
|
// Art credit
|
|
document.body.alt = `Image courtesy of ${selectedBackground.slice(0, -2)}`;
|
|
console.log(`Background image courtesy of ${selectedBackground.slice(0, -2)}`);
|
|
}
|
|
|
|
function setSeasonal(currentSeason, nextSeason) {
|
|
document.title = "It's " + currentSeason + " in Horizon";
|
|
document.getElementById("season-splash").src = `images/${currentSeason}/${currentSeason}-splash.svg`;
|
|
document.getElementById("countdown-title").textContent = nextSeason + " starts in";
|
|
|
|
setBackgroundImage(currentSeason);
|
|
}
|
|
|
|
function setCountdown(days, hours, minutes, seconds) {
|
|
// Set all the times
|
|
document.getElementById("days").textContent = days;
|
|
document.getElementById("hours").textContent = hours;
|
|
document.getElementById("minutes").textContent = minutes;
|
|
// Pad the seconds to two digits
|
|
document.getElementById("seconds").textContent = (seconds > 9) ? seconds : ("0" + seconds);
|
|
|
|
// Hide the days if there are zero full days left
|
|
if (days === 0) {
|
|
document.getElementById("days").style.display = "none";
|
|
document.getElementById("days-label").style.display = "none";
|
|
} else {
|
|
document.getElementById("days").style.display = "";
|
|
document.getElementById("days-label").style.display = "";
|
|
}
|
|
|
|
// Hide the hours if there are zero full hours AND days left
|
|
if (hours === 0 && days === 0) {
|
|
document.getElementById("hours").style.display = "none";
|
|
document.getElementById("hours-label").style.display = "none";
|
|
} else {
|
|
document.getElementById("hours").style.display = "";
|
|
document.getElementById("hours-label").style.display = "";
|
|
}
|
|
|
|
// Hide the minutes if there are zero full minutes, hours, AND days left
|
|
if (minutes === 0 && hours === 0 && days === 0) {
|
|
document.getElementById("minutes").style.display = "none";
|
|
document.getElementById("minutes-label").style.display = "none";
|
|
} else {
|
|
document.getElementById("minutes").style.display = "";
|
|
document.getElementById("minutes-label").style.display = "";
|
|
}
|
|
|
|
if (days === 0 && hours === 0) {
|
|
// If there are no full hours or days left, show the seconds
|
|
document.getElementById("seconds").style.display = "";
|
|
document.getElementById("seconds-label").style.display = "";
|
|
|
|
// If there are also no minutes left, show the full "seconds" label
|
|
if (minutes === 0) {
|
|
document.getElementById("seconds-label").textContent = "SECONDS";
|
|
} else {
|
|
document.getElementById("seconds-label").textContent = "S";
|
|
}
|
|
} else {
|
|
document.getElementById("seconds").style.display = "none";
|
|
document.getElementById("seconds-label").style.display = "none";
|
|
}
|
|
}
|