summaryrefslogtreecommitdiff
path: root/ka.js
diff options
context:
space:
mode:
authorMarin Ivanov <[email protected]>2024-08-20 15:36:06 +0300
committerMarin Ivanov <[email protected]>2024-08-20 15:36:06 +0300
commitda5fd96e5e9364a6ae26a9a2ffe5dad294d93ec7 (patch)
tree5f01e0d1cffe61500f2cd23108e5ea44705aaa2c /ka.js
parent0c24aba5dd6b7804ba63d596e3ae692fccb68e88 (diff)
fix hash handling
Diffstat (limited to 'ka.js')
-rw-r--r--ka.js19
1 files changed, 10 insertions, 9 deletions
diff --git a/ka.js b/ka.js
index b7f9d6a..09257c7 100644
--- a/ka.js
+++ b/ka.js
@@ -50,14 +50,15 @@ var img = (src) => tag("img", {src});
var input = (type) => tag("input", {type});
function router(root, routes, onreload) {
- function reload() {
- const h = doc.location.hash.substr(1) || "/";
- const r = h in routes ? h : "";
- root.replaceChildren(routes[r]());
- onreload && onreload(r);
- };
- reload();
- window.addEventListener("hashchange", reload);
- root.reload = reload;
+ function reload() {
+ const h = doc.location.hash || "#";
+ const p = h.substr(1) || "/";
+ const r = p in routes ? p : "";
+ root.replaceChildren(routes[r]());
+ onreload && onreload(h);
+ };
+ reload();
+ window.addEventListener("hashchange", reload);
+ root.reload = reload;
}