Files
colanode/apps/desktop/src/renderer/components/messages/message-reference.tsx

44 lines
1.3 KiB
TypeScript
Raw Normal View History

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';
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({
type: 'message_get',
messageId,
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-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">
<MessageAuthorAvatar message={data} className="size-5 mt-1" />
<div className='"flex-grow flex-col gap-1'>
<MessageAuthorName message={data} />
<MessageContent message={data} />
</div>
</div>
);
};