Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
358a5c0e
Unverified
Commit
358a5c0e
authored
Dec 20, 2022
by
ChasLui
Committed by
GitHub
Dec 20, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: press cmd+f to focus on the search bar (#800)
parent
40f39fd6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
2 deletions
+26
-2
SearchBar.tsx
web/src/components/SearchBar.tsx
+26
-2
No files found.
web/src/components/SearchBar.tsx
View file @
358a5c0e
import
{
useEffect
,
useState
}
from
"react"
;
import
{
useEffect
,
useState
,
useRef
}
from
"react"
;
import
{
useTranslation
}
from
"react-i18next"
;
import
{
useLocationStore
}
from
"../store/module"
;
import
{
useLocationStore
,
useDialogStore
}
from
"../store/module"
;
import
{
memoSpecialTypes
}
from
"../helpers/filter"
;
import
Icon
from
"./Icon"
;
import
"../less/search-bar.less"
;
...
...
@@ -8,8 +8,31 @@ import "../less/search-bar.less";
const
SearchBar
=
()
=>
{
const
{
t
}
=
useTranslation
();
const
locationStore
=
useLocationStore
();
const
dialogStore
=
useDialogStore
();
const
memoType
=
locationStore
.
state
.
query
.
type
;
const
[
queryText
,
setQueryText
]
=
useState
(
""
);
const
inputRef
=
useRef
<
HTMLInputElement
>
(
null
);
useEffect
(()
=>
{
const
handleKeyDown
=
(
event
:
KeyboardEvent
)
=>
{
if
(
!
inputRef
.
current
)
{
return
;
}
if
(
dialogStore
.
getState
().
dialogStack
.
length
)
{
return
;
}
const
isMetaKey
=
event
.
ctrlKey
||
event
.
metaKey
;
if
(
isMetaKey
&&
event
.
key
===
"f"
)
{
event
.
preventDefault
();
inputRef
.
current
.
focus
();
return
;
}
};
document
.
body
.
addEventListener
(
"keydown"
,
handleKeyDown
);
return
()
=>
{
document
.
body
.
removeEventListener
(
"keydown"
,
handleKeyDown
);
};
},
[]);
useEffect
(()
=>
{
const
text
=
locationStore
.
getState
().
query
.
text
;
...
...
@@ -39,6 +62,7 @@ const SearchBar = () => {
autoComplete=
"new-password"
type=
"text"
placeholder=
""
ref=
{
inputRef
}
value=
{
queryText
}
onChange=
{
handleTextQueryInput
}
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment