summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPostFormDialog.vue
diff options
context:
space:
mode:
authorfEmber <acomputerdog@gmail.com>2024-10-03 15:52:00 +0000
committerfEmber <acomputerdog@gmail.com>2024-10-03 15:52:00 +0000
commite2beec33f87e86282ace98adbb658a3498c9cbeb (patch)
treee4f8ad1beb6d5466109e51ec8a1207a51b932e02 /packages/frontend/src/components/MkPostFormDialog.vue
parentmerge: fix exception when logging IP addresses (!644) (diff)
parentupd: fix random bg on post button in classic view (diff)
downloadsharkey-e2beec33f87e86282ace98adbb658a3498c9cbeb.tar.gz
sharkey-e2beec33f87e86282ace98adbb658a3498c9cbeb.tar.bz2
sharkey-e2beec33f87e86282ace98adbb658a3498c9cbeb.zip
merge: Minor issue fixes on the frontend (!625)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/625 Closes #659, #656, #651, #661, #632, and #710 Approved-by: dakkar <dakkar@thenautilus.net> Approved-by: fEmber <acomputerdog@gmail.com>
Diffstat (limited to 'packages/frontend/src/components/MkPostFormDialog.vue')
-rw-r--r--packages/frontend/src/components/MkPostFormDialog.vue14
1 files changed, 11 insertions, 3 deletions
diff --git a/packages/frontend/src/components/MkPostFormDialog.vue b/packages/frontend/src/components/MkPostFormDialog.vue
index 947c0ee4d0..811a6378f2 100644
--- a/packages/frontend/src/components/MkPostFormDialog.vue
+++ b/packages/frontend/src/components/MkPostFormDialog.vue
@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<MkModal ref="modal" :preferType="'dialog'" @click="modal?.close()" @closed="onModalClosed()" @esc="modal?.close()">
- <MkPostForm ref="form" :class="$style.form" v-bind="props" autofocus freezeAfterPosted @posted="onPosted" @cancel="modal?.close()" @esc="modal?.close()"/>
+ <MkPostForm ref="form" :class="$style.form" v-bind="props" autofocus freezeAfterPosted @posted="onPosted" @cancel="onCancel" @esc="onCancel"/>
</MkModal>
</template>
@@ -37,7 +37,7 @@ const props = withDefaults(defineProps<{
});
const emit = defineEmits<{
- (ev: 'closed'): void;
+ (ev: 'closed', cancelled: boolean): void;
}>();
const modal = shallowRef<InstanceType<typeof MkModal>>();
@@ -47,10 +47,18 @@ function onPosted() {
modal.value?.close({
useSendAnimation: true,
});
+ emit('closed', false);
+}
+
+function onCancel() {
+ // for some reason onModalClosed does not get called properly when closing the model through other functions.
+ modal.value?.close();
+ // emit is required so that the dialog gets properly disposed otherwise it will float around as a "zombie"
+ emit('closed', true);
}
function onModalClosed() {
- emit('closed');
+ emit('closed', true);
}
</script>