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