Skip to content

Commit 16c03c8

Browse files
committed
Update stepform routes
1 parent 45b2a59 commit 16c03c8

File tree

6 files changed

+85
-2
lines changed

6 files changed

+85
-2
lines changed
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import React from 'react';
2-
32
const Home = () => {
43
return <h1>Hi there!</h1>;
54
};
6-
75
export default Home;

src/pages/StepForm/Confirm.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import React from 'react';
2+
import { StepFormProps } from 'src/@types/stepForm';
3+
4+
const Confirm = (props: StepFormProps) => {
5+
return <h1>Form confirm</h1>;
6+
};
7+
8+
export { Confirm };
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import React from 'react';
2+
import { StepFormProps } from 'src/@types/stepForm';
3+
4+
const FormPersonalDetails = (props: StepFormProps) => {
5+
return <h1>Form personal details</h1>;
6+
};
7+
8+
export { FormPersonalDetails };
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import React, { SetStateAction } from 'react';
2+
import { StepFormProps } from 'src/@types/stepForm';
3+
4+
const FormUserDetails = (props: StepFormProps) => {
5+
return <h1>Form user details</h1>;
6+
};
7+
8+
export { FormUserDetails };

src/pages/StepForm/Success.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import React from 'react';
2+
import { StepFormProps } from 'src/@types/stepForm';
3+
4+
const Success = (props: StepFormProps) => {
5+
return <h1>Form user details</h1>;
6+
};
7+
8+
export { Success };

src/pages/StepForm/index.tsx

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import React, { useState } from 'react';
2+
import { FormUserDetails } from './FormUserDetails';
3+
import { FormPersonalDetails } from './FormPersonalDetails';
4+
import { Confirm } from './Confirm';
5+
import { Success } from './Success';
6+
import { StepFormType } from 'src/@types/stepForm';
7+
8+
const initialUserState: StepFormType = {
9+
firstName: '',
10+
lastName: '',
11+
email: '',
12+
occupation: '',
13+
city: '',
14+
bio: '',
15+
};
16+
17+
const StepForm = () => {
18+
const [formData, setFormData] = useState(initialUserState);
19+
const [step, setStep] = useState(0);
20+
21+
const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
22+
setFormData({ ...formData, [e.target.name]: e.target.value });
23+
};
24+
switch (step) {
25+
case 0:
26+
return (
27+
<FormUserDetails
28+
step={step}
29+
setStep={setStep}
30+
onChange={onChange}
31+
formData={formData}
32+
/>
33+
);
34+
case 1:
35+
return (
36+
<FormPersonalDetails
37+
step={step}
38+
setStep={setStep}
39+
onChange={onChange}
40+
formData={formData}
41+
/>
42+
);
43+
case 3:
44+
return <Confirm step={step} setStep={setStep} formData={formData} />;
45+
case 4:
46+
return <Success />;
47+
48+
default:
49+
return <div>StepForm Error</div>;
50+
}
51+
};
52+
53+
export default StepForm;

0 commit comments

Comments
 (0)