import { EditorContent, useEditor } from "@tiptap/react"; import { useEffect, memo } from "react"; import { UserTypeEnum } from "@core/types"; import { type ConversationHistory } from "@core/database"; import { cn } from "~/lib/utils"; import { extensionsForConversation } from "./editor-extensions"; import { skillExtension } from "../editor/skill-extension"; interface AIConversationItemProps { conversationHistory: ConversationHistory; } const ConversationItemComponent = ({ conversationHistory, }: AIConversationItemProps) => { const isUser = conversationHistory.userType === UserTypeEnum.User || conversationHistory.userType === UserTypeEnum.System; const id = `a${conversationHistory.id.replace(/-/g, "")}`; const editor = useEditor({ extensions: [...extensionsForConversation, skillExtension], editable: false, content: conversationHistory.message, }); useEffect(() => { editor?.commands.setContent(conversationHistory.message); // eslint-disable-next-line react-hooks/exhaustive-deps }, [id, conversationHistory.message]); if (!conversationHistory.message) { return null; } return (