Compare commits

...

2 Commits

Author SHA1 Message Date
Yi
d688bebb1a Merge branch 'main' into fix/note-node-zoom-issue 2024-08-19 15:13:33 +08:00
Yi
f2ad16cec5 fix: note editor zoom issue 2024-08-19 15:13:02 +08:00

View File

@ -1,6 +1,7 @@
import {
memo,
useCallback,
useEffect,
useRef,
} from 'react'
import { useTranslation } from 'react-i18next'
@ -54,14 +55,33 @@ const NoteNode = ({
handleNodeDelete(id)
}, [id, handleNodeDelete])
const preventZoom = (e: WheelEvent) => {
if (data.selected && e.ctrlKey) {
e.preventDefault()
e.stopPropagation()
}
}
useClickAway(() => {
handleNodeDataUpdateWithSyncDraft({ id, data: { selected: false } })
}, ref)
useEffect(() => {
const node = ref.current
if (node)
node.addEventListener('wheel', preventZoom, { passive: false })
return () => {
if (node)
node.removeEventListener('wheel', preventZoom)
}
}, [data.selected])
return (
<div
className={cn(
'flex flex-col relative rounded-md shadow-xs border hover:shadow-md',
data.selected && 'nodrag nopan nowheel',
)}
style={{
background: THEME_MAP[theme].bg,
@ -102,7 +122,7 @@ const NoteNode = ({
}
<div className='grow px-3 py-2.5 overflow-y-auto'>
<div className={cn(
data.selected && 'nodrag nopan nowheel cursor-text',
data.selected && 'cursor-text',
)}>
<NoteEditor
containerElement={ref.current}