]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/components/DetailsOneRow.svelte
svelte 4.x => 5.0
[nominatim-ui.git] / src / components / DetailsOneRow.svelte
index 1ab566d57f70101595daa78bf8c84ad8f9ee1736..8ba3769b7b76188b1176485704be2e9dcd0c9a7b 100644 (file)
@@ -1,19 +1,21 @@
 <script>
   import DetailsLink from '../components/DetailsLink.svelte';
 <script>
   import DetailsLink from '../components/DetailsLink.svelte';
+  import PageLink from '../components/PageLink.svelte';
+  import {
+    formatPlaceType, osmLink, formatAdminLevel, formatDistance
+  } from '../lib/helpers.js';
 
   export let addressLine;
   export let bDistanceInMeters;
 
   export let addressLine;
   export let bDistanceInMeters;
+  export let bMarkUnusedLines = false;
+  export let sCountryCode;
 
   $: bAddressLineUsed = addressLine.isaddress;
 
   $: bAddressLineUsed = addressLine.isaddress;
-
-  import {
-    formatPlaceType, osmLink, formatAdminLevel, formatDistance
-  } from '../lib/helpers.js';
-
+  $: reverse_only = Nominatim_Config.Reverse_Only;
 </script>
 
 </script>
 
-<tr class:notused={!bAddressLineUsed}>
-  <td class="name">
+<tr class:notused={bMarkUnusedLines && !bAddressLineUsed}>
+  <td class="name fw-bold">
     {#if addressLine.localname}
       {addressLine.localname}
     {:else}
     {#if addressLine.localname}
       {addressLine.localname}
     {:else}
     {/if}
   </td>
   <td>{formatPlaceType(addressLine)}</td>
     {/if}
   </td>
   <td>{formatPlaceType(addressLine)}</td>
+  <!-- eslint-disable-next-line svelte/no-at-html-tags -->
   <td>{@html osmLink(addressLine)}</td>
   <td>{addressLine.rank_address}</td>
   <td>{formatAdminLevel(addressLine.admin_level)}</td>
   <td>{@html osmLink(addressLine)}</td>
   <td>{addressLine.rank_address}</td>
   <td>{formatAdminLevel(addressLine.admin_level)}</td>
+  <!-- eslint-disable-next-line svelte/no-at-html-tags -->
   <td>{@html formatDistance(addressLine.distance, bDistanceInMeters)}</td>
   <td>{@html formatDistance(addressLine.distance, bDistanceInMeters)}</td>
-  <td>{#if addressLine.osm_id}<DetailsLink feature={addressLine}>details</DetailsLink>{/if}</td>
+  <td>
+    {#if addressLine.osm_id}
+      <DetailsLink feature={addressLine}>
+        details
+      </DetailsLink>
+    {:else if !reverse_only && addressLine.type.match(/^country/)}
+      <PageLink page='search' params_hash={{ country: addressLine.localname }}>
+        search by name
+      </PageLink>
+    {:else if !reverse_only && addressLine.type === 'postcode'}
+      <PageLink page='search'
+                params_hash={{ postalcode: addressLine.localname, country: sCountryCode }}>
+        search by name
+      </PageLink>
+    {/if}
+  </td>
 </tr>
 
 <style>
 </tr>
 
 <style>
-  .notused {
-    color:#ddd;
-  }
-  .name{
-    font-weight: bold;
+  .notused td {
+    color: #ccc;
   }
   }
-  .noname{
-    color:#800;
+
+  td {
+    padding: 2px 8px;
+    font-size: 0.9em;
   }
 </style>
   }
 </style>