| | |
| | | useCSVReader, |
| | | } from 'react-papaparse' |
| | | import { useTranslation } from 'react-i18next' |
| | | import s from './style.module.css' |
| | | import cn from '@/utils/classnames' |
| | | import { Csv as CSVIcon } from '@/app/components/base/icons/src/public/files' |
| | | |
| | |
| | | <> |
| | | <div |
| | | {...getRootProps()} |
| | | className={cn( |
| | | 'system-sm-regular flex h-20 items-center rounded-xl border border-dashed border-components-dropzone-border bg-components-dropzone-bg', |
| | | acceptedFile && 'border-solid border-components-panel-border bg-components-panel-on-panel-item-bg px-6 hover:border-components-panel-bg-blur hover:bg-components-panel-on-panel-item-bg-hover', |
| | | zoneHover && 'border border-components-dropzone-border-accent bg-components-dropzone-bg-accent', |
| | | )} |
| | | className={cn(s.zone, zoneHover && s.zoneHover, acceptedFile ? 'px-6' : 'justify-center border-dashed text-gray-500')} |
| | | > |
| | | { |
| | | acceptedFile |
| | | ? ( |
| | | <div className='flex w-full items-center space-x-2'> |
| | | <div className='w-full flex items-center space-x-2'> |
| | | <CSVIcon className="shrink-0" /> |
| | | <div className='flex w-0 grow'> |
| | | <span className='max-w-[calc(100%_-_30px)] truncate text-text-secondary'>{acceptedFile.name.replace(/.csv$/, '')}</span> |
| | | <span className='shrink-0 text-text-tertiary'>.csv</span> |
| | | <span className='max-w-[calc(100%_-_30px)] text-ellipsis whitespace-nowrap overflow-hidden text-gray-800'>{acceptedFile.name.replace(/.csv$/, '')}</span> |
| | | <span className='shrink-0 text-gray-500'>.csv</span> |
| | | </div> |
| | | </div> |
| | | ) |
| | | : ( |
| | | <div className='flex w-full items-center justify-center space-x-2'> |
| | | <div className='flex items-center justify-center space-x-2'> |
| | | <CSVIcon className="shrink-0" /> |
| | | <div className='text-text-tertiary'>{t('share.generation.csvUploadTitle')}<span className='cursor-pointer text-text-accent'>{t('share.generation.browse')}</span></div> |
| | | <div className='text-gray-500'>{t('share.generation.csvUploadTitle')}<span className='text-primary-400'>{t('share.generation.browse')}</span></div> |
| | | </div> |
| | | )} |
| | | </div> |