Add experimental day view

This commit is contained in:
Andrew-71 2024-03-27 11:51:33 +03:00
parent 4d8cee17df
commit 0094534b31
5 changed files with 79 additions and 14 deletions

View file

@ -1,8 +1,17 @@
function formatDate(date) {
let dateFormat = new Intl.DateTimeFormat('en', {
year: 'numeric',
month: 'short',
day: 'numeric'
})
return dateFormat.format(Date.parse(date))
}
// Set today's date
function updateDate() {
let todayDate = new Date()
let timeField = document.getElementById("today-date")
timeField.innerText = todayDate.toISOString().split('T')[0]
timeField.innerText = formatDate(todayDate.toISOString().split('T')[0])
}

View file

@ -9,11 +9,7 @@ async function postData(url = "", data = "") {
referrerPolicy: "no-referrer",
body: data,
});
if (response.ok) {
return response.text();
} else {
return response.status
}
return response
}
async function getData(url = "", data = "") {
@ -35,7 +31,7 @@ async function getData(url = "", data = "") {
function saveLog() {
let logField = document.getElementById("log")
postData("/api/log", logField.value).then((data) => {
if (data !== 500) {
if (data.ok) {
logField.value = ""
}
});
@ -44,7 +40,9 @@ function saveLog() {
function saveToday() {
let logField = document.getElementById("day")
postData("/api/today", logField.value).then((data) => {
console.log(data);
if (!data.ok) {
alert(`Error saving: ${data.text()}`)
}
});
}
function loadToday() {
@ -53,10 +51,10 @@ function loadToday() {
if (data === 404) {
dayField.value = ""
} else if (data === 401) {
dayField.enabled = false
dayField.readOnly = true
dayField.value = "Unauthorized"
} else if (data === 500) {
dayField.enabled = false
dayField.readOnly = true
dayField.value = "Internal server error"
} else {
dayField.value = data
@ -76,9 +74,31 @@ function loadPrevious() {
data = JSON.parse(data).reverse() // Reverse: latest days first
for (let i in data) {
let li = document.createElement("li");
li.innerHTML = `<a href="/api/day/${data[i]}">${data[i]}</a>`
li.innerHTML = `<a href="/day?d=${data[i]}">${formatDate(data[i])}</a>` // Parse to human-readable
daysField.appendChild(li);
}
}
});
}
function loadDay() {
const urlParams = new URLSearchParams(window.location.search);
const day = urlParams.get('d');
let dayTag = document.getElementById("daytag")
dayTag.innerText = formatDate(day)
let dayField = document.getElementById("day")
getData("/api/day/" + day, "").then((data) => {
if (data === 404) {
dayField.value = ""
} else if (data === 401) {
dayField.value = "Unauthorized"
} else if (data === 500) {
dayField.value = "Internal server error"
} else {
dayField.value = data
}
});
dayField.readOnly = true
}