1
1
import React , { Fragment , JSX , useContext } from 'react'
2
- import { Disclosure , Menu , Transition } from '@headlessui/react'
2
+ import {
3
+ Disclosure ,
4
+ DisclosureButton ,
5
+ DisclosurePanel ,
6
+ Menu ,
7
+ MenuButton ,
8
+ MenuItem ,
9
+ MenuItems ,
10
+ Transition
11
+ } from '@headlessui/react'
3
12
import { Bars3Icon , QuestionMarkCircleIcon , XMarkIcon } from '@heroicons/react/24/outline'
4
13
import Link from 'next/link'
5
14
import { NextRouter , useRouter } from 'next/router'
@@ -26,7 +35,7 @@ export default function Navbar() {
26
35
27
36
function MobileMenuButton ( ) {
28
37
return < div className = "absolute inset-y-0 left-0 flex items-center sm:hidden" onClick = { ( ) => setOpen ( ! open ) } >
29
- < Disclosure . Button className = "inline-flex items-center justify-center p-2 rounded-md
38
+ < DisclosureButton className = "inline-flex items-center justify-center p-2 rounded-md
30
39
text-discal-light-grey hover:text-white hover:bg-discal-dark-grey focus:outline-none
31
40
focus:ring-2 focus:ring-inset focus:ring-white" >
32
41
< span className = "sr-only" > Open main menu</ span >
@@ -35,7 +44,7 @@ export default function Navbar() {
35
44
) : (
36
45
< Bars3Icon className = "block h-6 w-6" aria-hidden = "true" />
37
46
) }
38
- </ Disclosure . Button >
47
+ </ DisclosureButton >
39
48
</ div >
40
49
}
41
50
@@ -108,15 +117,15 @@ export default function Navbar() {
108
117
return (
109
118
< Menu as = "div" className = "ml-3 relative" >
110
119
< div >
111
- < Menu . Button
120
+ < MenuButton
112
121
className = "bg-discal-dark-blue flex text-sm rounded-full focus:outline-none focus:ring-2
113
122
focus:ring-offset-2 focus:ring-offset-discal-dark-grey focus:ring-white" >
114
123
< span className = "sr-only" > Open user menu</ span >
115
124
< img className = "h-8 w-8 rounded-full"
116
125
src = { props . user . avatar }
117
126
alt = "Profile Photo"
118
127
/>
119
- </ Menu . Button >
128
+ </ MenuButton >
120
129
</ div >
121
130
< Transition
122
131
as = { Fragment }
@@ -127,14 +136,14 @@ export default function Navbar() {
127
136
leaveFrom = "opacity-100 scale-100"
128
137
leaveTo = "opacity-0 scale-95"
129
138
>
130
- < Menu . Items className = "z-[999] origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1
139
+ < MenuItems className = "z-[999] origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg py-1
131
140
bg-discord-not-quite-black ring-1 ring-black ring-opacity-5 focus:outline-none" >
132
- < Menu . Item >
141
+ < MenuItem >
133
142
< p className = "block px-4 py-2 text-sm text-discal-light-grey" >
134
143
{ props . user . username } #{ props . user . discriminator }
135
144
</ p >
136
- </ Menu . Item >
137
- < Menu . Item >
145
+ </ MenuItem >
146
+ < MenuItem >
138
147
< Link
139
148
href = '/logout'
140
149
role = { "button" }
@@ -143,20 +152,20 @@ export default function Navbar() {
143
152
Sign out
144
153
145
154
</ Link >
146
- </ Menu . Item >
147
- </ Menu . Items >
155
+ </ MenuItem >
156
+ </ MenuItems >
148
157
</ Transition >
149
158
</ Menu >
150
159
) ;
151
160
}
152
161
153
162
function MobileDropdownNav ( ) : JSX . Element {
154
163
return (
155
- < Disclosure . Panel className = "sm:hidden" onClick = { ( ) => setOpen ( ! open ) } >
164
+ < DisclosurePanel className = "sm:hidden" onClick = { ( ) => setOpen ( ! open ) } >
156
165
< div className = "px-2 pt-2 pb-3 space-y-1" >
157
166
{ navigation . map ( ( item ) => (
158
167
< Link href = { item . href } key = { item . name } passHref legacyBehavior >
159
- < Disclosure . Button
168
+ < DisclosureButton
160
169
as = "a"
161
170
className = { classNames (
162
171
currentPage ( router , item . href ) ? 'bg-discal-dark-blue text-white' :
@@ -166,11 +175,11 @@ export default function Navbar() {
166
175
aria-current = { currentPage ( router , item . href ) ? 'page' : undefined }
167
176
>
168
177
{ item . name }
169
- </ Disclosure . Button >
178
+ </ DisclosureButton >
170
179
</ Link >
171
180
) ) }
172
181
</ div >
173
- </ Disclosure . Panel >
182
+ </ DisclosurePanel >
174
183
) ;
175
184
}
176
185
0 commit comments