import { EditorRegex } from "@hey/data/regex"; import type { Emoji } from "@hey/types/misc"; import { useEditor } from "prosekit/react"; import { AutocompleteItem, AutocompleteList, AutocompletePopover } from "prosekit/react/autocomplete"; import { useState } from "react"; import cn from "@/helpers/cn"; import type { EditorExtension } from "@/helpers/prosekit/extension"; import useEmojis from "@/hooks/prosekit/useEmojis"; interface EmojiItemProps { emoji: Emoji; onSelect: VoidFunction; } const EmojiItem = ({ emoji, onSelect }: EmojiItemProps) => { return (
{emoji.emoji} {emoji.aliases[0].split("_").join(" ")}
); }; const EmojiPicker = () => { const editor = useEditor(); const [query, setQuery] = useState(""); const { emojis } = useEmojis({ query }); const handleInsert = (emoji: Emoji) => { editor.commands.insertText({ text: emoji.emoji }); }; return ( {emojis.map((emoji) => ( handleInsert(emoji)} /> ))} ); }; export default EmojiPicker;