1234fb2dd1
Co-authored-by: Sebastian Di Luzio <sebastian.di-luzio@iu.org> Co-authored-by: Emanuel Pina <contacto@emanuelpina.pt> Co-authored-by: lazzzis <lazzzis@outlook.com> Co-authored-by: Joaquín Sánchez <userquin@gmail.com> Co-authored-by: TAKAHASHI Shuuji <shuuji3@gmail.com> Co-authored-by: Francesco <129339155+katullo11@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: patak-dev <matias.capeletto@gmail.com>
50 lines
1.2 KiB
Vue
50 lines
1.2 KiB
Vue
<script setup lang="ts">
|
|
import type { mastodon } from 'masto'
|
|
import type { DraftItem } from '~/types'
|
|
|
|
const {
|
|
draftKey,
|
|
initial = getDefaultDraftItem,
|
|
expanded = false,
|
|
placeholder,
|
|
dialogLabelledBy,
|
|
inReplyToId,
|
|
inReplyToVisibility,
|
|
} = defineProps<{
|
|
draftKey: string
|
|
initial?: () => DraftItem
|
|
placeholder?: string
|
|
inReplyToId?: string
|
|
inReplyToVisibility?: mastodon.v1.StatusVisibility
|
|
expanded?: boolean
|
|
dialogLabelledBy?: string
|
|
}>()
|
|
|
|
const threadItems = computed(() =>
|
|
useThreadComposer(draftKey, initial).threadItems.value,
|
|
)
|
|
|
|
onDeactivated(() => {
|
|
clearEmptyDrafts()
|
|
})
|
|
|
|
function isFirstItem(index: number) {
|
|
return index === 0
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<template v-if="isHydrated && currentUser">
|
|
<PublishWidget
|
|
v-for="(_, index) in threadItems" :key="`${draftKey}-${index}`"
|
|
:draft-key="draftKey"
|
|
:draft-item-index="index"
|
|
:expanded="isFirstItem(index) ? expanded : true"
|
|
:placeholder="placeholder"
|
|
:dialog-labelled-by="dialogLabelledBy"
|
|
:in-reply-to-id="isFirstItem(index) ? inReplyToId : undefined"
|
|
:in-reply-to-visibility="inReplyToVisibility"
|
|
/>
|
|
</template>
|
|
</template>
|