Skip to content

Commit da9cf87

Browse files
committed
feat: Create CurrentUser type.
1 parent 7c15152 commit da9cf87

2 files changed

Lines changed: 21 additions & 6 deletions

File tree

src/components/Layout/SettingsLayout/SettingsLayout.tsx

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { User } from 'firebase/auth'
21
import React, { useEffect, useState } from 'react'
32
import 'react-contexify/dist/ReactContexify.css'
43
import { NavLink, Outlet } from 'react-router-dom'
54
import toast from 'react-simple-toasts'
65
import { auth } from 'src/features/auth'
6+
import { CurrentUser } from 'src/types'
77
import './settings.css'
88

99
interface UserInfoProps {
10-
userInfo: User // Define the type of userInfo
10+
userInfo: CurrentUser
1111
}
1212

1313
const UserInfo = ({ userInfo }: UserInfoProps) => {
@@ -23,9 +23,9 @@ const UserInfo = ({ userInfo }: UserInfoProps) => {
2323
}
2424
return (
2525
<div className="userCard">
26-
{userInfo?.photoURL && <img src={userInfo.photoURL} className="userImage"></img>}
26+
{userInfo?.imageURL && <img src={userInfo.imageURL} className="userImage"></img>}
2727
<div className="userInfos">
28-
<div className="userName">{userInfo?.displayName}</div>
28+
<div className="userName">{userInfo?.name}</div>
2929
<div className="userEmail">{userInfo?.email}</div>
3030
</div>
3131
<button className="logoutBtn" onClick={logout}>
@@ -36,10 +36,19 @@ const UserInfo = ({ userInfo }: UserInfoProps) => {
3636
}
3737

3838
export const SettingsLayout = () => {
39-
const [user, setUser] = useState<User | null>(null)
39+
const [user, setUser] = useState<CurrentUser | null>(null)
4040
useEffect(() => {
4141
const unsubscribe = auth.onAuthStateChanged((user) => {
42-
setUser(user)
42+
if (user) {
43+
const currentUser = {
44+
name: user?.displayName || '',
45+
email: user?.email || '',
46+
imageUrl: user?.photoURL || '',
47+
}
48+
setUser(currentUser)
49+
} else {
50+
setUser(null)
51+
}
4352
})
4453
return () => unsubscribe()
4554
})

src/types/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,9 @@ export type DNDDuration =
123123
}
124124
| 'always'
125125
| 'never'
126+
127+
export type CurrentUser = {
128+
name: string
129+
email: string
130+
imageURL?: string
131+
}

0 commit comments

Comments
 (0)