'use client';
import ChatInput from '@/component/chat-input';
import { useChat } from '@ai-sdk/react';
import { DefaultChatTransport } from 'ai';
export default function Chat() {
const { error, status, sendMessage, messages, regenerate, stop } = useChat({
transport: new DefaultChatTransport({
api: '/api/use-chat-custom-sources',
}),
});
return (
{messages.map(message => (
{message.role === 'user' ? 'User: ' : 'AI: '}
{message.parts
.filter(part => part.type !== 'source-url')
.map((part, index) => {
if (part.type === 'text') {
return
{part.text}
;
}
})}
{message.parts
.filter(part => part.type === 'source-url')
.map(part => (
[
{part.title ?? new URL(part.url).hostname}
]
))}
))}
{(status === 'submitted' || status === 'streaming') && (
{status === 'submitted' &&
Loading...
}
)}
{error && (
An error occurred.
)}
sendMessage({ text })} />
);
}