@@ -40,42 +40,45 @@ export default function Navbar() {
40
40
}
41
41
42
42
function BrandingImage ( ) {
43
- return < div className = "flex-shrink-0 flex items-center" >
44
- < Link href = { "/" } >
45
- < img
46
- className = "block lg:hidden h-8 w-auto"
47
- src = "/logos/dark/transparent/logo.png"
48
- alt = "DisCal"
49
- />
50
- < img
51
- className = "hidden lg:block h-8 w-auto"
52
- src = "/logos/dark/transparent/logo-type.png"
53
- alt = "DisCal"
54
- />
55
- < span className = "sr-only" > Homepage</ span >
56
- </ Link >
57
- </ div >
43
+ return (
44
+ < div className = "flex-shrink-0 flex items-center" >
45
+ < Link href = { "/" } >
46
+ < img
47
+ className = "block lg:hidden h-8 w-auto"
48
+ src = "/logos/dark/transparent/logo.png"
49
+ alt = "DisCal"
50
+ />
51
+ < img
52
+ className = "hidden lg:block h-8 w-auto"
53
+ src = "/logos/dark/transparent/logo-type.png"
54
+ alt = "DisCal"
55
+ />
56
+ < span className = "sr-only" > Homepage</ span >
57
+ </ Link >
58
+ </ div >
59
+ ) ;
58
60
}
59
61
60
62
function DesktopNavigationItems ( ) {
61
- return < div className = "hidden sm:block sm:ml-6" >
62
- < div className = "flex space-x-4" >
63
- { navigation . map ( ( item ) => (
64
- < Link href = { item . href } key = { item . name } >
65
- < a
63
+ return (
64
+ < div className = "hidden sm:block sm:ml-6" >
65
+ < div className = "flex space-x-4" >
66
+ { navigation . map ( ( item ) => (
67
+ < Link
68
+ href = { item . href }
69
+ key = { item . name }
66
70
className = { classNames (
67
71
currentPage ( router , item . href ) ? 'bg-discal-dark-blue text-white' :
68
72
'text-white hover:bg-discal-dark-grey hover:text-white' ,
69
73
'px-3 py-2 rounded-md text-sm font-medium'
70
74
) }
71
- aria-current = { currentPage ( router , item . href ) ? 'page' : undefined }
72
- >
75
+ aria-current = { currentPage ( router , item . href ) ? 'page' : undefined } >
73
76
{ item . name }
74
- </ a >
75
- </ Link >
76
- ) ) }
77
+ </ Link >
78
+ ) ) }
79
+ </ div >
77
80
</ div >
78
- </ div >
81
+ ) ;
79
82
}
80
83
81
84
function SupportButton ( ) {
@@ -89,75 +92,86 @@ export default function Navbar() {
89
92
}
90
93
91
94
function LoginButton ( ) : JSX . Element {
92
- return < Link href = "/login" >
93
- < a className = "bg-discal-dark-blue text-white px-3 py-2 rounded-md text-sm font-medium"
94
- onClick = { ( ) => saveToLocalStorage ( "previous_page" , window . location . href ) } >
95
- Login
96
- </ a >
97
- </ Link >
95
+ return (
96
+ < Link
97
+ href = "/login"
98
+ className = "bg-discal-dark-blue text-white px-3 py-2 rounded-md text-sm font-medium"
99
+ onClick = { ( ) => saveToLocalStorage ( "previous_page" , window . location . href ) } >
100
+
101
+ Login
102
+
103
+ </ Link >
104
+ ) ;
98
105
}
99
106
100
107
function ProfileDropdown ( props : { user : User } ) : JSX . Element {
101
- return < Menu as = "div" className = "ml-3 relative" >
102
- < div >
103
- < Menu . Button
104
- className = "bg-discal-dark-blue flex text-sm rounded-full focus:outline-none focus:ring-2
105
- focus:ring-offset-2 focus:ring-offset-discal-dark-grey focus:ring-white" >
106
- < span className = "sr-only" > Open user menu</ span >
107
- < img className = "h-8 w-8 rounded-full"
108
- src = { props . user . avatar }
109
- alt = "Profile Photo"
110
- />
111
- </ Menu . Button >
112
- </ div >
113
- < Transition
114
- as = { Fragment }
115
- enter = "transition ease-out duration-100"
116
- enterFrom = "opacity-0 scale-95"
117
- enterTo = "opacity-100 scale-100"
118
- leave = "transition ease-in duration-75"
119
- leaveFrom = "opacity-100 scale-100"
120
- leaveTo = "opacity-0 scale-95"
121
- >
122
- < Menu . Items className = "z-[999] origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1
123
- bg-discord-not-quite-black ring-1 ring-black ring-opacity-5 focus:outline-none" >
124
- < Menu . Item >
125
- < p className = "block px-4 py-2 text-sm text-discal-light-grey" >
126
- { props . user . username } #{ props . user . discriminator }
127
- </ p >
128
- </ Menu . Item >
129
- < Menu . Item >
130
- < Link href = '/logout' >
131
- < a role = { "button" } className = "block px-4 py-2 text-sm text-discal-red" >
132
- Sign out
133
- </ a >
134
- </ Link >
135
- </ Menu . Item >
136
- </ Menu . Items >
137
- </ Transition >
138
- </ Menu >
108
+ return (
109
+ < Menu as = "div" className = "ml-3 relative" >
110
+ < div >
111
+ < Menu . Button
112
+ className = "bg-discal-dark-blue flex text-sm rounded-full focus:outline-none focus:ring-2
113
+ focus:ring-offset-2 focus:ring-offset-discal-dark-grey focus:ring-white" >
114
+ < span className = "sr-only" > Open user menu</ span >
115
+ < img className = "h-8 w-8 rounded-full"
116
+ src = { props . user . avatar }
117
+ alt = "Profile Photo"
118
+ />
119
+ </ Menu . Button >
120
+ </ div >
121
+ < Transition
122
+ as = { Fragment }
123
+ enter = "transition ease-out duration-100"
124
+ enterFrom = "opacity-0 scale-95"
125
+ enterTo = "opacity-100 scale-100"
126
+ leave = "transition ease-in duration-75"
127
+ leaveFrom = "opacity-100 scale-100"
128
+ leaveTo = "opacity-0 scale-95"
129
+ >
130
+ < Menu . Items className = "z-[999] origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1
131
+ bg-discord-not-quite-black ring-1 ring-black ring-opacity-5 focus:outline-none" >
132
+ < Menu . Item >
133
+ < p className = "block px-4 py-2 text-sm text-discal-light-grey" >
134
+ { props . user . username } #{ props . user . discriminator }
135
+ </ p >
136
+ </ Menu . Item >
137
+ < Menu . Item >
138
+ < Link
139
+ href = '/logout'
140
+ role = { "button" }
141
+ className = "block px-4 py-2 text-sm text-discal-red" >
142
+
143
+ Sign out
144
+
145
+ </ Link >
146
+ </ Menu . Item >
147
+ </ Menu . Items >
148
+ </ Transition >
149
+ </ Menu >
150
+ ) ;
139
151
}
140
152
141
153
function MobileDropdownNav ( ) : JSX . Element {
142
- return < Disclosure . Panel className = "sm:hidden" onClick = { ( ) => setOpen ( ! open ) } >
143
- < div className = "px-2 pt-2 pb-3 space-y-1" >
144
- { navigation . map ( ( item ) => (
145
- < Link href = { item . href } key = { item . name } passHref >
146
- < Disclosure . Button
147
- as = "a"
148
- className = { classNames (
149
- currentPage ( router , item . href ) ? 'bg-discal-dark-blue text-white' :
150
- 'text-white hover:bg-discal-dark-grey hover:text-white' ,
151
- 'block px-3 py-2 rounded-md text-base font-medium'
152
- ) }
153
- aria-current = { currentPage ( router , item . href ) ? 'page' : undefined }
154
- >
155
- { item . name }
156
- </ Disclosure . Button >
157
- </ Link >
158
- ) ) }
159
- </ div >
160
- </ Disclosure . Panel >
154
+ return (
155
+ < Disclosure . Panel className = "sm:hidden" onClick = { ( ) => setOpen ( ! open ) } >
156
+ < div className = "px-2 pt-2 pb-3 space-y-1" >
157
+ { navigation . map ( ( item ) => (
158
+ < Link href = { item . href } key = { item . name } passHref legacyBehavior >
159
+ < Disclosure . Button
160
+ as = "a"
161
+ className = { classNames (
162
+ currentPage ( router , item . href ) ? 'bg-discal-dark-blue text-white' :
163
+ 'text-white hover:bg-discal-dark-grey hover:text-white' ,
164
+ 'block px-3 py-2 rounded-md text-base font-medium'
165
+ ) }
166
+ aria-current = { currentPage ( router , item . href ) ? 'page' : undefined }
167
+ >
168
+ { item . name }
169
+ </ Disclosure . Button >
170
+ </ Link >
171
+ ) ) }
172
+ </ div >
173
+ </ Disclosure . Panel >
174
+ ) ;
161
175
}
162
176
163
177
return < Disclosure as = "nav" className = "bg-discal-blue" >
0 commit comments