1
1
"use client" ;
2
2
3
- import { User } from "@/types/User" ;
4
- import { createContext , useCallback , useState } from "react" ;
3
+ import { UserProfile } from "@/types/User" ;
4
+ import { createContext , useCallback , useContext , useState } from "react" ;
5
5
6
6
interface OnboardMultiStepFormContextType {
7
- user : User | null ;
7
+ userProfile : UserProfile | null ;
8
8
totalSteps : number ;
9
9
currStep : number ;
10
10
nextStep : ( ) => void ;
11
11
prevStep : ( ) => void ;
12
- updateUser : ( val : User ) => void ;
12
+ updateUser : ( val : UserProfile ) => void ;
13
13
}
14
14
15
15
const defaultValues : OnboardMultiStepFormContextType = {
16
- user : null ,
16
+ userProfile : null ,
17
17
totalSteps : 3 ,
18
18
currStep : 1 ,
19
19
nextStep : ( ) => { } ,
@@ -24,13 +24,17 @@ const defaultValues: OnboardMultiStepFormContextType = {
24
24
export const OnboardMultiStepFormContext =
25
25
createContext < OnboardMultiStepFormContextType > ( defaultValues ) ;
26
26
27
+ export function useOnboardMultiStepFormContext ( ) {
28
+ return useContext ( OnboardMultiStepFormContext ) ;
29
+ }
30
+
27
31
export function OnboardMultiStepFormProvider ( {
28
32
children,
29
33
} : {
30
34
children : React . ReactNode ;
31
35
} ) {
32
36
const [ currStep , setCurrStep ] = useState < number > ( defaultValues . currStep ) ;
33
- const [ user , setUser ] = useState < User | null > ( defaultValues . user ) ;
37
+ const [ userProfile , setUser ] = useState < UserProfile | null > ( defaultValues . userProfile ) ;
34
38
35
39
const nextStep = useCallback ( ( ) => {
36
40
setCurrStep ( ( prevCurrStep ) =>
@@ -42,7 +46,7 @@ export function OnboardMultiStepFormProvider({
42
46
setCurrStep ( ( prevCurrStep ) => Math . max ( prevCurrStep - 1 , 1 ) ) ;
43
47
} , [ ] ) ;
44
48
45
- const updateUser = useCallback ( ( updatedUser : User ) => {
49
+ const updateUser = useCallback ( ( updatedUser : UserProfile ) => {
46
50
setUser ( ( prevUser ) => ( {
47
51
...prevUser ,
48
52
...updatedUser ,
@@ -52,7 +56,7 @@ export function OnboardMultiStepFormProvider({
52
56
return (
53
57
< OnboardMultiStepFormContext . Provider
54
58
value = { {
55
- user ,
59
+ userProfile ,
56
60
totalSteps : defaultValues . totalSteps ,
57
61
currStep,
58
62
nextStep,
0 commit comments