From e5c03ab39b00c101524bf97235116ec48b195049 Mon Sep 17 00:00:00 2001 From: vcoppe Date: Wed, 8 May 2024 12:35:31 +0200 Subject: [PATCH] more menu icons --- website/src/lib/components/Menu.svelte | 70 ++++++++++++++++++-------- website/src/lib/db.ts | 2 + 2 files changed, 52 insertions(+), 20 deletions(-) diff --git a/website/src/lib/components/Menu.svelte b/website/src/lib/components/Menu.svelte index 81d9b54c..f44f70e2 100644 --- a/website/src/lib/components/Menu.svelte +++ b/website/src/lib/components/Menu.svelte @@ -15,7 +15,14 @@ Heart, Map, Layers2, - Box + Box, + Milestone, + Coins, + Ruler, + Zap, + Thermometer, + Sun, + Moon } from 'lucide-svelte'; import { @@ -30,15 +37,12 @@ import { derived } from 'svelte/store'; import { canUndo, canRedo, dbUtils, fileObservers, settings } from '$lib/db'; - import { resetMode, setMode } from 'mode-watcher'; + import { resetMode, setMode, systemPrefersMode } from 'mode-watcher'; import { _ } from 'svelte-i18n'; import { anySelectedLayer } from './layer-control/utils'; import { defaultOverlays } from '$lib/assets/layers'; - let showDistanceMarkers = false; - let showDirectionMarkers = false; - const { distanceUnits, velocityUnits, @@ -47,8 +51,11 @@ currentBasemap, previousBasemap, currentOverlays, - previousOverlays + previousOverlays, + distanceMarkers, + directionMarkers } = settings; + $: if ($mode === 'system') { resetMode(); } else { @@ -166,29 +173,38 @@ {$_('menu.view')} - {$_('menu.switch_basemap')} - {$_('menu.toggle_overlays')} - {$_('menu.toggle_3d')} + + + {$_('menu.distance_markers')} + + + {$_('menu.direction_markers')} + {$_('menu.settings')} - {$_('menu.distance_units')} + {$_('menu.distance_units')} {$_('menu.metric')} @@ -197,7 +213,9 @@ - {$_('menu.velocity_units')} + {$_('menu.velocity_units')} {$_('quantities.speed')} @@ -206,7 +224,11 @@ - {$_('menu.temperature_units')} + {$_( + 'menu.temperature_units' + )} {$_('menu.celsius')} @@ -216,7 +238,22 @@ - {$_('menu.mode')} + + {#if $mode === 'system'} + {#if $systemPrefersMode === 'light'} + + {:else if $systemPrefersMode === 'dark'} + + {:else} + + {/if} + {:else if $mode === 'light'} + + {:else if $mode === 'dark'} + + {/if} + {$_('menu.mode')} + {$_('menu.light')} @@ -225,13 +262,6 @@ - - - {$_('menu.distance_markers')} - - - {$_('menu.direction_markers')} - diff --git a/website/src/lib/db.ts b/website/src/lib/db.ts index 8d31af2a..ac756bd8 100644 --- a/website/src/lib/db.ts +++ b/website/src/lib/db.ts @@ -90,6 +90,8 @@ export const settings = { currentOverlays: dexieUninitializedSettingStore('currentOverlays', defaultOverlays), previousOverlays: dexieSettingStore('previousOverlays', defaultOverlays), selectedOverlayTree: dexieSettingStore('selectedOverlayTree', defaultOverlayTree), + directionMarkers: dexieSettingStore('directionMarkers', false), + distanceMarkers: dexieSettingStore('distanceMarkers', false), }; // Wrap Dexie live queries in a Svelte store to avoid triggering the query for every subscriber