Skip to content

Commit 7b0b675

Browse files
authored
Merge pull request #241 from janong24/signUpBuxFix
added delay for getUser in order for it to run after createUser
2 parents 38f27ce + 54dccad commit 7b0b675

File tree

1 file changed

+24
-26
lines changed

1 file changed

+24
-26
lines changed
Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
'use client';
1+
"use client";
22
import {
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";
1717
type 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");
4242
const UserContext = createContext<UserContextProps | undefined>(undefined);
4343

4444
export 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

Comments
 (0)