fix: prevent image drop overlay from breaking internal DnD and block handle
Three fixes for the image drop overlay interference: 1. Block handle clipping: Add padding (0 4px) to editor container so BlockNote's side menu (42px) fits within the overflow clip edge. overflow-y:auto forces overflow-x:auto (CSS spec), which was clipping the menu 2px past the container's left boundary. 2. Block handle click interference: Extract isInteractiveTarget() to exclude .bn-side-menu from handleContainerClick — prevents the container from stealing focus when clicking drag handle or add button. 3. Internal drag isolation: Track document-level dragstart/dragend to flag internal HTML5 drags (tabs, blocks). Tauri onDragDropEvent handler skips entirely during internal drags to prevent interference. Extract useInternalDragFlag() and handleTauriDrop() to keep useImageDrop under CodeScene complexity threshold. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,7 +23,11 @@
|
||||
opacity: 0.55;
|
||||
}
|
||||
|
||||
/* BlockNote container */
|
||||
/* BlockNote container
|
||||
padding: 0 4px prevents BlockNote's side menu (≈42px wide) from being
|
||||
clipped — the menu hangs left of the editor body (40px padding), and
|
||||
overflow-y:auto forces overflow-x:auto (CSS spec). The 4px padding
|
||||
keeps the menu inside the padding box, which is the overflow clip edge. */
|
||||
.editor__blocknote-container {
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
@@ -32,6 +36,7 @@
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
cursor: text;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
/* Drag-over state: subtle border highlight */
|
||||
|
||||
Reference in New Issue
Block a user