Skip to content

Files page redesign + supporting design-system components#143

Open
jess-cat wants to merge 8 commits into
mainfrom
design-system-files
Open

Files page redesign + supporting design-system components#143
jess-cat wants to merge 8 commits into
mainfrom
design-system-files

Conversation

@jess-cat

Copy link
Copy Markdown
Collaborator

Reworks the Files surface to the reviewed information architecture, and adds the design-system components it needed. Built page-by-page with live verification on the real backend.

Design-system additions (catalogued)

  • Breadcrumbs — back button + clickable crumbs + collapse/ellipsis; current/last crumb keeps priority so it stays readable in narrow panels.
  • Search — composes TextInput for full field-shell parity (label/info/description/requirement/status/message/sizes/disabled/readonly), with a leading magnifier glyph, clearable, and onSearch on Enter; bounded width by default.
  • Tabs — additive previewIndex prop (italic VS Code-style preview/peek tab).
  • IconButton — new refresh and newTab glyphs.
  • ConfirmModal — additive confirmPhrase (type-to-confirm guard).
  • Checkbox / Togglerequirement indicator (consistency with the other fields).
  • A Files redesign catalog template story (Templates) used as the design review gate.

Files surface rework

  • Machine selector is now a Select dropdown (the left target rail is removed); + Add machine routes to the provisioning flow.
  • File tabs use a preview model: single-click opens a reusable italic preview tab; editing or the per-row "open in new tab" promotes it to a permanent tab.
  • Breadcrumbs (with back + refresh) replace the UP button; deep paths collapse to ROOT / … / parent / current.
  • Toolbar: small Search (left) + CREATE NEW (right) on one row; DELETE on the row below, shown only when a file is keyboard-selected; UP/CLEAR removed.
  • Delete uses ConfirmModal with type-path-to-confirm (inline bar removed).
  • Keyboard navigation in the listing (arrows / Enter / Backspace).
  • CSS: hardcoded colors migrated to design tokens (+6 new tokens), responsive pass, toolbar buttons wrap instead of clip.

Verification

Driven live on the gateway (:8787, logged in): machine dropdown, breadcrumb navigation + collapse, preview-tab open, open-in-new-tab, keyboard-selected delete + type-to-confirm modal, and the search+create / delete-below layout at 1280 / 980 / 720px. New components verified in the /design catalog.

Known follow-ups (out of scope here)

  • The GSV shell isn't mobile-responsive — at phone widths the nav rail squeezes every surface (an app-wide concern, not Files-specific).
  • In the reverted single-click-opens model, the listing's DELETE is reached via the keyboard cursor (single-click opens + leaves the listing).

🤖 Generated with Claude Code

jess-cat and others added 7 commits June 24, 2026 22:54
…n preview

Phase 1 of the Files page redesign (review gate):
- New Breadcrumbs primitive (back button + clickable crumbs + collapse/ellipsis), catalog story under Chrome
- Tabs gains an additive previewIndex prop (italic VS Code-style preview/peek tab)
- Files-redesign catalog template story assembling real DS components (machine Select, Tabs preview, Breadcrumbs, search/create toolbar, ListRow listing, editor, ConfirmModal) across four states

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-confirm

Enablers for the Files redesign:
- IconButton gains refresh + newTab glyphs (inline SVG, house style)
- ConfirmModal gains optional confirmPhrase/confirmInputLabel/confirmInputPlaceholder — renders a TextInput and disables confirm until the typed text matches (type-path-to-confirm guard)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reworks the live Files page to the reviewed information architecture:
- Machine selector dropdown (DS Select) replaces the left target rail (rail deleted); + Add machine routes to /settings/machines/new
- File tabs use the preview-tab model: single-click opens a reusable italic preview tab; editing or the per-row 'open in new tab' (newTab glyph) promotes to a permanent tab
- Breadcrumbs (with back button + refresh) replace the UP button for path navigation
- Toolbar: whole-target search left, CREATE NEW right; UP/CLEAR removed
- Delete uses ConfirmModal with type-path-to-confirm (inline delete bar removed)
- Keyboard navigation in the listing (arrows / Enter / Backspace); selected-row styling
- Preserves editor/save/reset, image + binary views, create-file, search results, dirty-close guard

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…umb priority

- FilesSurfaceSummary.css: replace hardcoded hexes with design tokens; add 6 new
  tokens to gsv-tokens.css (--field-deep, --shadow-deep, --text-muted, --bg-error,
  --bg-online, --bg-warn); tiered responsive breakpoints; toolbar buttons wrap
  (flex:none) instead of shrink-and-ellipsize
- Breadcrumbs: the current/last crumb keeps full width (flex:0 0 auto, no clamp);
  earlier crumbs ellipsize first so the current location stays readable in narrow panels

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New Search component composing TextInput (full field-shell parity: label/info/
description/requirement/status/message/sizes/disabled/readonly), with a leading
magnifier glyph, clearable by default, and onSearch fired on Enter. block=false by
default so it stays bounded-width. TextInput.prefix widened to accept a node (additive).
Registered in the catalog under Forms.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…, breadcrumb collapse

- Toolbar: the new small Search field (not full-width) and CREATE NEW share row 1;
  DELETE moves to row 2 under CREATE and renders only when a file is selected
- Directory listing selection model: single-click a file SELECTS it (no open);
  double-click / Enter opens it in the preview tab; directories still navigate on
  single-click; DELETE targets the selected file via the ConfirmModal flow
- Breadcrumb maxVisible 8 -> 3 so deep paths collapse to ROOT / … / parent / current
  instead of squeezing every crumb in the narrow Files panel

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ll widths

- Revert the file single-click behavior: single-click again SELECTS + OPENS a file
  in the preview tab (directories navigate); the DELETE row stays keyed to the
  keyboard-highlighted file (arrow keys), removing the double-click-to-open special case
- Drop the <=980px toolbar overrides that forced search full-width and wrapped CREATE
  NEW beneath it; search now shrinks to stay beside CREATE NEW on row 1, so DELETE
  remains strictly on row 2 below CREATE at all widths

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@deathbyknowledge deathbyknowledge left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

File view
Image

Folder view
Image

This adds the new Breadcrumbs component to Files, but now we repeat the path/breadcrumbs in too many places. We should clean it up. Imo we can keep just hte new one

note="This file is permanently removed from the target — it cannot be recovered."
confirmLabel="DELETE"
confirmPhrase={deleteRequest.path}
confirmInputLabel="TYPE PATH TO CONFIRM"

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove the confirmation path field. Having to write the entire path is very annoying, the red DELETE button is scary enough as is

…-confirm

Address review feedback on the Files redesign:

- The new Breadcrumbs is now the single path display in both views. Folder
  view drops the redundant path on the DIR/FILE summary row; file view
  replaces the duplicated editor-path + file-meta path (and the now-redundant
  SHOW FOLDER button) with the same Breadcrumbs trail, ending on the file name.
- Remove the "type the path to confirm" field from the delete dialog — the
  red danger DELETE button is warning enough.

Drops the dead .files-editor-path / list-summary-path CSS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Base automatically changed from web-redesign to main June 25, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants