From eb97476004ddbd6ad28a18c0d4d18645f6295698 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:14:52 +0000 Subject: [PATCH 1/4] Initial plan From ef9bb636534dc3f0bfde5c7928b3b475c47e0959 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 13 Oct 2025 09:23:39 +0000 Subject: [PATCH 2/4] Implement keyboard shortcuts improvements - Add max-height and overflow-y to help dialog for scrolling on small screens - Add Ctrl+A shortcut for selecting all nodes - Add Reset option to menu toolbar with Ctrl+Del shortcut hint - Show keyboard shortcut hints next to menu items (Ctrl+1-4, Ctrl+P, Ctrl+D, Ctrl+Del) - Track mouse position to place nodes under cursor when using keyboard shortcuts - Add selectAllNodes translation for both English and German Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com> --- packages/learningmap/src/EditorToolbar.tsx | 33 ++++++++++++--- .../learningmap/src/LearningMapEditor.tsx | 42 +++++++++++++++---- packages/learningmap/src/index.css | 2 + packages/learningmap/src/translations.ts | 3 ++ 4 files changed, 66 insertions(+), 14 deletions(-) diff --git a/packages/learningmap/src/EditorToolbar.tsx b/packages/learningmap/src/EditorToolbar.tsx index 9560412..4268581 100644 --- a/packages/learningmap/src/EditorToolbar.tsx +++ b/packages/learningmap/src/EditorToolbar.tsx @@ -2,7 +2,7 @@ import React from "react"; import { Menu, MenuButton, MenuDivider, MenuItem, SubMenu } from "@szhsin/react-menu"; import "@szhsin/react-menu/dist/index.css"; import '@szhsin/react-menu/dist/transitions/zoom.css'; -import { Plus, Bug, Settings, Eye, Menu as MenuI, FolderOpen, Download, ImageDown, ExternalLink, Share2 } from "lucide-react"; +import { Plus, Bug, Settings, Eye, Menu as MenuI, FolderOpen, Download, ImageDown, ExternalLink, Share2, RotateCcw } from "lucide-react"; import { getTranslations } from "./translations"; interface EditorToolbarProps { @@ -21,6 +21,7 @@ interface EditorToolbarProps { onDownlad: () => void; onOpen: () => void; onShare: () => void; + onReset: () => void; language?: string; } @@ -40,6 +41,7 @@ export const EditorToolbar: React.FC = ({ onDownlad, onOpen, onShare, + onReset, language = "en", }) => { const t = getTranslations(language); @@ -48,10 +50,22 @@ export const EditorToolbar: React.FC = ({
{t.nodes}}> - onAddNewNode("task")}>{t.addTask} - onAddNewNode("topic")}>{t.addTopic} - onAddNewNode("image")}>{t.addImage} - onAddNewNode("text")}>{t.addText} + onAddNewNode("task")}> + {t.addTask} + Ctrl+1 + + onAddNewNode("topic")}> + {t.addTopic} + Ctrl+2 + + onAddNewNode("image")}> + {t.addImage} + Ctrl+3 + + onAddNewNode("text")}> + {t.addText} + Ctrl+4 + + + + {keyboardShortcuts.map((item) => ( + + {item.action} + {item.shortcut} + + ))} + + +
+
+ +