From bc8768c4d940594134e2c035262c808ead264ede Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Tue, 25 Nov 2025 22:27:31 +0100 Subject: [PATCH] fix: Hints Signed-off-by: Mark Tolmacs --- packages/excalidraw/components/HintViewer.tsx | 6 ++++++ packages/excalidraw/components/LayerUI.tsx | 10 ++-------- packages/excalidraw/locales/en.json | 2 +- .../excalidraw/tests/__snapshots__/move.test.tsx.snap | 4 ++-- packages/excalidraw/types.ts | 6 +----- 5 files changed, 12 insertions(+), 16 deletions(-) diff --git a/packages/excalidraw/components/HintViewer.tsx b/packages/excalidraw/components/HintViewer.tsx index 1fd255c8fe..7d564409ba 100644 --- a/packages/excalidraw/components/HintViewer.tsx +++ b/packages/excalidraw/components/HintViewer.tsx @@ -70,6 +70,12 @@ const getHints = ({ }); } if (activeTool.type === "arrow") { + if (appState.suggestedBinding) { + return t("hints.arrowBindModifiers", { + shortcut_1: getTaggedShortcutKey("Ctrl"), + shortcut_2: getTaggedShortcutKey("Alt"), + }); + } return t("hints.arrowTool", { shortcut: getTaggedShortcutKey("A"), }); diff --git a/packages/excalidraw/components/LayerUI.tsx b/packages/excalidraw/components/LayerUI.tsx index 457069e7d5..17dffdfd9d 100644 --- a/packages/excalidraw/components/LayerUI.tsx +++ b/packages/excalidraw/components/LayerUI.tsx @@ -646,14 +646,8 @@ const LayerUI = ({ }; const stripIrrelevantAppStateProps = (appState: AppState): UIAppState => { - const { - suggestedBinding, - startBoundElement, - cursorButton, - scrollX, - scrollY, - ...ret - } = appState; + const { startBoundElement, cursorButton, scrollX, scrollY, ...ret } = + appState; return ret; }; diff --git a/packages/excalidraw/locales/en.json b/packages/excalidraw/locales/en.json index d6fd2654bf..233dcfa7a6 100644 --- a/packages/excalidraw/locales/en.json +++ b/packages/excalidraw/locales/en.json @@ -341,7 +341,7 @@ "canvasPanning": "To move canvas, hold {{shortcut_1}} or {{shortcut_2}} while dragging, or use the hand tool", "linearElement": "Click to start multiple points, drag for single line", "arrowTool": "Click to start multiple points, drag for single line. Press {{shortcut}} again to change arrow type.", - "arrowBindModifiers": "Hold {{shortcut_1}} to bind inside, or {{shortcut_2}} to disable binding", + "arrowBindModifiers": "Hold {{shortcut_1}} to disable binding, or {{shortcut_2}} to bind at a fixed point", "freeDraw": "Click and drag, release when you're finished", "text": "Tip: you can also add text by double-clicking anywhere with the selection tool", "embeddable": "Click-drag to create a website embed", diff --git a/packages/excalidraw/tests/__snapshots__/move.test.tsx.snap b/packages/excalidraw/tests/__snapshots__/move.test.tsx.snap index 8be177988e..fceb5f14a7 100644 --- a/packages/excalidraw/tests/__snapshots__/move.test.tsx.snap +++ b/packages/excalidraw/tests/__snapshots__/move.test.tsx.snap @@ -203,7 +203,7 @@ exports[`move element > rectangles with binding arrow 7`] = ` 0, ], [ - 79, + "79.00000", "124.16785", ], ], @@ -228,7 +228,7 @@ exports[`move element > rectangles with binding arrow 7`] = ` "updated": 1, "version": 12, "versionNonce": 2066753033, - "width": 79, + "width": "79.00000", "x": 111, "y": "6.14995", } diff --git a/packages/excalidraw/types.ts b/packages/excalidraw/types.ts index 66110700cb..ad7c46a6db 100644 --- a/packages/excalidraw/types.ts +++ b/packages/excalidraw/types.ts @@ -474,11 +474,7 @@ export type SearchMatch = { export type UIAppState = Omit< AppState, - | "suggestedBinding" - | "startBoundElement" - | "cursorButton" - | "scrollX" - | "scrollY" + "startBoundElement" | "cursorButton" | "scrollX" | "scrollY" >; export type NormalizedZoomValue = number & { _brand: "normalizedZoom" };