]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/components/PageLink.svelte
On /details page the map-position box was misaligned
[nominatim-ui.git] / src / components / PageLink.svelte
index d70c3f0c7c691aad2ed4855dbb441543391c3aca..df124f70e7e0a69e313e22712b76f02557e25fdb 100644 (file)
@@ -1,12 +1,19 @@
 <script>
-import { refresh_page } from '../lib/stores.js';
+  import { refresh_page } from '../lib/stores.js';
 
-export let page;
+  export let page;
+  export let params_hash = {};
+  export let extra_classes = '';
+  let href = page + '.html';
 
-function handleClick() {
-  window.history.pushState([], '', page + '.html');
-  refresh_page();
-}
+  function handleClick() {
+    refresh_page(page, new URLSearchParams(params_hash));
+  }
+
+  $: {
+    let param_str = new URLSearchParams(params_hash).toString();
+    href = page + '.html' + (param_str ? '?' : '') + param_str;
+  }
 </script>
 
-<a on:click|preventDefault|stopPropagation={handleClick} href="{page}.html"><slot></slot></a>
+<a on:click|preventDefault|stopPropagation={handleClick} href={href} class={extra_classes}><slot></slot></a>