2024-05-28 18:33:32 -05:00
|
|
|
function rain() {
|
|
|
|
var html = ""
|
|
|
|
|
2024-05-30 21:42:30 -05:00
|
|
|
html += `<link rel="stylesheet" type="text/css" href="/themes/rain.css">`
|
2024-06-23 16:09:39 -05:00
|
|
|
html += `<div class="rainStuff"><div class="rainContainer">`
|
2024-05-28 18:33:32 -05:00
|
|
|
|
|
|
|
var amount = 7
|
|
|
|
|
|
|
|
for (let index = 0; index < amount; index++) {
|
|
|
|
html += `<div class="rainDrop"></div>`
|
|
|
|
}
|
|
|
|
html += "<style>"
|
|
|
|
for (let index = 0; index < amount; index++) {
|
|
|
|
html += `
|
|
|
|
.rainDrop:nth-of-type(${index + 1}) {
|
2024-06-23 16:09:39 -05:00
|
|
|
animation: rainAnim${index} ${((Math.round(Math.random() * 10) / 10) * 0.3) + 0.6}s linear;
|
|
|
|
animation-delay: ${Math.round(Math.random() * 200) / 100}s;
|
2024-05-28 18:33:32 -05:00
|
|
|
animation-iteration-count: infinite;
|
2024-06-23 16:09:39 -05:00
|
|
|
animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
|
2024-05-28 18:33:32 -05:00
|
|
|
}
|
|
|
|
`
|
2024-06-23 16:09:39 -05:00
|
|
|
|
|
|
|
var pos = 0
|
|
|
|
|
|
|
|
if (index % 2 == 0) {
|
|
|
|
pos = Math.random() * 30
|
|
|
|
} else {
|
|
|
|
pos = (Math.random() * 30) + 70
|
2024-05-28 18:33:32 -05:00
|
|
|
}
|
|
|
|
|
2024-06-23 16:09:39 -05:00
|
|
|
pos = Math.round(pos)
|
2024-05-28 18:33:32 -05:00
|
|
|
|
2024-06-23 16:09:39 -05:00
|
|
|
html += `@keyframes rainAnim${index} { `
|
2024-05-28 18:33:32 -05:00
|
|
|
html += `
|
2024-06-23 16:09:39 -05:00
|
|
|
0% {
|
|
|
|
top: -20vh;
|
|
|
|
right: ${pos}%;
|
|
|
|
visibility: visible;
|
2024-05-28 18:33:32 -05:00
|
|
|
}
|
|
|
|
|
2024-06-23 16:09:39 -05:00
|
|
|
90% {
|
|
|
|
top: 110vh;
|
|
|
|
right: ${pos}%;
|
2024-05-28 18:33:32 -05:00
|
|
|
visibility: visible;
|
|
|
|
}
|
2024-06-23 16:09:39 -05:00
|
|
|
90.1% {
|
|
|
|
visibility: hidden;
|
2024-05-28 18:33:32 -05:00
|
|
|
}
|
2024-06-23 16:09:39 -05:00
|
|
|
`
|
2024-05-28 18:33:32 -05:00
|
|
|
|
|
|
|
html += `}`
|
|
|
|
|
|
|
|
}
|
|
|
|
html += "</style>"
|
|
|
|
html += "</div></div>"
|
|
|
|
|
|
|
|
return html
|
|
|
|
}
|
|
|
|
|
2024-06-23 19:03:11 -05:00
|
|
|
function purpleMagic() {
|
|
|
|
var html = ""
|
|
|
|
|
|
|
|
html += `<link rel="stylesheet" type="text/css" href="/themes/purpleMagic.css">`
|
|
|
|
html += `<div class="magicStuff"><div class="magicContainer">`
|
|
|
|
|
|
|
|
var amount = 30
|
|
|
|
|
|
|
|
for (let index = 0; index < amount; index++) {
|
|
|
|
html += `<div class="particle"></div>`
|
|
|
|
}
|
|
|
|
html += "<style>"
|
|
|
|
for (let index = 0; index < amount; index++) {
|
|
|
|
html += `
|
|
|
|
.particle:nth-of-type(${index + 1}) {
|
|
|
|
animation: magic${index} ${((Math.round(Math.random() * 10) / 10) * 0.3) + 20}s linear, sway 4s cubic-bezier(0.445, 0.05, 0.55, 0.95) alternate;
|
|
|
|
animation-delay: ${Math.round(Math.random() * 100) / 100 * 20}s;
|
|
|
|
animation-iteration-count: infinite;
|
|
|
|
|
|
|
|
}
|
|
|
|
`
|
|
|
|
|
|
|
|
var pos = Math.round(Math.random() * 100)
|
|
|
|
|
|
|
|
html += `@keyframes magic${index} { `
|
|
|
|
|
|
|
|
html += `
|
|
|
|
0% {
|
|
|
|
top: 110vh;
|
|
|
|
right: ${pos}%;
|
|
|
|
visibility: visible;
|
|
|
|
}
|
2024-05-28 18:33:32 -05:00
|
|
|
|
2024-06-23 19:03:11 -05:00
|
|
|
90% {
|
|
|
|
top: -10vh;
|
|
|
|
right: ${pos}%;
|
|
|
|
visibility: visible;
|
|
|
|
}
|
|
|
|
90.1% {
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
`
|
|
|
|
|
|
|
|
html += `}`
|
|
|
|
|
|
|
|
}
|
|
|
|
html += "</style>"
|
|
|
|
html += "</div></div>"
|
|
|
|
|
|
|
|
return html
|
2024-05-28 18:33:32 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
var events = [
|
|
|
|
rain(),
|
2024-06-23 19:03:11 -05:00
|
|
|
purpleMagic(),
|
2024-05-28 18:33:32 -05:00
|
|
|
"",
|
|
|
|
]
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
|
|
|
|
returnTheme: function() {
|
|
|
|
var time = new Date()
|
2024-06-23 19:06:49 -05:00
|
|
|
return events[time.getDate() % events.length]
|
2024-05-28 18:33:32 -05:00
|
|
|
},
|
|
|
|
|
|
|
|
}
|