66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
function main() {
|
|
refreshStatus();
|
|
setInterval(refreshStatus, 10000)
|
|
}
|
|
|
|
function refreshStatus() {
|
|
return fetch("/api/v1/status")
|
|
.then(res => res.json())
|
|
.then(res => {
|
|
const newStatus = document.createElement("tr")
|
|
newStatus.id = "status"
|
|
|
|
let td = document.createElement("td")
|
|
td.innerText = res.data.status
|
|
newStatus.appendChild(td)
|
|
|
|
td = document.createElement("td")
|
|
td.innerText = res.data.title
|
|
newStatus.appendChild(td)
|
|
|
|
td = document.createElement("td")
|
|
td.innerText = res.data.url
|
|
document.getElementById("url-input").placeholder = res.data.url
|
|
newStatus.appendChild(td)
|
|
|
|
document.getElementById("status").replaceWith(newStatus)
|
|
})
|
|
.catch(err => {
|
|
console.error(err);
|
|
window.location.reload()
|
|
})
|
|
}
|
|
|
|
function castUrl() {
|
|
const urlInput = document.getElementById("url-input")
|
|
const url = urlInput.value
|
|
if (url === "") return Promise.resolve()
|
|
return fetch("/api/v1/cast", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json"
|
|
},
|
|
body: JSON.stringify({
|
|
"url": url,
|
|
})
|
|
})
|
|
.then(res => res.json())
|
|
.then(() => refreshStatus())
|
|
.then(() => {
|
|
urlInput.value = ""
|
|
})
|
|
}
|
|
|
|
function reset() {
|
|
const urlInput = document.getElementById("url-input")
|
|
return fetch("/api/v1/cast", {
|
|
method: "DELETE",
|
|
})
|
|
.then(res => res.json())
|
|
.then(() => refreshStatus())
|
|
.then(() => {
|
|
urlInput.value = ""
|
|
})
|
|
}
|
|
|
|
main() |