@@ -86,8 +69,27 @@
+ {#if lastVisitLabel && nextVisitLabel}
+
+
+ last visit {lastVisitLabel}
+
+
+ ·
+
+ next visit {nextVisitLabel}
+
+
+
+ {/if}
+
@@ -95,18 +97,25 @@
airlines
- ·
-
-
- {distinctRoutes}
+
+ ·
+
+
+ {distinctRoutes}
+
+ routes
- routes
- {#if lastVisitLabel}
- ·
- last visit {lastVisitLabel}
+ {#if Boolean(lastVisitLabel) !== Boolean(nextVisitLabel)}
+
+ ·
+
+ {lastVisitLabel ? 'last' : 'next'} visit
+
+ {lastVisitLabel ?? nextVisitLabel}
+
+
+
{/if}
diff --git a/src/lib/components/airport-details/AirportTimeCard.svelte b/src/lib/components/airport-details/AirportTimeCard.svelte
index 96234045..e68ac694 100644
--- a/src/lib/components/airport-details/AirportTimeCard.svelte
+++ b/src/lib/components/airport-details/AirportTimeCard.svelte
@@ -4,18 +4,10 @@
import { page } from '$app/state';
import { formatTime, getPreferences } from '$lib/utils/preferences';
- let { tz }: { tz?: string | null } = $props();
+ let { tz, now }: { tz?: string | null; now: Date } = $props();
const prefs = $derived(getPreferences(page.data.user));
- let now = $state(new Date());
- $effect(() => {
- const id = setInterval(() => {
- now = new Date();
- }, 30_000);
- return () => clearInterval(id);
- });
-
const resolvedTz = $derived(tz ?? 'UTC');
const localTime = $derived(formatTime(now, prefs, resolvedTz));
diff --git a/src/lib/components/map-details/AirportDetailsBody.svelte b/src/lib/components/map-details/AirportDetailsBody.svelte
index 72923555..238b8c0f 100644
--- a/src/lib/components/map-details/AirportDetailsBody.svelte
+++ b/src/lib/components/map-details/AirportDetailsBody.svelte
@@ -18,14 +18,21 @@
onShowDepartures: (flightId?: number) => void;
onShowArrivals: (flightId?: number) => void;
} = $props();
+
+ let now = $state(new Date());
+ $effect(() => {
+ const id = setInterval(() => (now = new Date()), 30_000);
+ return () => clearInterval(id);
+ });