UI: don't show 'open image on website' if it is not defined

This commit is contained in:
Pieter Vander Vennet 2025-04-28 01:58:00 +02:00
parent 55c8ec95f3
commit 2f7f71787d

View file

@ -26,7 +26,7 @@
export let image: Partial<ProvidedImage> & { id: string; url: string }
let fallbackImage: string = undefined
if (image.provider === Mapillary.singleton) {
if (image?.provider === Mapillary.singleton) {
fallbackImage = "./assets/svg/blocked.svg"
}
@ -41,7 +41,7 @@
| Store<Feature<Geometry, HotspotProperties>[]> = []
let loaded = false
let visitUrl = image.provider.visitUrl(image)
let visitUrl = image.provider?.visitUrl(image)
let showBigPreview = new UIEventSource(false)
onDestroy(
showBigPreview.addCallbackAndRun((shown) => {
@ -115,10 +115,12 @@
{#if $$slots["dot-menu-actions"] || visitUrl !== undefined}
<DotMenu dotsPosition="top-0 left-0 absolute" hideBackground>
<slot name="dot-menu-actions" />
{#if visitUrl !== undefined}
<a href={visitUrl} target="_blank" rel="noopener">
<ExternalLinkIcon class="w-6" />
<Tr t={Translations.t.image.openOnWebsite.Subs(image.provider)} />
</a>
{/if}
</DotMenu>
{/if}
{#if !loaded}