mirror of
https://github.com/spacedriveapp/spacedrive
synced 2024-07-08 07:12:49 +00:00
* beginnings of app directory * settings mostly good * colocate way more components * flatten components folder * reexport QueryClientProvider from client * move CodeBlock back to interface * colocate Explorer, KeyManager + more * goddamn captialisation * get toasts out of components * please eslint * no more src directory * $ instead of : * added back RowHeader component * fix settings modal padding * more spacing, less margin * fix sidebar locations button * fix tags sidebar link * clean up back button * added margin to explorer context menu to prevent contact with edge of viewport * don't export QueryClientProvider from @sd/client * basic guidelines * import interface correctly * remove old demo data * fix onboarding layout * fix onboarding navigation * fix key manager settings button --------- Co-authored-by: Jamie Pine <ijamespine@me.com>
21 lines
521 B
TypeScript
21 lines
521 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');
|
|
e.preventDefault();
|
|
return;
|
|
}
|
|
};
|
|
|
|
document.addEventListener('keybindexec', handler);
|
|
return () => document.removeEventListener('keybindexec', handler);
|
|
}, [navigate]);
|
|
}
|