| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 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)
 |