use-command-palette-triggers.ts 520 B

123456789101112131415161718
  1. import useEventListener from '@/shared/hooks/use-event-listener'
  2. import { Dispatch, SetStateAction, useCallback } from 'react'
  3. const useCommandPaletteTriggers = (show: Dispatch<SetStateAction<boolean>>) => {
  4. const onKeyDown = useCallback(
  5. (event: KeyboardEvent) => {
  6. if ((event.ctrlKey || event.metaKey) && event.code === 'KeyP') {
  7. event.preventDefault()
  8. show(prev => !prev)
  9. }
  10. },
  11. [show]
  12. )
  13. useEventListener('keydown', onKeyDown)
  14. }
  15. export default useCommandPaletteTriggers