import { FC, useCallback } from 'react'; import { Col, Row } from 'components/layout'; import { Text } from 'components/text'; import { CloseThick, Pencil, QuoteReply, ReplyThread } from 'icons'; import { Divider } from 'components/divider'; import { Fab } from 'components/fab'; import { useTheme } from 'hooks'; import { editingMessageIdVar, isEditingMessageVar } from 'state-management/chat'; import { MessageFragment, RichTextContentSegment } from 'expo-schema'; import { Visible } from 'components/visible'; import { Content } from '../content'; const referenceIcons: Record = { reply: , quote: , edit: , }; export const ReferenceMessage: FC = ({ variant, message }) => { const { activeThemeMode } = useTheme(); const lineBackgroundColor = activeThemeMode === 'dark' ? 'white' : 'primary'; const closeEditingMessage = useCallback(() => { isEditingMessageVar(false); editingMessageIdVar(''); }, []); const isMessage = message?.richTextContent && message?.richTextContent?.length > 0; return ( {referenceIcons[variant]} {message?.userName?.first} {message?.userName?.last} <> {message?.richTextContent?.map((richTextContent) => { return ( {}} key={richTextContent.id} placeholder="" richTextContent={richTextContent as RichTextContentSegment} /> ); })} } /> ); }; type ReferenceMessageType = ReferenceMessageProps; type ReferenceMessageVariant = 'reply' | 'quote' | 'edit'; export interface ReferenceMessageProps { variant: ReferenceMessageVariant; message: MessageFragment; }