aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-21 23:38:29 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-21 23:38:29 +0100
commitf4e589b7f824837e4ae5e86e124b6e7f9e5eacc7 (patch)
treede1ba2cfbc1fe91b9b73491ab507a817bb43a6af /server/src
parentd80bdf60b1b68fee752b7dfca4b89231015987ff (diff)
downloadjellything-f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7.tar
jellything-f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7.tar.bz2
jellything-f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7.tar.zst
handle popstate
Diffstat (limited to 'server/src')
-rw-r--r--server/src/routes/ui/style/transition.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/server/src/routes/ui/style/transition.js b/server/src/routes/ui/style/transition.js
index 5ee7f80..dd2d319 100644
--- a/server/src/routes/ui/style/transition.js
+++ b/server/src/routes/ui/style/transition.js
@@ -5,17 +5,25 @@ globalThis.addEventListener("load", () => {
patch_page()
})
+globalThis.addEventListener("popstate", ev => {
+ transition_to(window.location.href)
+})
+
function patch_page() {
document.querySelectorAll("a").forEach(el => {
el.addEventListener("click", async ev => {
ev.preventDefault()
- const trigger_load = prepare_load(el.href)
- await fade(false)
- trigger_load()
+ await transition_to(el.href)
})
})
}
+async function transition_to(href) {
+ const trigger_load = prepare_load(href)
+ await fade(false)
+ trigger_load()
+}
+
function prepare_load(href) {
const r_promise = fetch(href)
return async () => {