import React from 'react'; import { ChatMessage, formatShortTime, useCachedUserInfo, } from 'tailchat-shared'; import { Avatar } from '@/components/Avatar'; import clsx from 'clsx'; interface ChatMessageItemProps { showAvatar: boolean; payload: ChatMessage; } export const ChatMessageItem: React.FC = React.memo( (props) => { const { showAvatar, payload } = props; const userInfo = useCachedUserInfo(payload.author ?? ''); return (
{showAvatar ? ( ) : (
{formatShortTime(payload.createdAt)}
)}
{showAvatar && (
{userInfo.nickname}
{formatShortTime(payload.createdAt)}
)}
{payload.content}
); } ); ChatMessageItem.displayName = 'ChatMessageItem';