feat: add keyboard shortcuts

This commit is contained in:
MAZE 2024-04-23 17:24:32 +03:30
parent a3cfbb98db
commit 669df1f082
3 changed files with 26 additions and 0 deletions

18
package-lock.json generated
View file

@ -22,6 +22,7 @@
"howler": "2.2.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hotkeys-hook": "3.2.1",
"react-icons": "4.11.0",
"react-wrap-balancer": "1.1.0",
"zustand": "4.4.3"
@ -9734,6 +9735,11 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/hotkeys-js": {
"version": "3.8.2",
"resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.2.tgz",
"integrity": "sha512-HZZ9RVNr3nBbs2nW968o4rp3xXSdPjJ4B7GTXE375WwboltDJMsP9mcHfAAv+igsTeVxetr10mEbnoac/1U+oQ=="
},
"node_modules/howler": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/howler/-/howler-2.2.4.tgz",
@ -13575,6 +13581,18 @@
"react": "^18.2.0"
}
},
"node_modules/react-hotkeys-hook": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-3.2.1.tgz",
"integrity": "sha512-l5Y4Dr109Fz10hHq40hkJmppXUqdv7tNVFldPq7lDsgWBpPLWCtkkSkrzTySje4GK+t5VLzPA01cCyUsZutOmQ==",
"dependencies": {
"hotkeys-js": "3.8.2"
},
"peerDependencies": {
"react": ">=16.8.1",
"react-dom": ">=16.8.1"
}
},
"node_modules/react-icons": {
"version": "4.11.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.11.0.tgz",

View file

@ -35,6 +35,7 @@
"howler": "2.2.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hotkeys-hook": "3.2.1",
"react-icons": "4.11.0",
"react-wrap-balancer": "1.1.0",
"zustand": "4.4.3"

View file

@ -1,6 +1,7 @@
import { useState } from 'react';
import { IoMenu, IoClose } from 'react-icons/io5/index';
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
import { useHotkeys } from 'react-hotkeys-hook';
import {
ShuffleItem,
@ -30,6 +31,12 @@ export function Menu() {
const variants = mix(fade(), slideY());
useHotkeys('alt+m', () => setIsOpen(prev => !prev));
useHotkeys('alt+n', () => setShowNotepad(prev => !prev));
useHotkeys('alt+p', () => setShowPomodoro(prev => !prev));
useHotkeys('shift+alt+p', () => setShowPresets(prev => !prev));
useHotkeys('alt+s', () => setShowShareLink(prev => !prev));
return (
<>
<div className={styles.wrapper}>