]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/components/Header.svelte
when navigating search to reverse page, keep the map position (#114)
[nominatim-ui.git] / src / components / Header.svelte
index 06f3bd4aa6c06f936ecdb16caca60951a01e63e2..514fe20519ec992827aff9a41b9bcf5e1fde94a3 100644 (file)
@@ -2,11 +2,24 @@
   import PageLink from './PageLink.svelte';
   import ReverseLink from './ReverseLink.svelte';
   import LastUpdated from './LastUpdated.svelte';
+  import Error from './Error.svelte';
 
-  import { page } from '../lib/stores.js';
-  import { get_config_value } from '../lib/config_reader.js';
+  import { map_store, page } from '../lib/stores.js';
 
   $: view = $page.tab;
+  $: page_title = Nominatim_Config.Page_Title;
+
+  let map_lat;
+  let map_lon;
+
+  map_store.subscribe(map => {
+    if (!map) return;
+
+    map.on('move', function () {
+      map_lat = map.getCenter().lat;
+      map_lon = map.getCenter().lng;
+    });
+  });
 </script>
 
 <style>
@@ -55,7 +68,7 @@
     <div class="navbar-brand">
       <PageLink page="search">
         <img alt="logo" id="theme-logo" src="theme/logo.png" />
-        <h1>{get_config_value('Page_Title')}</h1>
+        <h1>{page_title}</h1>
       </PageLink>
     </div>
     <!-- Toggler (hamburger button) -->
       <!-- Left-aligned links -->
       <ul class="navbar-nav mr-auto">
         <li class="nav-item {view === 'search' ? 'active' : ''}">
-          <PageLink page="search" extra_classes="nav-link ">Search</PageLink>
+          <PageLink page="search" extra_classes="nav-link">Search</PageLink>
         </li>
         <li class="nav-item {view === 'reverse' ? 'active' : ''}">
-          <ReverseLink extra_classes="nav-link ">Reverse</ReverseLink>
+          <ReverseLink lat={map_lat} lon={map_lon} extra_classes="nav-link">Reverse</ReverseLink>
         </li>
         <li class="nav-item {view === 'details' ? 'active' : ''}">
-          <PageLink page="details" extra_classes="nav-link ">Search By ID</PageLink>
+          <PageLink page="details" extra_classes="nav-link">Search By ID</PageLink>
         </li>
       </ul>
     </div>
     <!-- Right aligned links -->
     <ul class="navbar-nav">
       <li class="nav-item {view === 'about' ? 'active' : ''}">
-        <PageLink page="about" extra_classes="nav-link ">About & Help</PageLink>
+        <PageLink page="about" extra_classes="nav-link">About & Help</PageLink>
       </li>
     </ul>
   </nav>
 <section class="search-section">
   <slot/>
 </section>
+<Error/>
 <LastUpdated/>