fix user doc not being created

This commit is contained in:
Sidney Alcantara
2021-09-17 14:50:23 +10:00
parent 5f763e4408
commit 9be4600e21

View File

@@ -83,7 +83,7 @@ export const AppProvider: React.FC = ({ children }) => {
);
// Store matching userDoc
const [userDoc, dispatchUserDoc] = useDoc({});
const [userDoc, dispatchUserDoc] = useDoc({}, { createIfMissing: true });
// Get userDoc
useEffect(() => {
if (currentUser) {
@@ -95,12 +95,18 @@ export const AppProvider: React.FC = ({ children }) => {
// Set userDoc if it doesnt exist
useEffect(() => {
if (!userDoc.doc && !userDoc.loading && userDoc.path && currentUser) {
if (
(!userDoc.doc || !userDoc.doc.user) &&
!userDoc.loading &&
userDoc.path &&
currentUser
) {
const userFields = ["email", "displayName", "photoURL", "phoneNumber"];
const user = userFields.reduce((acc, curr) => {
if (currentUser[curr]) return { ...acc, [curr]: currentUser[curr] };
return acc;
}, {});
console.log("create user", userDoc.path, user);
db.doc(userDoc.path).set({ user }, { merge: true });
}
}, [userDoc, currentUser]);