2025-01-09 11:13:22 +01:00
|
|
|
import { MessageAuthorAvatar } from '@/renderer/components/messages/message-author-avatar';
|
|
|
|
|
import { MessageAuthorName } from '@/renderer/components/messages/message-author-name';
|
|
|
|
|
import { MessageContent } from '@/renderer/components/messages/message-content';
|
|
|
|
|
import { useWorkspace } from '@/renderer/contexts/workspace';
|
|
|
|
|
import { useQuery } from '@/renderer/hooks/use-query';
|
2025-02-05 22:40:35 +01:00
|
|
|
import { LocalMessageNode } from '@/shared/types/nodes';
|
2024-12-02 00:44:02 +01:00
|
|
|
|
2025-01-09 11:13:22 +01:00
|
|
|
interface MessageReferenceProps {
|
|
|
|
|
messageId: string;
|
|
|
|
|
}
|
2024-11-22 13:40:58 +01:00
|
|
|
|
2025-01-09 11:13:22 +01:00
|
|
|
export const MessageReference = ({ messageId }: MessageReferenceProps) => {
|
|
|
|
|
const workspace = useWorkspace();
|
|
|
|
|
const { data, isPending } = useQuery({
|
2025-02-05 22:40:35 +01:00
|
|
|
type: 'node_get',
|
|
|
|
|
nodeId: messageId,
|
2025-01-17 14:35:13 +01:00
|
|
|
accountId: workspace.accountId,
|
|
|
|
|
workspaceId: workspace.id,
|
2025-01-09 11:13:22 +01:00
|
|
|
});
|
2024-11-22 13:40:58 +01:00
|
|
|
|
2025-01-09 11:13:22 +01:00
|
|
|
if (isPending) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
2024-11-22 13:40:58 +01:00
|
|
|
|
2025-02-05 22:40:35 +01:00
|
|
|
const message = data as LocalMessageNode;
|
|
|
|
|
|
2025-01-09 11:13:22 +01:00
|
|
|
if (!data) {
|
|
|
|
|
return (
|
|
|
|
|
<div className="flex flex-row gap-2 border-l-4 p-2">
|
|
|
|
|
<span className="text-sm text-muted-foreground">
|
|
|
|
|
Message not found or has been deleted
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
2024-11-22 13:40:58 +01:00
|
|
|
|
2025-01-09 11:13:22 +01:00
|
|
|
return (
|
|
|
|
|
<div className="flex flex-row gap-2 border-l-4 p-2">
|
2025-02-05 22:40:35 +01:00
|
|
|
<MessageAuthorAvatar message={message} className="size-5 mt-1" />
|
2025-01-09 11:13:22 +01:00
|
|
|
<div className='"flex-grow flex-col gap-1'>
|
2025-02-05 22:40:35 +01:00
|
|
|
<MessageAuthorName message={message} />
|
|
|
|
|
<MessageContent message={message} />
|
2025-01-09 11:13:22 +01:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
};
|