summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkPostFormDialog.vue
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-12-31 19:46:16 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-12-31 19:46:16 +0900
commitc05ad8990a9cb9c3366fc00873aa800f6f83c944 (patch)
tree0db43c7e7cba7d674e3f13336028c3d99daac1fb /packages/frontend/src/components/MkPostFormDialog.vue
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-c05ad8990a9cb9c3366fc00873aa800f6f83c944.tar.gz
sharkey-c05ad8990a9cb9c3366fc00873aa800f6f83c944.tar.bz2
sharkey-c05ad8990a9cb9c3366fc00873aa800f6f83c944.zip
:art:
Diffstat (limited to 'packages/frontend/src/components/MkPostFormDialog.vue')
-rw-r--r--packages/frontend/src/components/MkPostFormDialog.vue49
1 files changed, 38 insertions, 11 deletions
diff --git a/packages/frontend/src/components/MkPostFormDialog.vue b/packages/frontend/src/components/MkPostFormDialog.vue
index 6dabb1db14..71c07ed658 100644
--- a/packages/frontend/src/components/MkPostFormDialog.vue
+++ b/packages/frontend/src/components/MkPostFormDialog.vue
@@ -1,19 +1,46 @@
<template>
-<MkModal ref="modal" :prefer-type="'dialog:top'" @click="$refs.modal.close()" @closed="$emit('closed')">
- <MkPostForm v-bind="$attrs" @posted="$refs.modal.close()" @cancel="$refs.modal.close()" @esc="$refs.modal.close()"/>
+<MkModal ref="modal" :prefer-type="'dialog:top'" @click="modal.close()" @closed="onModalClosed()">
+ <MkPostForm ref="form" v-bind="props" autofocus freeze-after-posted @posted="onPosted" @cancel="modal.close()" @esc="modal.close()"/>
</MkModal>
</template>
-<script lang="ts">
-import { defineComponent } from 'vue';
+<script lang="ts" setup>
+import { } from 'vue';
+import * as misskey from 'misskey-js';
import MkModal from '@/components/MkModal.vue';
import MkPostForm from '@/components/MkPostForm.vue';
-export default defineComponent({
- components: {
- MkModal,
- MkPostForm,
- },
- emits: ['closed'],
-});
+const props = defineProps<{
+ reply?: misskey.entities.Note;
+ renote?: misskey.entities.Note;
+ channel?: any; // TODO
+ mention?: misskey.entities.User;
+ specified?: misskey.entities.User;
+ initialText?: string;
+ initialVisibility?: typeof misskey.noteVisibilities;
+ initialFiles?: misskey.entities.DriveFile[];
+ initialLocalOnly?: boolean;
+ initialVisibleUsers?: misskey.entities.User[];
+ initialNote?: misskey.entities.Note;
+ instant?: boolean;
+ fixed?: boolean;
+ autofocus?: boolean;
+}>();
+
+const emit = defineEmits<{
+ (ev: 'closed'): void;
+}>();
+
+let modal = $ref<InstanceType<typeof MkModal>>();
+let form = $ref<InstanceType<typeof MkPostForm>>();
+
+function onPosted() {
+ modal.close({
+ useSendAnimation: true,
+ });
+}
+
+function onModalClosed() {
+ emit('closed');
+}
</script>