<script setup lang="ts"> import type { Status, StatusEdit } from 'masto' import { formatTimeAgo } from '@vueuse/core' const { status } = defineProps<{ status: Status }>() const masto = useMasto() const { data: statusEdits } = useAsyncData(`status:history:${status.id}`, () => masto.statuses.fetchHistory(status.id).then(res => res.reverse())) const showHistory = (edit: StatusEdit) => { openEditHistoryDialog(edit) } const timeAgoOptions = useTimeAgoOptions() </script> <template> <template v-if="statusEdits"> <CommonDropdownItem v-for="(edit, idx) in statusEdits" :key="idx" px="0.5" @click="showHistory(edit)" > {{ getDisplayName(edit.account) }} <template v-if="idx === statusEdits.length - 1"> <i18n-t keypath="status_history.created"> {{ formatTimeAgo(new Date(edit.createdAt), timeAgoOptions) }} </i18n-t> </template> <template v-else> <i18n-t keypath="status_history.edited"> {{ formatTimeAgo(new Date(edit.createdAt), timeAgoOptions) }} </i18n-t> </template> </CommonDropdownItem> </template> <template v-else> <div i-ri:loader-2-fill animate-spin text-2xl ma /> </template> </template>