* feat: wip import csv * feat: start implementing twenty UI * feat: new radio button component * feat: use new radio button component and fix scroll issue * fix: max height modal * feat: wip try to customize react-data-grid to match design * feat: wip match columns * feat: wip match column selection * feat: match column * feat: clean heading component & try to fix scroll in last step * feat: validation step * fix: small cleaning and remove unused component * feat: clean folder architecture * feat: remove translations * feat: remove chackra theme * feat: remove unused libraries * feat: use option button to open spreadsheet & fix stories * Fix lint and fix imports --------- Co-authored-by: Charles Bochet <charles@twenty.com>
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import styled from '@emotion/styled';
|
|
|
|
import { useRsi } from '@/spreadsheet-import/hooks/useRsi';
|
|
import { useRsiInitialStep } from '@/spreadsheet-import/hooks/useRsiInitialStep';
|
|
import { Modal } from '@/ui/modal/components/Modal';
|
|
import { StepBar } from '@/ui/step-bar/components/StepBar';
|
|
import { useStepBar } from '@/ui/step-bar/hooks/useStepBar';
|
|
|
|
import { UploadFlow } from './UploadFlow';
|
|
|
|
const Header = styled(Modal.Header)`
|
|
background-color: ${({ theme }) => theme.background.secondary};
|
|
border-bottom: 1px solid ${({ theme }) => theme.border.color.medium};
|
|
height: 60px;
|
|
padding: 0px;
|
|
padding-left: ${({ theme }) => theme.spacing(30)};
|
|
padding-right: ${({ theme }) => theme.spacing(30)};
|
|
`;
|
|
|
|
const stepTitles = {
|
|
uploadStep: 'Upload file',
|
|
matchColumnsStep: 'Match columns',
|
|
validationStep: 'Validate data',
|
|
} as const;
|
|
|
|
export const Steps = () => {
|
|
const { initialStepState } = useRsi();
|
|
|
|
const { steps, initialStep } = useRsiInitialStep(initialStepState?.type);
|
|
|
|
const { nextStep, activeStep } = useStepBar({
|
|
initialStep,
|
|
});
|
|
|
|
return (
|
|
<>
|
|
<Header>
|
|
<StepBar activeStep={activeStep}>
|
|
{steps.map((key) => (
|
|
<StepBar.Step label={stepTitles[key]} key={key} />
|
|
))}
|
|
</StepBar>
|
|
</Header>
|
|
<UploadFlow nextStep={nextStep} />
|
|
</>
|
|
);
|
|
};
|