Skip to content

Commit 1110709

Browse files
committed
fix(chat): fix effectAllowed, stale atInsertPosRef, and drag-enter overlay for resource drags
1 parent e495d49 commit 1110709

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

apps/sim/app/workspace/[workspaceId]/home/components/user-input/user-input.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,8 @@ export function UserInput({
307307
for (const resource of resources) {
308308
handleResourceSelect(resource)
309309
}
310+
// Reset after batch so the next non-drop insert uses the cursor position
311+
atInsertPosRef.current = null
310312
} catch {
311313
// Invalid JSON — ignore
312314
}
@@ -319,6 +321,7 @@ export function UserInput({
319321
try {
320322
const resource = JSON.parse(resourceJson) as MothershipResource
321323
handleResourceSelect(resource)
324+
atInsertPosRef.current = null
322325
} catch {
323326
// Invalid JSON — ignore
324327
}
@@ -330,11 +333,17 @@ export function UserInput({
330333
)
331334

332335
const handleDragEnter = useCallback((e: React.DragEvent) => {
333-
filesRef.current.handleDragEnter(e)
336+
const isResourceDrag =
337+
e.dataTransfer.types.includes(SIM_RESOURCE_DRAG_TYPE) ||
338+
e.dataTransfer.types.includes(SIM_RESOURCES_DRAG_TYPE)
339+
if (!isResourceDrag) filesRef.current.handleDragEnter(e)
334340
}, [])
335341

336342
const handleDragLeave = useCallback((e: React.DragEvent) => {
337-
filesRef.current.handleDragLeave(e)
343+
const isResourceDrag =
344+
e.dataTransfer.types.includes(SIM_RESOURCE_DRAG_TYPE) ||
345+
e.dataTransfer.types.includes(SIM_RESOURCES_DRAG_TYPE)
346+
if (!isResourceDrag) filesRef.current.handleDragLeave(e)
338347
}, [])
339348

340349
const handleFileChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/folder-item/folder-item.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ export function FolderItem({
198198
}
199199

200200
e.dataTransfer.setData('sidebar-selection', JSON.stringify(selection))
201-
e.dataTransfer.effectAllowed = 'move'
201+
e.dataTransfer.effectAllowed = 'copyMove'
202202

203203
const resources = buildDragResources(selection, workspaceId)
204204
if (resources.length > 0) {

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workflow-list/components/workflow-item/workflow-item.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ export function WorkflowItem({
339339
}
340340

341341
e.dataTransfer.setData('sidebar-selection', JSON.stringify(selection))
342-
e.dataTransfer.effectAllowed = 'move'
342+
e.dataTransfer.effectAllowed = 'copyMove'
343343

344344
const resources = buildDragResources(selection, workspaceId)
345345
if (resources.length > 0) {

0 commit comments

Comments
 (0)