]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/components/PageLink.svelte
svelte 4.x => 5.0
[nominatim-ui.git] / src / components / PageLink.svelte
index bccddf2bb9056c988888274efcb3628dc0e6a837..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 extra_classes = '';
+  export let page;
+  export let params_hash = {};
+  export let extra_classes = '';
+  let href = page + '.html';
 
-function handleClick() {
-  refresh_page(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" class={extra_classes}><slot></slot></a>
+<a on:click|preventDefault|stopPropagation={handleClick} href={href} class={extra_classes}>
+  <slot></slot>
+</a>