Pass page props user to auth provider if present

This commit is contained in:
Marshall Polaris 2022-08-06 14:52:01 -07:00
parent fd308151b3
commit 235bc9db28
2 changed files with 6 additions and 6 deletions

View File

@ -1,4 +1,4 @@
import { createContext, useEffect } from 'react'
import { ReactNode, createContext, useEffect } from 'react'
import { User } from 'common/user'
import { onIdTokenChanged } from 'firebase/auth'
import {
@ -28,11 +28,11 @@ const ensureDeviceToken = () => {
return deviceToken
}
export const AuthContext = createContext<AuthUser>(null)
export function AuthProvider({ children }: any) {
const [authUser, setAuthUser] = useStateCheckEquality<AuthUser>(undefined)
export const AuthContext = createContext<AuthUser>(undefined)
export function AuthProvider(props: { children: ReactNode; user?: AuthUser }) {
const { children, user } = props
const [authUser, setAuthUser] = useStateCheckEquality<AuthUser>(user)
useEffect(() => {
const cachedUser = localStorage.getItem(CACHED_USER_KEY)
setAuthUser(cachedUser && JSON.parse(cachedUser))

View File

@ -79,7 +79,7 @@ function MyApp({ Component, pageProps }: AppProps) {
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
</Head>
<AuthProvider>
<AuthProvider user={pageProps.user}>
<QueryClientProvider client={queryClient}>
<Welcome {...pageProps} />
<Component {...pageProps} />