diff options
author | metamuffin <metamuffin@disroot.org> | 2023-01-21 23:38:29 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-01-21 23:38:29 +0100 |
commit | f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7 (patch) | |
tree | de1ba2cfbc1fe91b9b73491ab507a817bb43a6af /server/src/routes/ui | |
parent | d80bdf60b1b68fee752b7dfca4b89231015987ff (diff) | |
download | jellything-f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7.tar jellything-f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7.tar.bz2 jellything-f4e589b7f824837e4ae5e86e124b6e7f9e5eacc7.tar.zst |
handle popstate
Diffstat (limited to 'server/src/routes/ui')
-rw-r--r-- | server/src/routes/ui/style/transition.js | 14 |
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 () => { |