diff options
author | metamuffin <metamuffin@disroot.org> | 2023-07-25 15:20:23 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-07-25 15:20:23 +0200 |
commit | 5acb70a706a6f847ee14a31c1785fdd1d5c16e8f (patch) | |
tree | dc97224b251380ff042ad8b5756c73da665da1e3 /frontend/main.ts | |
parent | 000a322561f0da39d351649da790521731640fad (diff) | |
download | fastbangs-5acb70a706a6f847ee14a31c1785fdd1d5c16e8f.tar fastbangs-5acb70a706a6f847ee14a31c1785fdd1d5c16e8f.tar.bz2 fastbangs-5acb70a706a6f847ee14a31c1785fdd1d5c16e8f.tar.zst |
clear page onhashchange and add link via dom
Diffstat (limited to 'frontend/main.ts')
-rw-r--r-- | frontend/main.ts | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/frontend/main.ts b/frontend/main.ts index ad77f6f..b74f539 100644 --- a/frontend/main.ts +++ b/frontend/main.ts @@ -8,7 +8,7 @@ globalThis.addEventListener("hashchange", () => process_url()) globalThis.addEventListener("load", async () => { status_el = document.createElement("p") document.body.append(status_el) - + const bangs_res = await fetch("/bangs.json") if (!bangs_res.ok) document.writeln("error: could not download bangs.json") bangs = await bangs_res.json() @@ -16,10 +16,22 @@ globalThis.addEventListener("load", async () => { }) function setup_page(engine?: string) { + document.getElementById("content")?.remove() const section = document.createElement("section") + section.id = "content" if (engine) { - document.head.innerHTML += `<link rel="search" type="application/opensearchdescription+xml" title="laufente" href="todo" />` + if (document.getElementById("search-link")) { + // <link /> is already present, we need reload because browser wont notice otherwise + window.location.reload() + } + const link = document.createElement("link") + link.rel = "search" + link.id = "search-link" + link.type = "application/opensearchdescription+xml" + link.href = `/search.xml?default=${encodeURIComponent(engine)}` + link.title = `Laufente (defaults engine: ${engine})` + document.head.append(link) const heading = document.createElement("h1") heading.textContent = engine |