[web] command palette tweaks GitOrigin-RevId: 454d6916043d3317e60302379bcf9707fb8d4dcb
21 lines
605 B
TypeScript
21 lines
605 B
TypeScript
import useEventListener from '@/shared/hooks/use-event-listener'
|
|
import { Dispatch, SetStateAction, useCallback } from 'react'
|
|
import { isMac } from '@/shared/utils/os'
|
|
|
|
const useCommandPaletteTriggers = (show: Dispatch<SetStateAction<boolean>>) => {
|
|
const onKeyDown = useCallback(
|
|
(event: KeyboardEvent) => {
|
|
const modifierKey = isMac ? event.metaKey : event.ctrlKey
|
|
if (modifierKey && event.code === 'KeyP') {
|
|
event.preventDefault()
|
|
show(prev => !prev)
|
|
}
|
|
},
|
|
[show]
|
|
)
|
|
|
|
useEventListener('keydown', onKeyDown)
|
|
}
|
|
|
|
export default useCommandPaletteTriggers
|