From 5e66e34fa02f1b8eec585b2c5d9439a8d88792d8 2024-01-05 02:18:44 From: x Date: 2024-01-05 02:18:44 Subject: [PATCH] feat: support POSIX times --- diff --git a/frontend/data.json b/frontend/data.json index cffb009d36b0aef52e40897f11e9ab0d92355e69..1966acb2a76add66e9462097a9a00aa3283c117f 100644 --- a/frontend/data.json +++ b/frontend/data.json @@ -2,16 +2,15 @@ "incidents": [ { "domain": "c3l.lu", - "date": 3 + "date": 1704157217 }, { "domain": "social.c3l.lu", - "date": 5 + "date": 1704070817 }, { "domain": "mail.c3l.lu", - "date": 10 + "date": 1703552417 } ] - } - \ No newline at end of file +} diff --git a/frontend/script.js b/frontend/script.js index bbf0c4b3f593691d2332db41af8750bec9c4caff..6efe3720f23ddbdd9cca21e0d05204b5a1c6636e 100644 --- a/frontend/script.js +++ b/frontend/script.js @@ -1,4 +1,11 @@ +function getDateDifference(datePosix) { + const difference = Date.now() - (datePosix * 1000); + const days = Math.floor(difference / (1000 * 3600 * 24)); + return days.toString(); +} + function generateTable(data) { + try { const tableBody = document.createElement("tbody"); tableBody.classList.add("logs__tbody"); @@ -14,7 +21,8 @@ function generateTable(data) { const date = document.createElement("td"); date.classList.add("logs__item__date"); - const dateText = document.createTextNode(data[i].date + " days ago"); + const dateData = getDateDifference(data[i].date); + const dateText = document.createTextNode(dateData + " days ago"); date.appendChild(dateText); row.appendChild(date); @@ -25,22 +33,27 @@ function generateTable(data) { table.classList.add("logs__table"); table.appendChild(tableBody); document.getElementById("logs").appendChild(table); + } catch (e) {} } -function setLowestDate(data) { +function setRecentDate(data) { console.log(data); - const lowestDate = data.reduce((minNum, expiredEntry) => { - return Math.min(expiredEntry.date, minNum) - }, Infinity); + let mostRecentDate = 0; + try { + mostRecentDate = data.reduce((maxNum, expiredEntry) => { + return Math.max(expiredEntry.date, maxNum) + }, 0); + } catch (e) {} - console.log(lowestDate); + if(mostRecentDate === 0) mostRecentDate = "∞"; + else mostRecentDate = getDateDifference(mostRecentDate); - document.getElementById("time__tls").innerHTML = lowestDate; + document.getElementById("time__tls").innerHTML = mostRecentDate; } fetch("data.json") .then(res => res.json()) .then(data => { generateTable(data.incidents); - setLowestDate(data.incidents); + setRecentDate(data.incidents); }); \ No newline at end of file