mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-25 09:41:04 +01:00
Addresses UXDesigner review against the approved design spec:
- Placement: move the discovery affordance into a calm action row at the
bottom of IssueWorkspaceCard ("Browse files…" + "Open file by path…"),
removing the orphaned button between Artifacts and Tabs. The existing
top-right toolbar / `g f` entry stays as the secondary affordance.
- Single sheet, two modes: opening a result from browse now shows a
"← Back to files" affordance (and a separate × close) in the view header,
with Esc returning to the list. Browse state is URL-backed (`browse=1`,
`q`) via FileViewerContext (open(...{fromBrowse}), openBrowse, backToFiles).
- Remove the Recent/All toggle: empty query → Recently changed (silent
fallback to full listing when git change-tracking is unavailable);
populated query → Files matching. Search field accepts `path:line` and
Enter opens the highlighted row or the typed path.
- Mobile (<sm) two-line rows (basename / dirname, no timestamp, 44px tap
targets); desktop single-line with dir-truncate. Recently-changed shows
relative timestamps; search results omit them to maximise path width.
- Keyboard: listbox/option roles, ↑/↓ + Enter, aria-activedescendant,
combobox search field.
- Align unavailable copy with describeDenial (remote / cleaned-up);
debounce 150ms; documented the 100-row cap.
- Stories now render the real FileViewerSheet / IssueWorkspaceCard for
truthful light+dark, desktop+360px, view-mode, and placement captures.
Co-Authored-By: Paperclip <noreply@paperclip.ing>