forked from partypages/party-template
32 lines
881 B
JavaScript
32 lines
881 B
JavaScript
let overridetime = undefined;
|
|
//overridetime = Date.now();
|
|
|
|
// Saturday at 23:00 UTC, the event starts
|
|
const startTime = overridetime ?? Date.parse('Sat, 29 Oct 2022 23:00:00');
|
|
|
|
const timeToOffset = (hours) => {
|
|
const speed1 = -10;
|
|
const speed2 = -31;
|
|
if (hours <= 0) return 0;
|
|
if (hours >= 25) return 24*speed1 + speed2;
|
|
if (hours <= 2) {
|
|
return hours * speed1;
|
|
} else if (hours > 2 && hours < 3) {
|
|
return 2*speed1 + (hours-2) * speed2;
|
|
} else {
|
|
return 2*speed1 + speed2 + (hours-3) * speed1;
|
|
}
|
|
};
|
|
|
|
const update = () => {
|
|
const now = Date.now();
|
|
const hoursPassed = (now-startTime) / 1000 / 3600;
|
|
// test speed here
|
|
const offset = timeToOffset(hoursPassed);
|
|
const timeline = document.getElementById("timeline");
|
|
timeline.style.strokeDashoffset = 314 + offset;
|
|
};
|
|
|
|
update();
|
|
setInterval(update, 50);
|