import Emoji from '@/components/Emoji'
import customEmojiService from '@/services/custom-emoji.service'
import { emojis, shortcodeToEmoji } from '@tiptap/extension-emoji'
import { NodeViewRendererProps, NodeViewWrapper } from '@tiptap/react'
import { useMemo } from 'react'
export default function EmojiNode(props: NodeViewRendererProps) {
const emoji = useMemo(() => {
const name = props.node.attrs.name
if (customEmojiService.isCustomEmojiId(name)) {
return customEmojiService.getEmojiById(name)
}
return shortcodeToEmoji(name, emojis)?.emoji
}, [props.node.attrs.name])
if (!emoji) {
return null
}
if (typeof emoji === 'string') {
return (
{emoji}
)
}
return (
)
}