mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
feat: add some hotkeys (#320)
* feat: add some hotkeys * fix: hotkeys lose the text behind selected * chore: adjust insertText params passing
This commit is contained in:
@ -76,6 +76,10 @@ const MemoEditor: React.FC = () => {
|
||||
prevGlobalStateRef.current = editorState;
|
||||
}, [state, editorState.editMemoId]);
|
||||
|
||||
const handleInsertMark = (mark: string) => {
|
||||
editorRef.current?.insertText("", mark);
|
||||
};
|
||||
|
||||
const handleKeyDown = (event: React.KeyboardEvent) => {
|
||||
if (event.key === "Escape" && state.fullscreen) {
|
||||
handleFullscreenBtnClick();
|
||||
@ -90,6 +94,21 @@ const MemoEditor: React.FC = () => {
|
||||
editorRef.current?.insertText(" ".repeat(TAB_SPACE_WIDTH));
|
||||
return;
|
||||
}
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
event.preventDefault();
|
||||
switch (event.key) {
|
||||
case "b":
|
||||
handleInsertMark("**");
|
||||
break;
|
||||
case "i":
|
||||
handleInsertMark("*");
|
||||
break;
|
||||
case "e":
|
||||
handleInsertMark("`");
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
const handleDropEvent = async (event: React.DragEvent) => {
|
||||
|
Reference in New Issue
Block a user