chat/src/app/utils/keyboard.ts
Ajay Bura d5ff55e23e
Fix hotkeys (#1468)
* use hotkey using key instead of which (default)

* remove shift from block formatting hotkeys

* smartly exit formatting with backspace

* set markdown to off by default

* exit formatting with escape
2023-10-21 12:44:33 +05:30

25 lines
613 B
TypeScript

import { isKeyHotkey } from 'is-hotkey';
import { KeyboardEventHandler } from 'react';
export interface KeyboardEventLike {
key: string;
which: number;
altKey: boolean;
ctrlKey: boolean;
metaKey: boolean;
shiftKey: boolean;
preventDefault(): void;
}
export const onTabPress = (evt: KeyboardEventLike, callback: () => void) => {
if (isKeyHotkey('tab', evt)) {
evt.preventDefault();
callback();
}
};
export const preventScrollWithArrowKey: KeyboardEventHandler = (evt) => {
if (isKeyHotkey(['arrowup', 'arrowright', 'arrowdown', 'arrowleft'], evt)) {
evt.preventDefault();
}
};