Spaces:
Runtime error
Runtime error
import React from "react"; | |
import { ChatRequestOptions } from "ai"; | |
import { Message } from "ai/react"; | |
import ChatBottombar from "./chat-bottombar"; | |
import ChatList from "./chat-list"; | |
import { ChatOptions } from "./chat-options"; | |
import ChatTopbar from "./chat-topbar"; | |
export interface ChatProps { | |
chatId?: string; | |
setChatId: React.Dispatch<React.SetStateAction<string>>; | |
messages: Message[]; | |
input: string; | |
handleInputChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void; | |
handleSubmit: ( | |
e: React.FormEvent<HTMLFormElement>, | |
chatRequestOptions?: ChatRequestOptions | |
) => void; | |
isLoading: boolean; | |
error: undefined | Error; | |
stop: () => void; | |
} | |
export interface ChatTopbarProps { | |
chatOptions: ChatOptions; | |
setChatOptions: React.Dispatch<React.SetStateAction<ChatOptions>>; | |
} | |
export default function Chat({ | |
messages, | |
input, | |
handleInputChange, | |
handleSubmit, | |
isLoading, | |
error, | |
stop, | |
chatOptions, | |
setChatOptions, | |
chatId, | |
setChatId, | |
}: ChatProps & ChatTopbarProps) { | |
return ( | |
<div className="flex flex-col justify-between w-full h-full "> | |
<ChatTopbar | |
chatOptions={chatOptions} | |
setChatOptions={setChatOptions} | |
isLoading={isLoading} | |
chatId={chatId} | |
setChatId={setChatId} | |
messages={messages} | |
/> | |
<ChatList | |
messages={messages} | |
isLoading={isLoading} | |
/> | |
<ChatBottombar | |
selectedModel={chatOptions.selectedModel} | |
input={input} | |
handleInputChange={handleInputChange} | |
handleSubmit={handleSubmit} | |
isLoading={isLoading} | |
stop={stop} | |
/> | |
</div> | |
); | |
} | |