Files
Verso/libraries/ai/components/chat-prompt-input.tsx
T
8024fe2c58 [web] Add AI workbench to alpha users (#29417)
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 79bb329932b1e6fcc88f648bca9cc4bee215cd41
2025-11-11 09:06:08 +00:00

52 lines
1.2 KiB
TypeScript

import { FC } from 'react'
import {
PromptInput,
PromptInputAttachment,
PromptInputAttachments,
PromptInputBody,
PromptInputFooter,
PromptInputHeader,
PromptInputMessage,
PromptInputSubmit,
PromptInputSubmitProps,
PromptInputTextarea,
PromptInputTools,
usePromptInputController,
} from './ai-elements/prompt-input'
export const ChatPromptInput: FC<{
status: PromptInputSubmitProps['status']
onSubmit: (message: PromptInputMessage) => Promise<boolean>
}> = ({ status, onSubmit }) => {
const controller = usePromptInputController()
return (
<PromptInput
onSubmit={async message => {
const result = await onSubmit(message)
if (result) {
controller.textInput.clear()
}
}}
globalDrop
multiple
className="mt-4"
>
<PromptInputHeader>
<PromptInputAttachments>
{attachment => <PromptInputAttachment data={attachment} />}
</PromptInputAttachments>
</PromptInputHeader>
<PromptInputBody>
<PromptInputTextarea />
</PromptInputBody>
<PromptInputFooter>
<PromptInputTools />
<PromptInputSubmit status={status} />
</PromptInputFooter>
</PromptInput>
)
}