Import company and person from csv file (#1236)

* feat: wip implement back-end call csv import

* fix: rebase IconBrandTwitter missing

* feat: person and company csv import

* fix: test & clean

* fix: clean & test
This commit is contained in:
Jérémy M
2023-08-16 23:18:16 +02:00
committed by GitHub
parent 5890354d21
commit 8863bb0035
74 changed files with 950 additions and 312 deletions

View File

@ -0,0 +1,34 @@
import { useCallback, useState } from 'react';
import styled from '@emotion/styled';
import type XLSX from 'xlsx-ugnis';
import { Modal } from '@/ui/modal/components/Modal';
import { DropZone } from './components/DropZone';
const Content = styled(Modal.Content)`
padding: ${({ theme }) => theme.spacing(6)};
`;
type UploadProps = {
onContinue: (data: XLSX.WorkBook, file: File) => Promise<void>;
};
export const UploadStep = ({ onContinue }: UploadProps) => {
const [isLoading, setIsLoading] = useState(false);
const handleOnContinue = useCallback(
async (data: XLSX.WorkBook, file: File) => {
setIsLoading(true);
await onContinue(data, file);
setIsLoading(false);
},
[onContinue],
);
return (
<Content>
<DropZone onContinue={handleOnContinue} isLoading={isLoading} />
</Content>
);
};