diff --git a/src/UI/Popup/Notes/AddNoteComment.svelte b/src/UI/Popup/Notes/AddNoteComment.svelte index dbf493f9eb..5dd4de1869 100644 --- a/src/UI/Popup/Notes/AddNoteComment.svelte +++ b/src/UI/Popup/Notes/AddNoteComment.svelte @@ -9,6 +9,8 @@ import Resolved from "../../../assets/svg/Resolved.svelte" import Note from "../../../assets/svg/Note.svelte" import LoginToggle from "../../Base/LoginToggle.svelte" + import { writable } from "svelte/store" + import Loading from "../../Base/Loading.svelte" export let state: SpecialVisualizationState export let tags: UIEventSource> @@ -29,11 +31,14 @@ let isClosed: Store = tags.map((tags) => (tags?.["closed_at"] ?? "") !== "") + let isProcessing = writable(false) async function addComment() { if ((txt.data ?? "") == "") { return } + isProcessing.set(true) + if (isClosed.data) { await state.osmConnection.reopenNote(id, txt.data) await state.osmConnection.closeNote(id) @@ -42,20 +47,27 @@ } NoteCommentElement.addCommentTo(txt.data, tags, state) txt.setData("") + isProcessing.set(false) } async function closeNote() { + isProcessing.set(true) await state.osmConnection.closeNote(id, txt.data) tags.data["closed_at"] = new Date().toISOString() NoteCommentElement.addCommentTo(txt.data, tags, state) tags.ping() + isProcessing.set(false) + } async function reopenNote() { + isProcessing.set(true) await state.osmConnection.reopenNote(id, txt.data) tags.data["closed_at"] = undefined NoteCommentElement.addCommentTo(txt.data, tags, state) tags.ping() + isProcessing.set(false) + } @@ -76,6 +88,9 @@ /> + {#if $isProcessing} + + {:else}
{#if $txt?.length > 0} {/if}
+ {/if}