From 299493854e4fda1602b82ea688840f1aadc8b577 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Mon, 25 May 2026 21:27:48 +0200 Subject: [PATCH] fix(notes): type emit calls in NoteConflictModal Vue's defineEmits generates per-event overloads, so emit(action) with a union of literal types failed to type-check. Split the single choose() helper into one handler per action. --- src/components/NoteConflictModal.vue | 30 ++++++++++++++++++---------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/components/NoteConflictModal.vue b/src/components/NoteConflictModal.vue index 628e85f..06b81e5 100644 --- a/src/components/NoteConflictModal.vue +++ b/src/components/NoteConflictModal.vue @@ -4,10 +4,10 @@ import { onMounted, ref, watch } from "vue" const props = defineProps<{ open: boolean }>() const emit = defineEmits<{ - (e: "discard"): void - (e: "overwrite"): void - (e: "cancel"): void - (e: "update:open", value: boolean): void + discard: [] + overwrite: [] + cancel: [] + "update:open": [value: boolean] }>() const dialogRef = ref(null) @@ -17,8 +17,16 @@ const close = () => { emit("update:open", false) } -const choose = (action: "discard" | "overwrite" | "cancel") => { - emit(action) +const onDiscard = () => { + emit("discard") + close() +} +const onOverwrite = () => { + emit("overwrite") + close() +} +const onCancel = () => { + emit("cancel") close() } @@ -42,7 +50,7 @@ onMounted(() => { ref="dialogRef" class="modal" @close="emit('update:open', false)" - @cancel.prevent="choose('cancel')" + @cancel.prevent="onCancel()" >