From 8e8e8946384479d97f27a34a7f7a1e7af7a53696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn-Michael=20Miehe?= Date: Sun, 28 Dec 2025 16:48:16 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20ui:=20BulmaToast=20rebuild=20pre?= =?UTF-8?q?vious=20logic=20(now=20with=20explanation)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/components/bulma/Toast.vue | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/ui/src/components/bulma/Toast.vue b/ui/src/components/bulma/Toast.vue index 5586739..2f60117 100644 --- a/ui/src/components/bulma/Toast.vue +++ b/ui/src/components/bulma/Toast.vue @@ -20,29 +20,27 @@ const emit = defineEmits<{ (event: "handle", handle: HBulmaToast): void; }>(); -const message = useTemplateRef("message"); +const message_div = useTemplateRef("message"); onMounted(() => emit("handle", { show(options: ToastOptions = {}): void { - if (message.value === null) return; + if (message_div.value === null) return; toast({ ...options, single: true, - message: message.value, + message: message_div.value, }); }, hide(): void { - if (message.value === null) return; + // using "toast" detaches "message" from the invisible "div" + // => toast_div is not part of this component! + const toast_div = message_div.value?.parentElement; + const delete_button = toast_div?.querySelector("button.delete"); + if (!(delete_button instanceof HTMLButtonElement)) return; - const toast_div = message.value.parentElement; - if (toast_div === null) return; - - const dbutton = toast_div.querySelector("button.delete"); - if (!(dbutton instanceof HTMLButtonElement)) return; - - dbutton.click(); + delete_button.click(); }, }), );