summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPostFormDialog.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-06-07 07:47:43 +0900
committerGitHub <noreply@github.com>2025-06-07 07:47:43 +0900
commit9bd5f887de6515f93c7db48d7d1370898b2d7b78 (patch)
treea18590e7d5214958d5dc77e179747ed3bff0d5a8 /packages/frontend/src/components/MkPostFormDialog.vue
parentrefactor(frontend): refactor tips (diff)
downloadmisskey-9bd5f887de6515f93c7db48d7d1370898b2d7b78.tar.gz
misskey-9bd5f887de6515f93c7db48d7d1370898b2d7b78.tar.bz2
misskey-9bd5f887de6515f93c7db48d7d1370898b2d7b78.zip
enhance(frontend): 投稿フォームにアップローダーを埋め込み (#16173)
* wip * Update MkPostForm.vue * wip * wip * Update MkPostForm.vue * wip * wip * add tip * Update tips.ts * Update MkPostForm.vue
Diffstat (limited to 'packages/frontend/src/components/MkPostFormDialog.vue')
-rw-r--r--packages/frontend/src/components/MkPostFormDialog.vue15
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/frontend/src/components/MkPostFormDialog.vue b/packages/frontend/src/components/MkPostFormDialog.vue
index c467e29df6..0a655bab99 100644
--- a/packages/frontend/src/components/MkPostFormDialog.vue
+++ b/packages/frontend/src/components/MkPostFormDialog.vue
@@ -7,9 +7,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkModal
ref="modal"
:preferType="'dialog'"
- @click="modal?.close()"
+ @click="_close()"
@closed="onModalClosed()"
- @esc="modal?.close()"
+ @esc="_close()"
>
<MkPostForm
ref="form"
@@ -18,8 +18,8 @@ SPDX-License-Identifier: AGPL-3.0-only
autofocus
freezeAfterPosted
@posted="onPosted"
- @cancel="modal?.close()"
- @esc="modal?.close()"
+ @cancel="_close()"
+ @esc="_close()"
/>
</MkModal>
</template>
@@ -43,6 +43,7 @@ const emit = defineEmits<{
}>();
const modal = useTemplateRef('modal');
+const form = useTemplateRef('form');
function onPosted() {
modal.value?.close({
@@ -50,6 +51,12 @@ function onPosted() {
});
}
+async function _close() {
+ const canClose = await form.value?.canClose();
+ if (!canClose) return;
+ modal.value?.close();
+}
+
function onModalClosed() {
emit('closed');
}