elk/components/status/StatusBody.vue

28 lines
720 B
Vue
Raw Normal View History

2022-11-14 02:20:07 +00:00
<script setup lang="ts">
import type { Status } from 'masto'
2022-11-20 21:21:53 +00:00
const { status } = defineProps<{
2022-11-14 02:20:07 +00:00
status: Status
}>()
const { translation } = useTranslation(status)
const [showContent, toggleContent] = $(useToggle(!status.sensitive))
2022-11-14 02:20:07 +00:00
</script>
<template>
2022-11-25 08:43:47 +00:00
<div class="status-body" whitespace-pre-wrap break-words>
<template v-if="status.sensitive">
{{ status.spoilerText }}
<button btn-outline px-2 py-1 text-3 @click="toggleContent()">
{{ showContent ? 'Show less' : 'Show more' }}
</button>
</template>
<ContentRichSetup
v-if="showContent"
:content="translation.visible ? translation.text : status.content"
:emojis="status.emojis"
/>
2022-11-20 21:21:53 +00:00
</div>
2022-11-14 02:20:07 +00:00
</template>