@@ -13,7 +13,7 @@ import {
13
13
import Avatar , { genConfig } from 'react-nice-avatar' ;
14
14
15
15
export default function Navbar ( ) {
16
- const { isAuthenticated, logout, user } = useAuth ( ) ;
16
+ const { isAuthenticated, logout, user, isLoading } = useAuth ( ) ;
17
17
18
18
// Generate avatar config based on user's username
19
19
const avatarConfig = user ? genConfig ( user . username ) : undefined ;
@@ -31,52 +31,55 @@ export default function Navbar() {
31
31
< Link href = "/match" className = "text-gray-300 hover:text-white" >
32
32
Match
33
33
</ Link >
34
- { isAuthenticated ? (
35
- < DropdownMenu >
36
- < DropdownMenuTrigger asChild >
37
- < Button
38
- variant = "ghost"
39
- size = "icon"
40
- className = "relative h-8 w-8 overflow-hidden rounded-full p-0"
41
- >
42
- { avatarConfig ? (
43
- < div className = "h-full w-full scale-x-[-1] transform" >
44
- < Avatar
45
- style = { { width : '100%' , height : '100%' } }
46
- { ...avatarConfig }
47
- />
48
- </ div >
49
- ) : (
50
- < UserCircle className = "h-6 w-6 text-gray-300" />
51
- ) }
52
- < span className = "sr-only" > Open user menu</ span >
34
+ { ! isLoading &&
35
+ ( isAuthenticated ? (
36
+ < DropdownMenu >
37
+ < DropdownMenuTrigger asChild >
38
+ < Button
39
+ variant = "ghost"
40
+ size = "icon"
41
+ className = "relative h-8 w-8 overflow-hidden rounded-full p-0"
42
+ >
43
+ { avatarConfig ? (
44
+ < div className = "h-full w-full scale-x-[-1] transform" >
45
+ < Avatar
46
+ style = { { width : '100%' , height : '100%' } }
47
+ { ...avatarConfig }
48
+ />
49
+ </ div >
50
+ ) : (
51
+ < UserCircle className = "h-6 w-6 text-gray-300" />
52
+ ) }
53
+ < span className = "sr-only" > Open user menu</ span >
54
+ </ Button >
55
+ </ DropdownMenuTrigger >
56
+ < DropdownMenuContent align = "end" >
57
+ < DropdownMenuItem disabled >
58
+ < span className = "font-semibold" > Hi { user ?. username } </ span >
59
+ </ DropdownMenuItem >
60
+ < DropdownMenuItem asChild >
61
+ < Link href = "/profile" className = "w-full" >
62
+ Profile
63
+ </ Link >
64
+ </ DropdownMenuItem >
65
+ < DropdownMenuItem asChild >
66
+ < Link href = "/settings" className = "w-full" >
67
+ Settings
68
+ </ Link >
69
+ </ DropdownMenuItem >
70
+ < DropdownMenuItem onClick = { logout } >
71
+ < LogOut className = "mr-2 h-4 w-4" />
72
+ < span > Sign out</ span >
73
+ </ DropdownMenuItem >
74
+ </ DropdownMenuContent >
75
+ </ DropdownMenu >
76
+ ) : (
77
+ < Link href = "/signin" >
78
+ < Button className = "bg-blue-500 hover:bg-blue-600" >
79
+ Sign In
53
80
</ Button >
54
- </ DropdownMenuTrigger >
55
- < DropdownMenuContent align = "end" >
56
- < DropdownMenuItem disabled >
57
- < span className = "font-semibold" > Hi { user ?. username } </ span >
58
- </ DropdownMenuItem >
59
- < DropdownMenuItem asChild >
60
- < Link href = "/profile" className = "w-full" >
61
- Profile
62
- </ Link >
63
- </ DropdownMenuItem >
64
- < DropdownMenuItem asChild >
65
- < Link href = "/settings" className = "w-full" >
66
- Settings
67
- </ Link >
68
- </ DropdownMenuItem >
69
- < DropdownMenuItem onClick = { logout } >
70
- < LogOut className = "mr-2 h-4 w-4" />
71
- < span > Sign out</ span >
72
- </ DropdownMenuItem >
73
- </ DropdownMenuContent >
74
- </ DropdownMenu >
75
- ) : (
76
- < Link href = "/signin" >
77
- < Button className = "bg-blue-500 hover:bg-blue-600" > Sign In</ Button >
78
- </ Link >
79
- ) }
81
+ </ Link >
82
+ ) ) }
80
83
</ div >
81
84
</ div >
82
85
</ nav >
0 commit comments