spacedrive/interface/hooks/useKeyboardHandler.ts
2023-10-11 08:32:23 +00:00

22 lines
537 B
TypeScript

import { useEffect } from 'react';
import { useNavigate } from 'react-router';
import { KeybindEvent } from '../util/keybind';
export function useKeybindHandler() {
const navigate = useNavigate();
useEffect(() => {
const handler = (e: KeybindEvent) => {
if (e.detail.action === 'open_settings') {
navigate('/settings/client/general');
e.preventDefault();
return;
}
};
document.addEventListener('keybindexec', handler);
return () => document.removeEventListener('keybindexec', handler);
}, [navigate]);
}