import getAvatar from "@hey/helpers/getAvatar"; import { Image } from "@/components/Shared/UI"; import { defineEditorExtension } from "@/helpers/prosekit/extension"; import { htmlFromMarkdown } from "@/helpers/prosekit/markdown"; import useContentChange from "@/hooks/prosekit/useContentChange"; import useFocus from "@/hooks/prosekit/useFocus"; import { usePaste } from "@/hooks/prosekit/usePaste"; import { usePostStore } from "@/store/non-persisted/post/usePostStore"; import { useAccountStore } from "@/store/persisted/useAccountStore"; import "prosekit/basic/style.css"; import { createEditor } from "prosekit/core"; import { ProseKit } from "prosekit/react"; import { useMemo, useRef } from "react"; import { useEditorHandle } from "./EditorHandle"; import EditorMenus from "./EditorMenus"; interface EditorProps { isComment: boolean; } const Editor = ({ isComment }: EditorProps) => { const { currentAccount } = useAccountStore(); const { postContent } = usePostStore(); const defaultMarkdownRef = useRef(postContent); const defaultContent = useMemo(() => { const markdown = defaultMarkdownRef.current; return markdown ? htmlFromMarkdown(markdown) : undefined; }, []); const editor = useMemo(() => { const extension = defineEditorExtension(); return createEditor({ defaultContent, extension }); }, [defaultContent]); useFocus(editor, isComment); useContentChange(editor); usePaste(editor); useEditorHandle(editor); return (
{currentAccount?.address}
); }; export default Editor;