DesignCard "Export" menu item has no onClick handler — click does nothing #132
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#132
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/components/gallery/DesignCard.tsx:278-281— the "Export" menu item in the design card's dropdown menu has noonClickhandler. Every other menu item is wired (Open in Workspace, Open in Editor, Rename, Duplicate, Move to Folder, Favorite, Delete). The user clicks "Export" and nothing happens.This is the only "silent no-op" left in the DesignCard menu after the round 1 fixes that closed issues #111, #112, and others. The user is being offered a feature that doesn't work.
Where
src/components/gallery/DesignCard.tsx:278-281:Compare to the surrounding items, all of which have an
onClick:onClick={() => onLoad(design)}onClick={() => onLoadInEditor?.(design)}onClick={() => onDuplicate(design)}onClick={() => onToggleFavorite(design.id)}onClick={() => onDelete(design)}Suggested fix shape
Wire the Export menu item to open the export dialog for that specific design. Two paths:
Use the existing
ExportDialogfrom Workspace: navigate the user to the Workspace with the design loaded, then open the export dialog. ThehandleLoadcallback inGallery.tsx:531already does the navigation; combining load + open-export is straightforward.Build a smaller export dialog inline in the Gallery: the user clicks Export, gets a modal with the same 4 formats from issue #129 (PES, DST, EXP, JEF), and downloads. No navigation needed. Cleaner UX but a new component.
Path 1 is the smaller change. The Workspace's
ExportDialogis already in production. The Gallery just needs to route to it with the design pre-loaded.Severity
High. A visible, clickable UI element that does nothing is the kind of dead-surface bug the user notices immediately.
Discovered by
Gap analysis (2026-10-02) of dead UI handlers in the Gallery.
Related
Closed by commit
1422ff2on Mark/Kimi_Agent_Brother_10_Digitizing_App@main (origin/main).The Export menu item in DesignCard.tsx (and the matching item in
RightClickMenu.tsx) is now wired to Gallery.handleExportDesign, which
piggybacks on the existing #74 "Open in Workspace" sessionStorage bridge
and navigates to /workspace with state.openExportOnLoad=true. Workspace's
freshly-mounted export-on-load effect waits for LOAD_DESIGN to dispatch
(appState must flip to 'digitized' and stitchObjects must populate — the
ExportDialog renders against live state), then dispatches SET_EXPORT_DIALOG
so the existing ExportDialog opens with the saved geometry in PES/DST/EXP/JEF
(#129). The flag is cleared via navigate(..., { replace: true }) so
subsequent renders / back-navs do not re-open the dialog.
Tests added:
useLocation; default state=null so smoke tests stay unaffected)
Local verification: eslint clean on all changed files; tsc -b --noEmit
reports no new errors in the touched files (only pre-existing threadMatches
errors from #128); vitest shows 535 passing / 22 pre-existing unrelated
failures (same 22 that exist on main without this change); production
vite build clean. Forgejo Actions run #7406 is waiting on the self-hosted
runner at this writing — not a code issue, just CI substrate delay.