From 396e64b5a6799bfd2d057c5018fcdc5f3a6bcc0d Mon Sep 17 00:00:00 2001 From: Christian Beutel <> Date: Sat, 2 Aug 2025 18:35:50 +0200 Subject: [PATCH] fixes race condition in route edit menu --- .../lib/components/trail/route_editor.svelte | 30 +++---- web/src/lib/stores/valhalla_store.svelte.ts | 5 +- web/src/routes/trail/edit/[id]/+page.svelte | 89 ++++++++++--------- 3 files changed, 61 insertions(+), 63 deletions(-) diff --git a/web/src/lib/components/trail/route_editor.svelte b/web/src/lib/components/trail/route_editor.svelte index 7605442e..7b0ca8b9 100644 --- a/web/src/lib/components/trail/route_editor.svelte +++ b/web/src/lib/components/trail/route_editor.svelte @@ -12,6 +12,7 @@ import Select, { type SelectItem } from "../base/select.svelte"; import Slider from "../base/slider.svelte"; import Toggle from "../base/toggle.svelte"; + import { tick } from "svelte"; interface Props { options: RoutingOptions; onReverse: () => void; @@ -114,6 +115,14 @@ break; } } + + async function togglePanels(_edit: boolean, _crop: boolean, _recalc: boolean) { + recalculateElevationData = _recalc; + crop = _crop; + editRoute = _edit + await tick() + onCropToggle(_crop); + }
@@ -122,34 +131,19 @@ class="btn-icon" class:bg-secondary-hover={editRoute} aria-label="edit route" - onclick={() => { - recalculateElevationData = false; - crop = false; - editRoute = !editRoute; - onCropToggle(false); - }}> await togglePanels(!editRoute, false, false)}> await togglePanels(false, !crop, false)}> await togglePanels(false, false, !recalculateElevationData)}>