]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/components/PageLink.svelte
cut lines at 100, spacing changes for linter
[nominatim-ui.git] / src / components / PageLink.svelte
index d70c3f0c7c691aad2ed4855dbb441543391c3aca..0e2920aaa04e97fe305be07e0b814ec81c3e95c6 100644 (file)
@@ -1,12 +1,21 @@
 <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>