File tree 3 files changed +29
-9
lines changed
3 files changed +29
-9
lines changed Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ import { DefaultTheme } from 'shared/types';
2
2
import Down from './icons/down.svg' ;
3
3
import Right from './icons/right.svg' ;
4
4
import { Link } from '../Link/index' ;
5
- import styles from './index.module.scss ' ;
5
+ import { useState } from 'react ' ;
6
6
7
7
export interface NavMenuGroupItem {
8
8
text ?: string | React . ReactElement ;
@@ -12,14 +12,16 @@ export interface NavMenuGroupItem {
12
12
13
13
export function NavMenuGroup ( item : NavMenuGroupItem ) {
14
14
const { activeIndex } = item ;
15
+
15
16
return (
16
- < div relative = "" className = { ` ${ styles . menuGroup } pointer-events-auto` } >
17
+ < div relative = "" className = "nav-menu-group" >
17
18
< button
18
19
flex = "center"
19
20
nav-h = "mobile sm:desktop"
20
21
font = "medium"
21
22
text = "sm text-1 hover:text-2"
22
23
transition = "color duration-200"
24
+ className = "nav-menu-group-button"
23
25
>
24
26
< span mr = "1" text = "sm" font = "medium" >
25
27
{ item . text }
@@ -32,7 +34,7 @@ export function NavMenuGroup(item: NavMenuGroupItem) {
32
34
m = "x-0.8"
33
35
opacity = "0"
34
36
transition = "opacity duration-300"
35
- className = { styles . menuGroupContent }
37
+ className = "nav-menu-group-content"
36
38
>
37
39
< div
38
40
p = "3"
Original file line number Diff line number Diff line change 55
55
.container :deep(* ) {
56
56
pointer-events : all ;
57
57
}
58
-
59
- .menu-group :hover {
60
- & .menu-group-content {
61
- opacity : 1 ;
62
- }
63
- }
Original file line number Diff line number Diff line change @@ -200,6 +200,29 @@ export function bindingAsideScroll() {
200
200
} ;
201
201
}
202
202
203
+ function bindingMenuGroupToggle ( ) {
204
+ const menuGroups = document . getElementsByClassName ( 'nav-menu-group' ) ;
205
+
206
+ Array . from ( menuGroups ) . forEach ( ( menuGroup ) => {
207
+ const menuButton = menuGroup . getElementsByClassName (
208
+ 'nav-menu-group-button'
209
+ ) [ 0 ] as HTMLButtonElement ;
210
+ const menuContent = menuGroup . getElementsByClassName (
211
+ 'nav-menu-group-content'
212
+ ) [ 0 ] as HTMLDivElement ;
213
+ menuButton . addEventListener ( 'mouseenter' , ( ) => {
214
+ console . log ( 111 ) ;
215
+
216
+ menuContent . style . opacity = '1' ;
217
+ menuContent . style . visibility = 'visible' ;
218
+ } ) ;
219
+ menuGroup . addEventListener ( 'mouseleave' , ( ) => {
220
+ menuContent . style . opacity = '0' ;
221
+ menuContent . style . visibility = 'hidden' ;
222
+ } ) ;
223
+ } ) ;
224
+ }
225
+
203
226
export function setupEffects ( ) {
204
227
if ( ! inBrowser ( ) ) {
205
228
return ;
@@ -210,5 +233,6 @@ export function setupEffects() {
210
233
bindingAsideScroll ( ) ;
211
234
}
212
235
bindingWindowScroll ( ) ;
236
+ bindingMenuGroupToggle ( ) ;
213
237
setupCopyCodeButton ( ) ;
214
238
}
You can’t perform that action at this time.
0 commit comments