aboutsummaryrefslogtreecommitdiff
path: root/frontend/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/index.ts')
-rw-r--r--frontend/index.ts55
1 files changed, 28 insertions, 27 deletions
diff --git a/frontend/index.ts b/frontend/index.ts
index a00854f..61215cf 100644
--- a/frontend/index.ts
+++ b/frontend/index.ts
@@ -3,35 +3,36 @@ import htmx from "htmx.org";
htmx.config.historyRestoreAsHxRequest = false;
function setupAnchors() {
- document.querySelectorAll("a").forEach(e => {
- // stuff related to external links are already handled in the backend
- if (!e.href.startsWith(window.location.origin) && /https?:\/\//.test(e.href)) return;
- if (e.href == window.location.href) e.classList.add("target");
- else e.classList.remove("target");
- if (e.hasAttribute("hx-trigger")) return;
- e.setAttribute("hx-get", e.href)
- e.setAttribute("hx-trigger", "click")
- e.setAttribute("hx-target", "#content")
- e.setAttribute("hx-swap", "outerHTML show:body:top")
- htmx.process(e)
- });
+ document.querySelectorAll("a").forEach((e) => {
+ // stuff related to external links are already handled in the backend
+ if (!e.href.startsWith(window.location.origin) && /https?:\/\//.test(e.href)) return;
+ if (e.href == window.location.href) e.classList.add("target");
+ else e.classList.remove("target");
+ if (e.hasAttribute("hx-trigger")) return;
+ e.setAttribute("hx-get", e.href);
+ e.setAttribute("hx-trigger", "click");
+ e.setAttribute("hx-target", "#content");
+ e.setAttribute("hx-swap", "outerHTML show:body:top");
+ htmx.process(e);
+ });
}
// updating history and window title
-document.addEventListener("htmx:afterSettle", e => {
- if (e.detail.xhr === undefined) return
- const title = e.detail.xhr.getResponseHeader("Updated-Title")
- if (title?.length !== 0) document.title = decodeURIComponent(title).replaceAll("+", " ")
- const quote = e.detail.xhr.getResponseHeader("Updated-Quote")
- if (quote?.length !== 0)
- document.querySelector("#quote")!.innerHTML = "« " + decodeURIComponent(quote).replaceAll("+", " ") + " »"
- setupAnchors()
-})
+document.addEventListener("htmx:afterSettle", (e) => {
+ if (e.detail.xhr === undefined) return;
+ const title = e.detail.xhr.getResponseHeader("Updated-Title");
+ if (title?.length !== 0) document.title = decodeURIComponent(title).replaceAll("+", " ");
+ const quote = e.detail.xhr.getResponseHeader("Updated-Quote");
+ if (quote?.length !== 0)
+ document.querySelector("#quote")!.innerHTML =
+ "« " + decodeURIComponent(quote).replaceAll("+", " ") + " »";
+ setupAnchors();
+});
-document.body.addEventListener('htmx:beforeSwap', function(e) {
- if(e.detail.xhr.status !== 404) return
- e.detail.shouldSwap = true;
- e.detail.isError = false;
-})
+document.body.addEventListener("htmx:beforeSwap", function (e) {
+ if (e.detail.xhr.status !== 404) return;
+ e.detail.shouldSwap = true;
+ e.detail.isError = false;
+});
-setupAnchors()
+setupAnchors();