Gallery has no drag-and-drop design import — only the 'Upload' button (click to open file picker) is available; the workspace dropzone is the only surface that supports drag-and-drop #197
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#197
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
src/pages/Gallery.tsx'shandleUploadDesignis wired to a hidden file input:grep -n 'onDrop\|onDragOver' src/pages/Gallery.tsxreturns 0 hits. The Gallery has no drop zone, noonDrophandler, no drag-over visual.A user who wants to import a design:
The same user, in the Workspace, can drag a file onto the dropzone and it just works. The Gallery's affordance is one step behind.
Where
src/pages/Gallery.tsx:340-345(handleUploadDesign)src/pages/Gallery.tsx(the hidden<input type="file">)grep -n 'onDrop\|onDragOver\|onDragEnter' src/pages/Gallery.tsxreturns 0 hitssrc/components/workspace/CanvasArea.tsx(the dropzone surface)Suggested fix shape
Add a drop zone to the Gallery's main area:
The
handleFileshelper is the same code that the existinghandleFileChangeruns. The drop zone wraps the existing grid; the user can drop a file anywhere on the page (not just the empty state).Visual feedback: when
isDragOver, render a translucent overlay with "Drop PES, DST, PNG, JPG, SVG, or BMP to import" text in the center of the page.Severity
Low. The user can click the button. Power users who drag from the Finder/Explorer notice.
Discovered by
Gap analysis (2026-10-02) of gallery upload affordances.
Related
accept=attribute).Shipped in commit
fa581fdonmain. Wrapped Section 3 ofsrc/pages/Gallery.tsxin a drop target that mirrors the Workspace dropzone pattern:pageDragOverstate +handlePageDragOver/handlePageDragLeave/handlePageDrophandlersdataTransfer.types.includes("Files")so card→folder moves (which usetext/plainvia FolderNav) are unaffectedPES, DST, PNG, JPG, SVG, or BMP) over the gridimportFiles(files: FileList)callback shared withhandleFileChange— single import pipeline, no duplicated logichandleFileChangenow guards one.target.filesbeing non-null per the ReactFileList | nulltypeType-check passes, push landed. Closing.