From ba1eb28f274ac6cc6be4614456ca3d2137d9ba64 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 28 Sep 2024 12:01:10 +0200 Subject: [PATCH] Fix: quickfixes to image upload flow --- src/Logic/ImageProviders/ImageUploadManager.ts | 3 +-- src/UI/Image/UploadImage.svelte | 15 +++++++++------ src/UI/SpecialVisualization.ts | 3 ++- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Logic/ImageProviders/ImageUploadManager.ts b/src/Logic/ImageProviders/ImageUploadManager.ts index c90e2ab072..0363f3b217 100644 --- a/src/Logic/ImageProviders/ImageUploadManager.ts +++ b/src/Logic/ImageProviders/ImageUploadManager.ts @@ -7,7 +7,6 @@ import { Store, UIEventSource } from "../UIEventSource" import { OsmConnection } from "../Osm/OsmConnection" import { Changes } from "../Osm/Changes" import Translations from "../../UI/i18n/Translations" -import NoteCommentElement from "../../UI/Popup/Notes/NoteCommentElement" import { Translation } from "../../UI/i18n/Translation" import { IndexedFeatureSource } from "../FeatureSource/FeatureSource" import { GeoOperations } from "../GeoOperations" @@ -136,7 +135,7 @@ export class ImageUploadManager { } public async uploadImageWithLicense( - featureId: OsmId, + featureId: string, author: string, blob: File, targetKey: string | undefined, diff --git a/src/UI/Image/UploadImage.svelte b/src/UI/Image/UploadImage.svelte index 2b0f97c8ac..4495f025bd 100644 --- a/src/UI/Image/UploadImage.svelte +++ b/src/UI/Image/UploadImage.svelte @@ -5,7 +5,7 @@ import type { SpecialVisualizationState } from "../SpecialVisualization" import { ImmutableStore, UIEventSource } from "../../Logic/UIEventSource" - import type { OsmTags } from "../../Models/OsmFeature" + import type { OsmId, OsmTags } from "../../Models/OsmFeature" import LoginToggle from "../Base/LoginToggle.svelte" import Translations from "../i18n/Translations" import Tr from "../Base/Tr.svelte" @@ -47,22 +47,25 @@ continue } - if(layer.id === "note"){ - const uploadResult = await state?.imageUploadManager.uploadImageWithLicense(file, tags, targetKey) + if(layer?.id === "note"){ + const uploadResult = await state?.imageUploadManager.uploadImageWithLicense(tags.data.id, + state.osmConnection.userDetails.data?.name ?? "Anonymous", + file, "image") if(!uploadResult){ return } const url = uploadResult.absoluteUrl - await this._osmConnection.addCommentToNote(tags.data.id, url) + await state.osmConnection.addCommentToNote(tags.data.id, url) NoteCommentElement.addCommentTo(url, >tags, { - osmConnection: this._osmConnection, + osmConnection: state.osmConnection, }) return } await state?.imageUploadManager.uploadImageAndApply(file, tags, targetKey) } catch (e) { - alert(e) + console.error(e) + state.reportError(e, "Could not upload image") } } errors.setData(errs) diff --git a/src/UI/SpecialVisualization.ts b/src/UI/SpecialVisualization.ts index 37aa7229e5..a28689027a 100644 --- a/src/UI/SpecialVisualization.ts +++ b/src/UI/SpecialVisualization.ts @@ -88,7 +88,8 @@ export interface SpecialVisualizationState { readonly geocodedImages : UIEventSource showCurrentLocationOn(map: Store): ShowDataLayer - reportError(message: string): Promise + reportError(message: string | Error | XMLHttpRequest, extramessage?: string): Promise + } export interface SpecialVisualization {