2022-11-25 08:12:49 +01:00
|
|
|
import type { Emoji } from 'masto'
|
|
|
|
|
|
|
|
defineOptions({
|
|
|
|
name: 'ContentRich',
|
|
|
|
})
|
|
|
|
|
2022-12-17 22:01:20 +01:00
|
|
|
const { content, emojis, markdown = true } = defineProps<{
|
2022-11-25 08:12:49 +01:00
|
|
|
content: string
|
2022-12-17 22:01:20 +01:00
|
|
|
markdown?: boolean
|
2022-11-25 08:57:39 +01:00
|
|
|
emojis?: Emoji[]
|
2022-11-25 08:12:49 +01:00
|
|
|
}>()
|
|
|
|
|
2022-12-27 19:38:57 +01:00
|
|
|
const useEmojis = computed(() => {
|
|
|
|
const result: Emoji[] = []
|
|
|
|
if (emojis)
|
|
|
|
result.push(...emojis)
|
|
|
|
|
|
|
|
result.push(...currentCustomEmojis.value.emojis)
|
|
|
|
|
|
|
|
return emojisArrayToObject(result)
|
|
|
|
})
|
|
|
|
|
2022-11-25 08:12:49 +01:00
|
|
|
export default () => h(
|
2022-11-27 01:19:45 +01:00
|
|
|
'span',
|
2023-01-01 15:29:11 +01:00
|
|
|
{ class: 'content-rich', dir: 'auto' },
|
2022-12-17 22:01:20 +01:00
|
|
|
contentToVNode(content, {
|
2022-12-27 19:38:57 +01:00
|
|
|
emojis: useEmojis.value,
|
2022-12-17 22:01:20 +01:00
|
|
|
markdown,
|
|
|
|
}),
|
2022-11-25 08:12:49 +01:00
|
|
|
)
|