diff --git a/components/MessageList.tsx b/components/MessageList.tsx index 4a587aa..0f25af2 100644 --- a/components/MessageList.tsx +++ b/components/MessageList.tsx @@ -1,9 +1,57 @@ 'use client'; -import { useEffect, useRef } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { useStore } from '@/lib/store'; import { renderMarkdown } from '@/lib/markdown'; +function CopyRow({ content, sources }: { content: string; sources: string[] }) { + const [copied, setCopied] = useState(false); + function copy() { + navigator.clipboard.writeText(content).then(() => { + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }); + } + return ( +
+ + {sources && sources.length > 0 && ( +
+ Sources: {[...new Set(sources)].join(', ')} +
+ )} +
+ ); +} + export default function MessageList() { const { messages, isLoading } = useStore(); const bottomRef = useRef(null); @@ -60,39 +108,7 @@ export default function MessageList() { {m.content} )} -
- {m.role === 'assistant' && ( - - )} - {m.sources && m.sources.length > 0 && ( -
- Sources: {[...new Set(m.sources)].join(', ')} -
- )} -
+ ))}