Spaces:
Build error
Build error
import { | |
memo, | |
useCallback, | |
} from 'react' | |
import { | |
RiAttachmentLine, | |
} from '@remixicon/react' | |
import FileFromLinkOrLocal from '../file-from-link-or-local' | |
import ActionButton from '@/app/components/base/action-button' | |
import cn from '@/utils/classnames' | |
import type { FileUpload } from '@/app/components/base/features/types' | |
import { TransferMethod } from '@/types/app' | |
type FileUploaderInChatInputProps = { | |
fileConfig: FileUpload | |
} | |
const FileUploaderInChatInput = ({ | |
fileConfig, | |
}: FileUploaderInChatInputProps) => { | |
const renderTrigger = useCallback((open: boolean) => { | |
return ( | |
<ActionButton | |
size='l' | |
className={cn(open && 'bg-state-base-hover')} | |
> | |
<RiAttachmentLine className='w-5 h-5' /> | |
</ActionButton> | |
) | |
}, []) | |
return ( | |
<FileFromLinkOrLocal | |
trigger={renderTrigger} | |
fileConfig={fileConfig} | |
showFromLocal={fileConfig?.allowed_file_upload_methods?.includes(TransferMethod.local_file)} | |
showFromLink={fileConfig?.allowed_file_upload_methods?.includes(TransferMethod.remote_url)} | |
/> | |
) | |
} | |
export default memo(FileUploaderInChatInput) | |