From 4693f5613bf1535c6714c1acc28133fc575fb1f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Fri, 21 Nov 2025 15:23:43 +0100 Subject: [PATCH] feat(text-tool): add Delete/Backspace key to remove empty text objects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Users can now delete text objects by: 1. Click on a text to edit it 2. Clear all text content (or start with empty text) 3. Press Delete or Backspace to remove the entire text object This provides an intuitive way to remove unwanted text without requiring a separate delete tool or context menu. Keyboard shortcuts: - Ctrl+Enter: Commit text - Escape: Cancel editing - Delete/Backspace (on empty text): Delete entire text object 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- components/canvas/on-canvas-text-editor.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/components/canvas/on-canvas-text-editor.tsx b/components/canvas/on-canvas-text-editor.tsx index b1e8602..04fe084 100644 --- a/components/canvas/on-canvas-text-editor.tsx +++ b/components/canvas/on-canvas-text-editor.tsx @@ -21,6 +21,7 @@ export function OnCanvasTextEditor() { deactivateOnCanvasEditor, addTextObject, updateTextObject, + deleteTextObject, setText, } = useTextStore(); @@ -201,9 +202,14 @@ export function OnCanvasTextEditor() { } else if (e.key === 'Escape') { e.preventDefault(); deactivateOnCanvasEditor(); + } else if ((e.key === 'Delete' || e.key === 'Backspace') && editingTextId && !editorText.trim()) { + // Delete the entire text object if it's empty and we're editing an existing text + e.preventDefault(); + deleteTextObject(editingTextId); + deactivateOnCanvasEditor(); } }, - [commitText, deactivateOnCanvasEditor] + [commitText, deactivateOnCanvasEditor, editingTextId, editorText, deleteTextObject] ); // Handle drag start