UI: fix behaviour of hotkey "escape" when closing previews and nearby images popups

This commit is contained in:
Pieter Vander Vennet 2025-03-13 16:53:12 +01:00
parent ae84207555
commit e22929bb35
6 changed files with 73 additions and 49 deletions

View file

@ -11,7 +11,6 @@
import ImageOperations from "./ImageOperations.svelte"
import Popup from "../Base/Popup.svelte"
import { onDestroy } from "svelte"
import type { SpecialVisualizationState } from "../SpecialVisualization"
import type { Feature, Point } from "geojson"
import Loading from "../Base/Loading.svelte"
import Translations from "../i18n/Translations"
@ -19,8 +18,9 @@
import DotMenu from "../Base/DotMenu.svelte"
import LoadingPlaceholder from "../Base/LoadingPlaceholder.svelte"
import { MenuState } from "../../Models/MenuState"
import ThemeViewState from "../../Models/ThemeViewState"
export let image: Partial<ProvidedImage>
export let image: Partial<ProvidedImage> & { id: string; url: string }
let fallbackImage: string = undefined
if (image.provider === Mapillary.singleton) {
fallbackImage = "./assets/svg/blocked.svg"
@ -28,7 +28,7 @@
let imgEl: HTMLImageElement
export let imgClass: string = undefined
export let state: SpecialVisualizationState = undefined
export let state: ThemeViewState = undefined
export let attributionFormat: "minimal" | "medium" | "large" = "medium"
let previewedImage: UIEventSource<Partial<ProvidedImage>> = MenuState.previewedImage
export let canZoom = previewedImage !== undefined
@ -36,9 +36,7 @@
let showBigPreview = new UIEventSource(false)
onDestroy(
showBigPreview.addCallbackAndRun((shown) => {
if (!shown) {
previewedImage?.set(undefined)
}
state.guistate.setPreviewedImage(shown ? image : undefined)
})
)
if (previewedImage) {