Skip to content

Commit 9b80ca9

Browse files
committed
Merge branch 'master' into UGN-353-v2
# Conflicts: # package-lock.json
2 parents 0153812 + 5ec4244 commit 9b80ca9

4 files changed

Lines changed: 34 additions & 7 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-spreadsheet-import",
3-
"version": "3.0.0",
3+
"version": "3.0.1",
44
"description": "React spreadsheet import for xlsx and csv files with column matching and validation",
55
"main": "./dist-commonjs/index.js",
66
"module": "./dist/index.js",

src/hooks/useRsiInitialStep.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { useMemo } from "react"
2+
import { StepType } from "../steps/UploadFlow"
3+
4+
export const useRsiInitialStep = (initialStep?: StepType) => {
5+
const steps = ["uploadStep", "selectHeaderStep", "matchColumnsStep", "validationStep"] as const
6+
7+
const initialStepNumber = useMemo(() => {
8+
switch (initialStep) {
9+
case StepType.upload:
10+
return 0
11+
case StepType.selectSheet:
12+
return 0
13+
case StepType.selectHeader:
14+
return 1
15+
case StepType.matchColumns:
16+
return 2
17+
case StepType.validateData:
18+
return 3
19+
default:
20+
return 0
21+
}
22+
}, [initialStep])
23+
24+
return { steps, initialStep: initialStepNumber }
25+
}

src/steps/Steps.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@ import { ModalHeader } from "@chakra-ui/react"
33
import { useSteps, Step, Steps as Stepper } from "chakra-ui-steps"
44
import { CgCheck } from "react-icons/cg"
55
import { useRsi } from "../hooks/useRsi"
6+
import { useRsiInitialStep } from "../hooks/useRsiInitialStep"
67

78
const CheckIcon = ({ color }: { color: string }) => <CgCheck size="2.25rem" color={color} />
89

9-
const steps = ["uploadStep", "selectHeaderStep", "matchColumnsStep", "validationStep"] as const
10-
1110
export const Steps = () => {
12-
const { translations } = useRsi()
11+
const { initialStepState, translations } = useRsi()
12+
13+
const { steps, initialStep } = useRsiInitialStep(initialStepState?.type)
14+
1315
const { nextStep, activeStep } = useSteps({
14-
initialStep: 0,
16+
initialStep,
1517
})
1618

1719
return (

0 commit comments

Comments
 (0)