Skip to content

Commit de4893d

Browse files
committed
fix-dropdown -menu
1 parent 0d467c1 commit de4893d

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

components/Navbar/navDrop.js

+11-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@ import links from '../../config/links.json';
33
import Link from 'next/link';
44
import Dropdown from '../illustration/dropdown';
55

6-
76
const NavDrop = forwardRef((props, ref)=> {
87
const {setDrop}=props;
98
const [show, setShow] = useState(null);
9+
10+
const handleKeyDown = (event, linkTitle) => {
11+
if (event.key === 'Enter' || event.key === ' ') {
12+
event.preventDefault();
13+
show === linkTitle ? setShow(null) : setShow(linkTitle);
14+
}
15+
};
16+
1017
return (
1118
<div ref ={ref} className='z-[99] absolute left-0 top-[74px] w-full h-screen bg-[#1B1130]/90 backdrop-filter backdrop-blur-md'>
1219
<div className='flex flex-col p-5 pb-8 w-full'>
@@ -19,6 +26,8 @@ const NavDrop = forwardRef((props, ref)=> {
1926
onClick={() =>
2027
show === link.title ? setShow(null) : setShow(link.title)
2128
}
29+
tabIndex={0}
30+
onKeyDown={(event) => handleKeyDown(event, link.title)}
2231
>
2332
{link.subMenu ? (
2433
<div>
@@ -35,6 +44,7 @@ const NavDrop = forwardRef((props, ref)=> {
3544
<div data-test={`nav-sub-${sub.title}`}
3645
onClick={() => setDrop(false)}
3746
className='h-[40px] flex navbg items-center p-6 hover:text-black text-white cursor-pointer'
47+
tabIndex={0}
3848
>
3949
{sub.title}
4050
</div>

components/Navbar/navbar.js

+10
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ function Navbar() {
7272
setShow(null);
7373
};
7474

75+
const handleKeyDown = (event, linkTitle) => {
76+
if (event.key === 'Enter' || event.key === ' ') {
77+
event.preventDefault();
78+
show === linkTitle ? setShow(null) : setShow(linkTitle);
79+
}
80+
};
81+
7582
return (
7683
<div className="relative">
7784
<div
@@ -114,6 +121,8 @@ function Navbar() {
114121
onMouseLeave={handleMouseLeave}
115122
className="ml-16 text-[14px] group cursor-pointer relative flex flex-col"
116123
data-test={`nav-${link.title}`}
124+
tabIndex={0}
125+
onKeyDown={(event) => handleKeyDown(event, link.title)}
117126
>
118127
<div>
119128
{link.subMenu ? (
@@ -150,6 +159,7 @@ function Navbar() {
150159
<div
151160
className={`flex items-center ${link.subMenu.length === 1 ? "justify-center" : "justify-start"} min-h-[32px] text-[16px] hover:scale-95 hover:translate-x-1 transition-all`}
152161
data-test={`nav-sub-${subL.title}`}
162+
tabIndex={0}
153163
>
154164
{subL.title}
155165
</div>

0 commit comments

Comments
 (0)