Add experimental day view
This commit is contained in:
parent
4d8cee17df
commit
0094534b31
5 changed files with 79 additions and 14 deletions
|
@ -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])
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue