Skip to content

feat(explorer): Sidebar position moves the Explorer's sidebar, the preview takes the other side (#304) - #305

Merged
Maxaubert merged 2 commits into
mainfrom
feat/304-explorer-sidebar-side
Oct 7, 2026
Merged

Maxaubert merged 2 commits into
mainfrom
feat/304-explorer-sidebar-side

Conversation

@Maxaubert

@Maxaubert Maxaubert commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Closes #304

What

Two Sidebar position settings (Left / Right), one per page, each moving only its own panel:

  • Settings > Explorer > Layout (first row, id explorer-side, new key prism.explorer.side, default Left): "The side the places panel sits on." It moves the Explorer tab's places panel only. A project tab's tree stays where it is.
  • Settings > Project settings (first row, id tree-side, key prism.tree.side, unchanged, back where it was before this PR): "The side the file tree sits on." It moves the project tab's file tree only. The Explorer stays where it is.

Find a setting finds both rows, each on its own page.

With the Explorer's Right:

  • the places panel sits against the window's right edge, the preview pane against the left, the list between them;
  • the preview toggle leads the address row (before Back), the end nearest the pane it opens; search stays at the far end;
  • both resize grips are their left twins turned round (a drag or arrow toward the middle widens), widths are shared with Left and remembered;
  • hiding the places gives the list the right edge, and resting on the right edge peeks them out over the list, shadow on the list's side; the pin keeps them;
  • the places come after the list in the DOM, so Tab walks the row left to right;
  • one coat of a see-through ground on every panel, as on the left.

Left is the window as it was, box for box.

Why

Owner, 2026-10-07: "fix the setting in Explorer for the sidebar where you can put it on the right side or the left side? I think that's just an empty setting for now, but actually implement it. And remember that when the sidebar goes on the right, the preview menu and button to open it would have to go on the left."

Then, after testing the first version of this PR (one shared row): "No, it should be two settings, one on the project tab and one on the explorer tab."

Decision

Two independent stores: lib/explorerSidePrefs.ts (new) for the Explorer, lib/treePrefs.ts for the project tree. App reads the Explorer's side for an Explorer tab and the tree's for a project tab (workspaceSide), and each panel peeks from its own side. Rule written into CLAUDE.md with both owner quotes. Version 0.92.1 -> 0.93.0 (feature).

Gates

  • npm run typecheck: clean
  • npm run lint: 0 errors (7 existing warnings)
  • npx vitest run: 2529 passed, 2 skipped (171 files)
  • e2e explorerSide (62 checks): both rows on their own pages with distinct subtexts; the Explorer's Right moves the places and preview and leaves the project tree exactly where it was; the project's Right moves the tree and leaves every Explorer box exactly as it was; toggle, grips, hide, peek, pin and one coat on Glacier turned round; both choices survive a restart.
  • e2e, one at a time: explorerSide, panelsAlign (49), sidebarPeek (42), settingsLook (189), settingsSearch (26, incl. "Sidebar position finds the Explorer row and the project row"), sidebarPlaces (103), seeThrough (26): all ok
  • npm run e2e:terminal: all 17 ok (553 checks)
  • Settings screenshots of the Explorer and Project settings pages looked at, dark and light.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t

Maxaubert and others added 2 commits October 7, 2026 01:31
…eview takes the other side (#304)

One Sidebar position row (prism.tree.side), first in Explorer > Layout,
moves the Explorer's places panel and the project tree together. On Right
the places sit at the window's right edge, the preview pane at the left and
its toggle leads the address row; grips, hide, peek and the see-through
ground all hold mirrored. Left is unchanged. Project settings no longer
carries the row. Version 0.93.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
… and one for projects (#304)

Owner, 2026-10-07, after testing one shared row: "No, it should be two
settings, one on the project tab and one on the explorer tab".

Explorer > Layout's Sidebar position (explorer-side, new key
prism.explorer.side, default Left) moves only the Explorer tab's places
panel, with the preview pane and its toggle on the other side. Project
settings gets its Sidebar position back (tree-side, prism.tree.side) and it
moves only the project tree. Neither moves the other; each panel peeks from
its own side. The explorerSide e2e proves both directions and that both
choices outlive a restart; Find a setting finds both rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHHaWKR4M5QtW7Wecyuk4t
@Maxaubert
Maxaubert merged commit a2af195 into main Oct 7, 2026
3 checks passed
@Maxaubert
Maxaubert deleted the feat/304-explorer-sidebar-side branch October 7, 2026 14:44
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.

Explorer: a working Sidebar position, left or right, with the preview on the other side

1 participant