import { eq, useLiveQuery } from '@tanstack/react-db'; import { LocalMessageNode } from '@colanode/client/types'; import { collections } from '@colanode/ui/collections'; import { MessageAuthorAvatar } from '@colanode/ui/components/messages/message-author-avatar'; import { MessageAuthorName } from '@colanode/ui/components/messages/message-author-name'; import { MessageContent } from '@colanode/ui/components/messages/message-content'; import { useWorkspace } from '@colanode/ui/contexts/workspace'; interface MessageReferenceProps { messageId: string; } export const MessageReference = ({ messageId }: MessageReferenceProps) => { const workspace = useWorkspace(); const messageGetQuery = useLiveQuery( (q) => q .from({ messages: collections.workspace(workspace.userId).messages }) .where(({ messages }) => eq(messages.id, messageId)) .findOne(), [workspace.userId, messageId] ); if (messageGetQuery.isLoading) { return null; } const message = messageGetQuery.data as LocalMessageNode; if (!message) { return (
Message not found or has been deleted
); } return (
); };