2 import { onMount } from 'svelte';
3 import PageLink from './PageLink.svelte';
4 import * as timeago from 'timeago.js';
5 import { appState } from '../state/AppState.svelte.js';
7 let last_updated_date = $state();
9 let last_api_request_url = $derived.by(() => {
10 const url = appState.lastApiRequestURL;
13 const urlobj = new URL(url, window.location.origin);
14 urlobj.searchParams.delete('polygon_geojson');
15 return urlobj.toString();
20 appState.fetchFromApi('status', { format: 'json' }, function (data) {
21 last_updated_date = data.data_updated;
39 background-color: var(--bs-primary-bg-subtle);
44 <div id="last-updated" class="container-fluid py-2 px-4 mb-3">
47 style:display={appState.requestProgress === 'start' ? 'block' : 'none'}>
48 <div class="spinner-border spinner-border-sm text-primary me-1" role="status"></div>
49 Loading data from API ...
52 <div class="col-sm-6">
53 {#if last_api_request_url}
54 <div id="api-request">
55 Data from <a href="{last_api_request_url}">API request</a>
56 <span id="api-request-debug">
57 (<a href="{last_api_request_url}&debug=1">debug output</a>)
62 <div class="col-sm-6 text-end">
63 {#if last_updated_date}
65 <abbr id="data-date" title="{last_updated_date} (UTC timezone)">
66 {timeago.format(new Date(last_updated_date))}
69 (<PageLink page="status" text="Details" />)