From 2bd3806f9ae94d40cfd2de559f37b12bec4a7ff1 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 8 May 2024 13:54:14 +0200 Subject: [PATCH] UX: add fade-out animation to menus to show where they can be found again --- public/css/index-tailwind-output.css | 20 ++++---- .../Sources/LastClickFeatureSource.ts | 3 +- src/UI/Base/CloseAnimation.svelte | 49 +++++++++++++++++++ src/UI/Base/FloatOver.svelte | 3 +- src/UI/Base/MapControlButton.svelte | 8 ++- .../OpenBackgroundSelectorButton.svelte | 3 +- src/UI/Map/StyleLoadingIndicator.svelte | 4 +- src/UI/Test.svelte | 1 + src/UI/ThemeViewGUI.svelte | 37 ++++++++++++-- 9 files changed, 107 insertions(+), 21 deletions(-) create mode 100644 src/UI/Base/CloseAnimation.svelte diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index 15135e3f2..c6244ef36 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -781,12 +781,12 @@ video { float: left; } -.m-4 { - margin: 1rem; +.m-8 { + margin: 2rem; } -.m-2 { - margin: 0.5rem; +.m-4 { + margin: 1rem; } .m-3 { @@ -797,8 +797,8 @@ video { margin: 0px; } -.m-8 { - margin: 2rem; +.m-2 { + margin: 0.5rem; } .m-1 { @@ -1806,14 +1806,14 @@ video { background-repeat: repeat; } -.p-4 { - padding: 1rem; -} - .p-8 { padding: 2rem; } +.p-4 { + padding: 1rem; +} + .p-0 { padding: 0px; } diff --git a/src/Logic/FeatureSource/Sources/LastClickFeatureSource.ts b/src/Logic/FeatureSource/Sources/LastClickFeatureSource.ts index 3fe9b79e9..7e8155f8f 100644 --- a/src/Logic/FeatureSource/Sources/LastClickFeatureSource.ts +++ b/src/Logic/FeatureSource/Sources/LastClickFeatureSource.ts @@ -16,6 +16,7 @@ export class LastClickFeatureSource { private i: number = 0 private readonly hasPresets: boolean private readonly hasNoteLayer: boolean + public static readonly newPointElementId= "new_point_dialog" constructor(layout: LayoutConfig) { this.hasNoteLayer = layout.hasNoteLayer() @@ -46,7 +47,7 @@ export class LastClickFeatureSource { public createFeature(lon: number, lat: number): Feature { const properties: OsmTags = { - id: "new_point_dialog", + id: LastClickFeatureSource.newPointElementId, has_note_layer: this.hasNoteLayer ? "yes" : "no", has_presets: this.hasPresets ? "yes" : "no", renderings: this.renderings.join(""), diff --git a/src/UI/Base/CloseAnimation.svelte b/src/UI/Base/CloseAnimation.svelte new file mode 100644 index 000000000..82afdc0b1 --- /dev/null +++ b/src/UI/Base/CloseAnimation.svelte @@ -0,0 +1,49 @@ + +
+
+
+ +
+ +
+ + diff --git a/src/UI/Base/FloatOver.svelte b/src/UI/Base/FloatOver.svelte index dd91ea272..b4b4fa25a 100644 --- a/src/UI/Base/FloatOver.svelte +++ b/src/UI/Base/FloatOver.svelte @@ -11,7 +11,6 @@ */ const dispatch = createEventDispatcher<{ close }>() - export let extraClasses = "p-4 md:p-6" @@ -24,7 +23,7 @@ />
diff --git a/src/UI/Base/MapControlButton.svelte b/src/UI/Base/MapControlButton.svelte index cd3c35a04..c3c8c5d06 100644 --- a/src/UI/Base/MapControlButton.svelte +++ b/src/UI/Base/MapControlButton.svelte @@ -3,7 +3,7 @@ import { twJoin } from "tailwind-merge" import { Translation } from "../i18n/Translation" import { ariaLabel } from "../../Utils/ariaLabel" - import { ImmutableStore, Store } from "../../Logic/UIEventSource" + import { ImmutableStore, Store, UIEventSource } from "../../Logic/UIEventSource" /** * A round button with an icon and possible a small text, which hovers above the map @@ -12,9 +12,15 @@ export let cls = "m-0.5 p-0.5 sm:p-1 md:m-1" export let enabled: Store = new ImmutableStore(true) export let arialabel: Translation = undefined + export let htmlElem: UIEventSource = undefined + let _htmlElem : HTMLElement + $: { + htmlElem?.setData(_htmlElem) + }