Changeset - 5e66e34fa02f
[Not reviewed]
0 2 0
x - 15 months ago 2024-01-05 02:18:44
xbr@c3l.lu
feat: support POSIX times
2 files changed with 25 insertions and 13 deletions:
0 comments (0 inline, 0 general)
frontend/data.json
Show inline comments
 
@@ -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
 
}
frontend/script.js
Show inline comments
 
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
0 comments (0 inline, 0 general)