This commit is contained in:
LucasLassiter
2022-05-11 14:56:59 -07:00
parent fb28b8380d
commit c20b6bea70
7 changed files with 371 additions and 579 deletions

View File

@@ -1,14 +1,39 @@
import '../styles/globals.css'
import Navbar from '../components/Navbar';
import { Toaster } from 'react-hot-toast';
import { UserContext } from '../lib/context';
import { auth, firestore } from '../lib/firebase';
import { useEffect, useState } from 'react';
import { useAuthState } from 'react-firebase-hooks/auth';
function MyApp({ Component, pageProps }) {
const [user] = useAuthState(auth);
const [username, setUsername] = useState(null);
useEffect(() => {
//turn off realtime subscription
let unsubscribe;
if (user) {
const ref = firestore.collection('users').doc(user.uid);
unsubscribe = ref.onSnapshot((doc) => {
setUsername(doc.data()?.username);
});
} else {
setUsername(null);
}
return unsubscribe;
}, [user]);
return (
<>
<UserContext.Provider value={{ user, username}}>
<Navbar />
<Component {...pageProps} />
<Toaster />
</>
</UserContext.Provider>
);
}