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