chatbot-template/app/chat-list.tsx

45 lines
1.3 KiB
TypeScript
Raw Normal View History

2023-06-02 15:33:48 -04:00
'use client'
2023-05-19 12:33:56 -04:00
2023-06-02 15:33:48 -04:00
import { type Message } from 'ai-connector'
2023-05-19 12:33:56 -04:00
2023-06-02 15:33:48 -04:00
import { ChatMessage } from './chat-message'
2023-06-07 16:17:59 +04:00
import { EmptyScreen } from './empty-screen'
2023-05-19 12:33:56 -04:00
export interface ChatList {
2023-06-02 15:33:48 -04:00
messages: Message[]
2023-05-19 12:33:56 -04:00
}
export function ChatList({ messages }: ChatList) {
return (
2023-06-07 16:17:59 +04:00
<div className="relative max-w-2xl mx-auto">
{/* <div className="sticky top-0 border-b w-full bg-black md:hidden text-white font-semibold">
2023-05-19 16:06:02 -04:00
<div className="px-4 py-2 flex items-center justify-between">
2023-05-23 17:17:27 +02:00
<div className="flex flex-row gap-2 whitespace-nowrap items-center">
2023-05-19 16:06:02 -04:00
<NextChatLogo className="h-6 w-6" />
<span className="select-none">Next.js Chatbot</span>
</div>
<div>
<button className="text-white p-2 rounded hover:bg-zinc-800 transition duration-100">
<Plus className="h-4 w-4" />
</button>
</div>
</div>
2023-06-07 16:17:59 +04:00
</div> */}
{messages.length > 0 ? (
<div className="group">
{messages.map(message => (
<ChatMessage
key={message.id || message.content}
message={message}
/>
))}
</div>
) : (
<div className="pt-10">
2023-05-23 16:49:07 +02:00
<EmptyScreen />
2023-06-07 16:17:59 +04:00
</div>
)}
2023-05-19 12:33:56 -04:00
</div>
2023-06-02 15:33:48 -04:00
)
2023-05-19 12:33:56 -04:00
}