'use client' import type { FC } from 'react' import type { WorkflowCommentList } from '@/service/workflow-comment' import { memo, useEffect, useMemo } from 'react' import { UserAvatarList } from '@/app/components/base/user-avatar-list' import { useFormatTimeFromNow } from '@/hooks/use-format-time-from-now' import { useStore } from '../store' type CommentPreviewProps = { comment: WorkflowCommentList onClick?: () => void } const CommentPreview: FC = ({ comment, onClick }) => { const { formatTimeFromNow } = useFormatTimeFromNow() const setCommentPreviewHovering = useStore(s => s.setCommentPreviewHovering) const participants = useMemo(() => { const list = comment.participants ?? [] const author = comment.created_by_account if (!author) return [...list] const rest = list.filter(user => user.id !== author.id) return [author, ...rest] }, [comment.created_by_account, comment.participants]) useEffect(() => () => { setCommentPreviewHovering(false) }, [setCommentPreviewHovering]) return (
setCommentPreviewHovering(true)} onMouseLeave={() => setCommentPreviewHovering(false)} >
{comment.created_by_account.name}
{formatTimeFromNow(comment.updated_at * 1000)}
{comment.content}
) } export default memo(CommentPreview)