1- ' use client' ;
1+ " use client" ;
22import {
33 createContext ,
44 useContext ,
55 FC ,
66 ReactNode ,
77 useState ,
88 useEffect ,
9- } from ' react' ;
10- import getUser from ' @/app/http/getUser' ;
11- import updateUser from ' @/app/http/updateUser' ;
12- import { useAuth } from ' ./AuthContext' ;
13- import { useRouter } from ' next/navigation' ;
14- import { auth } from ' @/app/config/firebase' ;
15- import { signOut } from ' firebase/auth' ;
16- import { useProp } from ' @/app/contexts/PropContext' ;
9+ } from " react" ;
10+ import getUser from " @/app/http/getUser" ;
11+ import updateUser from " @/app/http/updateUser" ;
12+ import { useAuth } from " ./AuthContext" ;
13+ import { useRouter } from " next/navigation" ;
14+ import { auth } from " @/app/config/firebase" ;
15+ import { signOut } from " firebase/auth" ;
16+ import { useProp } from " @/app/contexts/PropContext" ;
1717type UserAttributes = {
1818 id : number ;
1919 uid : string ;
@@ -38,13 +38,13 @@ interface UserContextProps {
3838 updateCurrentUser : ( userData : EditableUserAttributes ) => void ;
3939}
4040
41- const logger = require ( ' ../../logger' ) ;
41+ const logger = require ( " ../../logger" ) ;
4242const UserContext = createContext < UserContextProps | undefined > ( undefined ) ;
4343
4444export const useUser = ( ) => {
4545 const context = useContext ( UserContext ) ;
4646 if ( context === undefined ) {
47- throw new Error ( ' useUser must be used within a UserProvider' ) ;
47+ throw new Error ( " useUser must be used within a UserProvider" ) ;
4848 }
4949 return context ;
5050} ;
@@ -59,41 +59,43 @@ export const UserProvider: FC<UserProviderProps> = ({ children }) => {
5959 // can remove the following line as we check for user in req. maybe no more use for user const too.
6060 const uid = user ? user . uid : null ; // Access the UID if the user is authenticated
6161 const router = useRouter ( ) ;
62- const { handlePopUp, loading, handleLoading} = useProp ( ) ;
62+ const { handlePopUp, loading, handleLoading } = useProp ( ) ;
6363 useEffect ( ( ) => {
6464 const fetchUserData = ( ) => {
65- handleLoading ( true )
65+ handleLoading ( true ) ;
6666 if ( uid ) {
6767 getUser ( )
6868 . then ( ( userData ) => {
6969 setUserInfo ( userData ) ;
70- router . push ( ' /tpage' ) ;
71- handleLoading ( false , 1000 )
70+ router . push ( " /tpage" ) ;
71+ handleLoading ( false , 1000 ) ;
7272 } )
7373 . catch ( ( error ) => {
74- handlePopUp ( ' error' , error . message ) ;
74+ handlePopUp ( " error" , error . message ) ;
7575 signOut ( auth ) ;
7676 } ) ;
7777 } else {
7878 setUserInfo ( null ) ;
79- handleLoading ( false )
79+ handleLoading ( false ) ;
8080 }
8181 } ;
8282 if ( user ) {
83- fetchUserData ( ) ;
83+ setTimeout ( ( ) => {
84+ fetchUserData ( ) ;
85+ } , 1000 ) ;
8486 } else {
85- handleLoading ( false )
87+ handleLoading ( false ) ;
8688 }
8789 } , [ uid ] ) ;
8890 const updateCurrentUser = ( userData : EditableUserAttributes ) => {
8991 if ( uid ) {
9092 updateUser ( userData )
9193 . then ( ( response ) => {
92- logger . info ( ' User updated successfully:' , response ) ;
94+ logger . info ( " User updated successfully:" , response ) ;
9395 setUserInfo ( response . data [ 1 ] ) ;
9496 } )
9597 . catch ( ( error ) => {
96- logger . error ( ' Error updating user:' , error )
98+ logger . error ( " Error updating user:" , error ) ;
9799 } ) ;
98100 }
99101 } ;
@@ -102,9 +104,5 @@ export const UserProvider: FC<UserProviderProps> = ({ children }) => {
102104 updateCurrentUser,
103105 } ;
104106
105- return (
106- < UserContext . Provider value = { value } >
107- { children }
108- </ UserContext . Provider >
109- ) ;
107+ return < UserContext . Provider value = { value } > { children } </ UserContext . Provider > ;
110108} ;
0 commit comments