Add basic deadline to sections index

This commit is contained in:
Charlotte Van Petegem 2025-05-25 21:54:34 +02:00
parent 782355322e
commit f4106b9fb6
Signed by: chvp
SSH key fingerprint: SHA256:s9rb8jBVfdahqWHuBAcHCBP1wmj4eYQXZfqgz4H3E9E
15 changed files with 175 additions and 1 deletions

View file

@ -0,0 +1,27 @@
export default function initDeadlineDisplay() {
document.querySelectorAll('[data-behaviour="deadline_display"]').forEach((span) => {
const deadline = new Date(span.dataset.deadline)
function update() {
const remaining = Math.floor((deadline - new Date()) / 1000)
const days = Math.floor(remaining / (60 * 60 * 24))
const hours = Math.floor((remaining % (60 * 60 * 24)) / (60 * 60))
const minutes = Math.floor((remaining % (60 * 60)) / 60)
const seconds = remaining % 60
let remainingText = ""
if (days > 0) {
remainingText += `${days} dagen, `
}
if (days > 0 || hours > 0) {
remainingText += `${hours} uren, `
}
if (days > 0 || hours > 0 || minutes > 0) {
remainingText += `${minutes} minuten en `
}
remainingText += `${seconds} seconden`
span.innerText = remainingText
}
setInterval(update, 200)
})
}