diff --git a/front/src/modules/spreadsheet-import/components/ModalCloseButton.tsx b/front/src/modules/spreadsheet-import/components/ModalCloseButton.tsx index 8462b16dc..1d9552527 100644 --- a/front/src/modules/spreadsheet-import/components/ModalCloseButton.tsx +++ b/front/src/modules/spreadsheet-import/components/ModalCloseButton.tsx @@ -1,10 +1,13 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; +import { useSpreadsheetImportInitialStep } from '@/spreadsheet-import/hooks/useSpreadsheetImportInitialStep'; +import { useSpreadsheetImportInternal } from '@/spreadsheet-import/hooks/useSpreadsheetImportInternal'; import { ButtonVariant } from '@/ui/button/components/Button'; import { IconButton } from '@/ui/button/components/IconButton'; import { useDialog } from '@/ui/dialog/hooks/useDialog'; import { IconX } from '@/ui/icon/index'; +import { useStepBar } from '@/ui/step-bar/hooks/useStepBar'; const StyledCloseButtonContainer = styled.div` align-items: center; @@ -24,9 +27,23 @@ type ModalCloseButtonProps = { export const ModalCloseButton = ({ onClose }: ModalCloseButtonProps) => { const theme = useTheme(); + const { initialStepState } = useSpreadsheetImportInternal(); + + const { initialStep } = useSpreadsheetImportInitialStep( + initialStepState?.type, + ); + + const { activeStep } = useStepBar({ + initialStep, + }); + const { enqueueDialog } = useDialog(); function handleClose() { + if (activeStep === -1) { + onClose(); + return; + } enqueueDialog({ title: 'Exit import flow', message: 'Are you sure? Your current information will not be saved.',