Skip to content

Commit 6fdbb8e

Browse files
author
Beyzanur Seyhan
committed
fixed: dropdown stays open when li tag clicked
1 parent 97c820a commit 6fdbb8e

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

components/Sort.tsx

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ enum SortTypes {
2323

2424
export default function Sort() {
2525
const router = useRouter();
26-
const [isDisplay, setIsDisplay] = useState<boolean>(false);
26+
const [isDisplay, setIsDisplay] = useState<string>('');
2727

2828
const navigationItems = [
2929
{
@@ -77,26 +77,28 @@ export default function Sort() {
7777
return SortTypes.BestMatch;
7878
}
7979
};
80+
81+
const handleClick = () => {
82+
const elem = document.activeElement as HTMLElement;
83+
if(elem){
84+
elem?.blur();
85+
}
86+
};
8087
return (
8188
<div className="flex justify-center items-center mb-8 flex-col gap-2">
8289
<div className="dropdown dropdown-hover">
83-
<div onClick={() => setIsDisplay(true)}>
8490
<Button tabIndex={0} className="m-1 py-2">
8591
<FontAwesomeIcon
8692
icon={faCode}
8793
className=" w-6 h-6 mr-3"
8894
></FontAwesomeIcon>
8995
Language
9096
</Button>
91-
</div>
9297
<div
93-
className={`h-64 p-2 overflow-y-scroll shadow dropdown-content z-50 bg-base-100 rounded-box w-60 ${
94-
!isDisplay && 'hidden'
95-
}`}
96-
>
98+
className="h-64 p-2 overflow-y-scroll dropdown-content shadow z-50 bg-base-100 rounded-box w-60">
9799
<ul tabIndex={0} className="menu menu-vertical">
98100
{mainLanguages.sort(sortByName).map(language => (
99-
<li key={language} onClick={() => setIsDisplay(false)}>
101+
<li key={language} onClick={handleClick}>
100102
<Link href={`/repos/${language.toLowerCase()}`}>
101103
{language}
102104
</Link>
@@ -106,23 +108,18 @@ export default function Sort() {
106108
</div>
107109
</div>
108110
<div className="dropdown dropdown-hover">
109-
<div onClick={() => setIsDisplay(true)}>
110111
<Button tabIndex={0} className="py-2">
111112
<FontAwesomeIcon
112113
icon={faArrowUpAZ}
113114
className=" w-6 h-6 mr-3"
114115
></FontAwesomeIcon>
115116
{selectedSort()}
116117
</Button>
117-
</div>
118118
<div
119-
className={`h-64 p-2 z-50 overflow-y-scroll shadow dropdown-content bg-base-100 rounded-box w-60 ${
120-
!isDisplay && 'hidden'
121-
}`}
122-
>
119+
className="h-64 p-2 z-50 overflow-y-scroll shadow dropdown-content bg-base-100 rounded-box w-60">
123120
<ul tabIndex={0} className="menu menu-vertical">
124121
{navigationItems.map((item, index) => (
125-
<li key={index} onClick={() => setIsDisplay(false)}>
122+
<li key={index} onClick={handleClick}>
126123
<Link href={{ query: item.href.query }}>{item.name}</Link>
127124
</li>
128125
))}

0 commit comments

Comments
 (0)