2020-01-29 20:37:25 +01:00
< template >
2023-02-19 00:27:12 +01:00
< MkModal ref = "modal" :prefer-type = "'dialog'" @click ="modal.close()" @closed ="onModalClosed()" >
< MkPostForm ref = "form" style = "margin: 0 auto auto auto;" v-bind = "props" autofocus freeze-after-posted @posted="onPosted" @cancel="modal.close()" @esc ="modal.close()" / >
< / MkModal >
2023-02-19 00:53:19 +01:00
< / template >
2020-01-29 20:37:25 +01:00
2023-02-19 00:53:19 +01:00
< script lang = "ts" setup >
import { } from 'vue' ;
import * as misskey from 'calckey-js' ;
import MkModal from '@/components/MkModal.vue' ;
import MkPostForm from '@/components/MkPostForm.vue' ;
2020-01-29 20:37:25 +01:00
2023-02-19 00:53:19 +01:00
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 ;
} > ( ) ;
2023-02-19 00:27:12 +01:00
2023-02-19 00:53:19 +01:00
const emit = defineEmits < {
( ev : 'closed' ) : void ;
} > ( ) ;
2023-02-19 00:27:12 +01:00
2023-02-19 00:53:19 +01:00
let modal = $shallowRef < InstanceType < typeof MkModal > > ( ) ;
let form = $shallowRef < InstanceType < typeof MkPostForm > > ( ) ;
2023-02-19 00:27:12 +01:00
2023-02-19 00:53:19 +01:00
function onPosted ( ) {
modal . close ( {
useSendAnimation : true ,
} ) ;
}
2023-02-19 00:27:12 +01:00
2023-02-19 00:53:19 +01:00
function onModalClosed ( ) {
emit ( 'closed' ) ;
}
< / script >