diff --git a/main.js b/main.js index a469782..41e8a90 100644 --- a/main.js +++ b/main.js @@ -13,26 +13,36 @@ const countdown = (target, heading) => { timeleft.minutes = Math.trunc(diff%day%hour/minute); timeleft.seconds = Math.trunc(diff%day%hour%minute/second); - const formatted = Object.keys(timeleft).map((unit) => { + const formatted = Object.keys(timeleft).map(unit => { // retrieve value, cast it to string and optionally pad it with a leading 0 return timeleft[unit] .toString() .padStart(2, '0'); }); - return ` + if (heading === 1 || formatted.filter(timespan => timespan.substr(0, 1) == '-').length === 0) { + return ` ${formatted[0]} Days ${formatted[1]} Hours ${formatted[2]} Minutes ${formatted[3]} Seconds `; + } }; -const hash_date = new Date(location.hash.substr(1)) +const hash_date = new Date(location.hash.substr(1)); const update_all = () => { - let i = 1 - const date_list = location.hash.split('#').slice(1).map((fragment) => {return new Date(fragment)}) - document.getElementById('output').innerHTML = countdown(date_list[0], i); + let i = 0; + const curDate = new Date(); + + document.body.innerHTML = location + .hash + .split('#') + .slice(1) + .map(fragment => new Date(fragment)) + .sort((a, b) => b - a) + .map(date => countdown(date, ++i)) + .join(''); } update_all(); setInterval(update_all, 500);