diff --git a/website/src/app.html b/website/src/app.html index 77a5ff52..92038a90 100644 --- a/website/src/app.html +++ b/website/src/app.html @@ -1,12 +1,15 @@ - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - + + + + + + %sveltekit.head% + + + +
%sveltekit.body%
+ + + \ No newline at end of file diff --git a/website/src/lib/components/App.svelte b/website/src/lib/components/App.svelte index 82020dcf..9b54dae9 100644 --- a/website/src/lib/components/App.svelte +++ b/website/src/lib/components/App.svelte @@ -16,7 +16,7 @@ const { verticalFileView, elevationProfile, bottomPanelSize, rightPanelSize } = settings; -
+
diff --git a/website/src/lib/components/ElevationProfile.svelte b/website/src/lib/components/ElevationProfile.svelte index e07838b2..451777cc 100644 --- a/website/src/lib/components/ElevationProfile.svelte +++ b/website/src/lib/components/ElevationProfile.svelte @@ -1,7 +1,6 @@ @@ -37,5 +37,5 @@ class="{orientation === 'col' ? 'w-1 h-full cursor-col-resize' : 'w-full h-1 cursor-row-resize'} {orientation}" - on:mousedown={handleMouseDown} + on:pointerdown={handleMouseDown} /> diff --git a/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte b/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte index 7284fd94..a84fc4b0 100644 --- a/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte +++ b/website/src/lib/components/collapsible-tree/CollapsibleTreeNode.svelte @@ -42,7 +42,9 @@ variant="ghost" class="w-full flex flex-row {side === 'right' ? 'justify-between' - : 'justify-start'} py-0 px-1 h-fit {nohover ? 'hover:bg-background' : ''}" + : 'justify-start'} py-0 px-1 h-fit {nohover + ? 'hover:bg-background' + : ''} pointer-events-none" > {#if side === 'left'} {#if $open[fullId]} diff --git a/website/src/lib/components/custom-control/CustomControl.svelte b/website/src/lib/components/custom-control/CustomControl.svelte index f7830ebe..0f37556a 100644 --- a/website/src/lib/components/custom-control/CustomControl.svelte +++ b/website/src/lib/components/custom-control/CustomControl.svelte @@ -33,7 +33,7 @@ diff --git a/website/src/lib/components/file-list/FileListNodeLabel.svelte b/website/src/lib/components/file-list/FileListNodeLabel.svelte index d1a65a57..f583e899 100644 --- a/website/src/lib/components/file-list/FileListNodeLabel.svelte +++ b/website/src/lib/components/file-list/FileListNodeLabel.svelte @@ -332,6 +332,7 @@ e.preventDefault(); e.stopPropagation(); $selection.toggle(item); + $selection = $selection; } }} on:mouseenter={() => { @@ -360,7 +361,7 @@ {:else if item.level === ListLevel.WAYPOINT} {/if} - + {label} diff --git a/website/src/lib/components/gpx-layer/GPXLayer.ts b/website/src/lib/components/gpx-layer/GPXLayer.ts index b461bbd4..282826ab 100644 --- a/website/src/lib/components/gpx-layer/GPXLayer.ts +++ b/website/src/lib/components/gpx-layer/GPXLayer.ts @@ -207,8 +207,10 @@ export class GPXLayer { } else { selectItem(new ListWaypointItem(this.fileId, marker._waypoint._data.index)); } - } else { + } else if (get(currentTool) === Tool.WAYPOINT) { selectedWaypoint.set([marker._waypoint, this.fileId]); + } else { + this.showWaypointPopup(marker._waypoint); } e.stopPropagation(); }); diff --git a/website/src/lib/components/layer-control/LayerControl.svelte b/website/src/lib/components/layer-control/LayerControl.svelte index bbfb1520..0d82b9e8 100644 --- a/website/src/lib/components/layer-control/LayerControl.svelte +++ b/website/src/lib/components/layer-control/LayerControl.svelte @@ -13,6 +13,8 @@ import { get, writable } from 'svelte/store'; import { getLayers } from './utils'; + let container: HTMLDivElement; + const { currentBasemap, previousBasemap, @@ -95,38 +97,76 @@ } }; } + + let open = false; + function openLayerControl() { + open = true; + } + function closeLayerControl() { + open = false; + } + let cancelEvents = false; +
{ + if (!open) { + cancelEvents = true; + openLayerControl(); + setTimeout(() => { + cancelEvents = false; + }, 500); + } + }} > - -
-
- -
-
- -
- -
- {#if $currentOverlays} + +
+ +
+
- {/if} +
+ +
+ {#if $currentOverlays} + + {/if} +
-
- + +
+ + { + if (open && !cancelEvents && !container.contains(e.target)) { + closeLayerControl(); + } + }} +/> diff --git a/website/src/lib/components/layer-control/LayerControlSettings.svelte b/website/src/lib/components/layer-control/LayerControlSettings.svelte index 41727aaf..699788a7 100644 --- a/website/src/lib/components/layer-control/LayerControlSettings.svelte +++ b/website/src/lib/components/layer-control/LayerControlSettings.svelte @@ -120,7 +120,7 @@ {$_('layers.selection')} - + - + - + diff --git a/website/src/lib/components/toolbar/tools/Clean.svelte b/website/src/lib/components/toolbar/tools/Clean.svelte index 6a5a0be6..aa4db8c4 100644 --- a/website/src/lib/components/toolbar/tools/Clean.svelte +++ b/website/src/lib/components/toolbar/tools/Clean.svelte @@ -98,6 +98,9 @@ $map.on('mousedown', onMouseDown); $map.on('mousemove', onMouseMove); $map.on('mouseup', onMouseUp); + $map.on('touchstart', onMouseDown); + $map.on('touchmove', onMouseMove); + $map.on('touchend', onMouseUp); $map.dragPan.disable(); } @@ -107,6 +110,9 @@ $map.off('mousedown', onMouseDown); $map.off('mousemove', onMouseMove); $map.off('mouseup', onMouseUp); + $map.off('touchstart', onMouseDown); + $map.off('touchmove', onMouseMove); + $map.off('touchend', onMouseUp); $map.dragPan.enable(); if ($map.getLayer('rectangle')) {