1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 'use client'
- import type { FC } from 'react'
- import React from 'react'
- import {
- useCSVDownloader,
- } from 'react-papaparse'
- import { useTranslation } from 'react-i18next'
- import cn from '@/utils/classnames'
- import { Download02 as DownloadIcon } from '@/app/components/base/icons/src/vender/solid/general'
- import Button from '@/app/components/base/button'
- export type IResDownloadProps = {
- isMobile: boolean
- values: Record<string, string>[]
- }
- const ResDownload: FC<IResDownloadProps> = ({
- isMobile,
- values,
- }) => {
- const { t } = useTranslation()
- const { CSVDownloader, Type } = useCSVDownloader()
- return (
- <CSVDownloader
- className="block cursor-pointer"
- type={Type.Link}
- filename={'result'}
- bom={true}
- config={{
- // delimiter: ';',
- }}
- data={values}
- >
- <Button className={cn('space-x-2 bg-white', isMobile ? '!p-0 !w-8 justify-center' : '')}>
- <DownloadIcon className='w-4 h-4 text-[#155EEF]' />
- {!isMobile && <span className='text-[#155EEF]'>{t('common.operation.download')}</span>}
- </Button>
- </CSVDownloader>
- )
- }
- export default React.memo(ResDownload)
|