aboutsummaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-10-28 22:38:46 +0200
committermetamuffin <metamuffin@disroot.org>2023-10-28 22:38:46 +0200
commit421d2843a64ba3f94e773b4ea50238bbf94c742e (patch)
tree36f3c31c4f6d53d67cc13750145cd7455420d973 /web
parent200db4e9dca32de6f01cc88ed88971a817b08aff (diff)
downloadjellything-421d2843a64ba3f94e773b4ea50238bbf94c742e.tar
jellything-421d2843a64ba3f94e773b4ea50238bbf94c742e.tar.bz2
jellything-421d2843a64ba3f94e773b4ea50238bbf94c742e.tar.zst
no spinner on error
Diffstat (limited to 'web')
-rw-r--r--web/script/transition.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/web/script/transition.ts b/web/script/transition.ts
index 9b00523..6c7df14 100644
--- a/web/script/transition.ts
+++ b/web/script/transition.ts
@@ -39,6 +39,8 @@ async function transition_to(href: string, back?: boolean) {
}
function show_error(mesg: string) {
+ if (spinner_timeout) clearTimeout(spinner_timeout)
+ if (spinner_element) spinner_element.remove()
document.body.append(e("span", { class: "jst-error" }, mesg))
}
@@ -58,11 +60,13 @@ function prepare_load(href: string, back?: boolean) {
if (!back) window.history.pushState({}, "", href)
document.head.innerHTML = head
document.body.outerHTML = body
+ spinner_timeout = spinner_element = undefined
globalThis.dispatchEvent(new Event("DOMContentLoaded"))
fade(true)
}
}
+let spinner_timeout: number | undefined, spinner_element: HTMLElement | undefined;
function fade(dir: boolean) {
const overlay = document.createElement("div")
overlay.classList.add("jst-fade")
@@ -74,8 +78,8 @@ function fade(dir: boolean) {
return new Promise<void>(res => {
setTimeout(() => {
if (dir) document.body.removeChild(overlay)
- setTimeout(() => {
- overlay.append(e("div", { class: "jst-spinner" }, "This is a spinner."))
+ spinner_timeout = setTimeout(() => {
+ overlay.append(spinner_element = e("div", { class: "jst-spinner" }, "This is a spinner."))
}, 500)
res()
}, duration)