From 5b6c34d9aa0ee8792cbc2c453bc427f42995df95 Mon Sep 17 00:00:00 2001 From: haecheonlee Date: Sat, 13 Apr 2024 19:31:29 -0400 Subject: [PATCH] Fix button in note rendering in safari --- src/components/EditorCanvas/Note.jsx | 293 ++++++++++++++------------- 1 file changed, 148 insertions(+), 145 deletions(-) diff --git a/src/components/EditorCanvas/Note.jsx b/src/components/EditorCanvas/Note.jsx index 13fd29de..ecd898fa 100644 --- a/src/components/EditorCanvas/Note.jsx +++ b/src/components/EditorCanvas/Note.jsx @@ -100,9 +100,9 @@ export default function Note({ data, onMouseDown }) { hovered ? "rgb(59 130 246)" : selectedElement.element === ObjectType.NOTE && - selectedElement.id === data.id - ? "rgb(59 130 246)" - : "rgb(168 162 158)" + selectedElement.id === data.id + ? "rgb(59 130 246)" + : "rgb(168 162 158)" } strokeDasharray={hovered ? 4 : 0} strokeLinejoin="round" @@ -119,9 +119,9 @@ export default function Note({ data, onMouseDown }) { hovered ? "rgb(59 130 246)" : selectedElement.element === ObjectType.NOTE && - selectedElement.id === data.id - ? "rgb(59 130 246)" - : "rgb(168 162 158)" + selectedElement.id === data.id + ? "rgb(59 130 246)" + : "rgb(168 162 158)" } strokeDasharray={hovered ? 4 : 0} strokeLinejoin="round" @@ -135,9 +135,148 @@ export default function Note({ data, onMouseDown }) { onMouseDown={onMouseDown} >
- +
+ + {(hovered || + (selectedElement.element === ObjectType.NOTE && + selectedElement.id === data.id && + selectedElement.open && + !layout.sidebar)) && ( +
+ { + if (selectedElement.editFromToolbar) { + setSelectedElement((prev) => ({ + ...prev, + editFromToolbar: false, + })); + return; + } + setSelectedElement((prev) => ({ + ...prev, + open: false, + })); + setSaveState(State.SAVING); + }} + stopPropagation + content={ +
+
Edit note
+
+ + updateNote(data.id, { title: value }) + } + onFocus={(e) => + setEditField({ title: e.target.value }) + } + onBlur={(e) => { + if (e.target.value === editField.title) return; + setUndoStack((prev) => [ + ...prev, + { + action: Action.EDIT, + element: ObjectType.NOTE, + nid: data.id, + undo: editField, + redo: { title: e.target.value }, + message: `Edit note title to "${e.target.value}"`, + }, + ]); + setRedoStack([]); + }} + /> + +
Theme
+
+
+ {noteThemes.map((c) => ( + + ))} +
+
+ } + position="rightTop" + showArrow + > +
+ +
+
+ +
+
+ } + trigger="custom" + position="rightTop" + showArrow + > +
+ )} +