Merge pull request #46 from HaecheonLee/bug/fix-button-in-notes-rendering-in-safari

Fix button in note rendering in safari
This commit is contained in:
1ilit 2024-04-14 10:11:45 +03:00 committed by GitHub
commit 25e127ed8a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -135,29 +135,16 @@ export default function Note({ data, onMouseDown }) {
onMouseDown={onMouseDown} onMouseDown={onMouseDown}
> >
<div className="text-gray-900 select-none w-full h-full cursor-move px-3 py-2"> <div className="text-gray-900 select-none w-full h-full cursor-move px-3 py-2">
<div className="flex justify-between">
<label htmlFor={`note_${data.id}`} className="ms-5"> <label htmlFor={`note_${data.id}`} className="ms-5">
{data.title} {data.title}
</label> </label>
<textarea
id={`note_${data.id}`}
value={data.content}
onChange={handleChange}
onFocus={(e) =>
setEditField({
content: e.target.value,
height: data.height,
})
}
onBlur={handleBlur}
className="w-full resize-none outline-none overflow-y-hidden border-none select-none"
style={{ backgroundColor: data.color }}
/>
{(hovered || {(hovered ||
(selectedElement.element === ObjectType.NOTE && (selectedElement.element === ObjectType.NOTE &&
selectedElement.id === data.id && selectedElement.id === data.id &&
selectedElement.open && selectedElement.open &&
!layout.sidebar)) && ( !layout.sidebar)) && (
<div className="absolute top-2 right-3"> <div>
<Popover <Popover
visible={ visible={
selectedElement.element === ObjectType.NOTE && selectedElement.element === ObjectType.NOTE &&
@ -191,7 +178,9 @@ export default function Note({ data, onMouseDown }) {
onChange={(value) => onChange={(value) =>
updateNote(data.id, { title: value }) updateNote(data.id, { title: value })
} }
onFocus={(e) => setEditField({ title: e.target.value })} onFocus={(e) =>
setEditField({ title: e.target.value })
}
onBlur={(e) => { onBlur={(e) => {
if (e.target.value === editField.title) return; if (e.target.value === editField.title) return;
setUndoStack((prev) => [ setUndoStack((prev) => [
@ -280,8 +269,7 @@ export default function Note({ data, onMouseDown }) {
size="small" size="small"
theme="solid" theme="solid"
style={{ style={{
backgroundColor: "#2f68ad", backgroundColor: "#2F68ADB3",
opacity: "0.7",
}} }}
onClick={edit} onClick={edit}
/> />
@ -289,6 +277,21 @@ export default function Note({ data, onMouseDown }) {
</div> </div>
)} )}
</div> </div>
<textarea
id={`note_${data.id}`}
value={data.content}
onChange={handleChange}
onFocus={(e) =>
setEditField({
content: e.target.value,
height: data.height,
})
}
onBlur={handleBlur}
className="w-full resize-none outline-none overflow-y-hidden border-none select-none"
style={{ backgroundColor: data.color }}
/>
</div>
</foreignObject> </foreignObject>
</g> </g>
); );