diff --git a/langs/en.json b/langs/en.json index 1c368e3f5c..f9fbf3379f 100644 --- a/langs/en.json +++ b/langs/en.json @@ -18,6 +18,7 @@ "allFilteredAway": "No feature in view meets all filters", "loadingData": "Loading data…", "noData": "There are no relevant features in the current view", + "noDataOffline": "No data is loaded and you are offline", "ready": "Done!", "retrying": "Loading data failed. Trying again in {count} seconds…", "zoomIn": "Zoom in to view or edit the data" @@ -959,4 +960,4 @@ "startsWithQ": "A wikidata identifier starts with Q and is followed by a number" } } -} \ No newline at end of file +} diff --git a/src/UI/AllThemesGui.svelte b/src/UI/AllThemesGui.svelte index c63bfa8f27..9ee3397078 100644 --- a/src/UI/AllThemesGui.svelte +++ b/src/UI/AllThemesGui.svelte @@ -204,7 +204,7 @@ - + {#if $recentThemes.length > 2}

diff --git a/src/UI/Base/Avatar.svelte b/src/UI/Base/Avatar.svelte new file mode 100644 index 0000000000..47834b9d35 --- /dev/null +++ b/src/UI/Base/Avatar.svelte @@ -0,0 +1,20 @@ + + +{#if !$userdetails.img || !($loaded || $isOnline)} + +{:else} + avatar {loaded.set(true)}} /> +{/if} diff --git a/src/UI/BigComponents/MenuDrawerIndex.svelte b/src/UI/BigComponents/MenuDrawerIndex.svelte index d9d0871e69..3093909aa3 100644 --- a/src/UI/BigComponents/MenuDrawerIndex.svelte +++ b/src/UI/BigComponents/MenuDrawerIndex.svelte @@ -63,6 +63,7 @@ import OfflineManagement from "./OfflineManagement.svelte" import { GlobeEuropeAfrica } from "@babeard/svelte-heroicons/solid/GlobeEuropeAfrica" import { onDestroy } from "svelte" + import Avatar from "../Base/Avatar.svelte" export let state: { favourites: FavouritesFeatureSource @@ -134,11 +135,7 @@
- {#if $userdetails.img} - avatar - {:else} - - {/if} +
{$userdetails?.name ?? ''} diff --git a/src/UI/BigComponents/StateIndicator.svelte b/src/UI/BigComponents/StateIndicator.svelte index bb465a9437..7d00ea0e88 100644 --- a/src/UI/BigComponents/StateIndicator.svelte +++ b/src/UI/BigComponents/StateIndicator.svelte @@ -3,6 +3,7 @@ import Translations from "../i18n/Translations" import Tr from "../Base/Tr.svelte" import Loading from "../Base/Loading.svelte" + import { IsOnline } from "../../Logic/Web/IsOnline" export let state: ThemeViewState /** @@ -14,6 +15,7 @@ let dataIsLoading = state.dataIsLoading let currentState = state.hasDataInView + let online = IsOnline.isOnline const t = Translations.t.centerMessage const showingSearch = state.searchState.showSearchDrawer @@ -34,6 +36,10 @@
+{:else if $currentState === "no-data" && !$online} +
+ +
{:else if $currentState === "no-data"}
diff --git a/src/UI/BigComponents/WelcomeBack.svelte b/src/UI/BigComponents/WelcomeBack.svelte index 4541f987a1..80714b11d0 100644 --- a/src/UI/BigComponents/WelcomeBack.svelte +++ b/src/UI/BigComponents/WelcomeBack.svelte @@ -3,6 +3,7 @@ import { fade } from "svelte/transition" import { OsmConnection } from "../../Logic/Osm/OsmConnection" import { onDestroy } from "svelte" + import Avatar from "../Base/Avatar.svelte" let open = false export let state: { osmConnection: OsmConnection } @@ -28,9 +29,7 @@ > {#if $username !== undefined}
- {#if $userdetails.img} - avatar - {/if} +
Welcome back