Skip to content

Project switcher back at the top of the sidebar, above Work - #181

Merged
kaanozhan merged 2 commits into
mainfrom
feat/sidebar-project-switcher
Oct 23, 2026
Merged

kaanozhan merged 2 commits into
mainfrom
feat/sidebar-project-switcher

Conversation

@kaanozhan

Copy link
Copy Markdown
Owner

Summary

The current-project switcher moves out of the app header's right cluster, where it sat beside the Agent picker. It is now the first row of the sidebar panel, directly above Work, and it stays there on the Files, Changes and GitHub views too, because index.js already keeps it visible on every tab.

This explicitly overturns shell-chrome-app-header-collapsible-panels D1 (2026-09-14), which put the switcher in the header so it stayed reachable with the sidebar collapsed. With the sidebar collapsed (⌘B), the switcher is now out of sight. The decision is recorded in PROJECT_NOTES.md.

Changes

  • index.html: the switcher markup moves from .lane-bar-launcher to the top of .sidebar-panel. The header comment now reads "agent picker with Start". Ids are unchanged, so index.js still binds it.
  • Styles:
    • The switcher rules move from app-header.css to project-section.css. The switcher is now as wide as the panel and 28px tall, with an 8px gap below it.
    • The header's :not() icon-button selectors no longer list the switcher classes. Specificity is unchanged at one class.
  • Tour: the switcher step's card now opens to the switcher's right.
  • Guide: the text says "at the top of the sidebar". The shell sketch draws the switcher atop the sidebar, and its region is renamed sidebar-switcher.

Testing

  • npm test: 1343/1343 on the branch merged with today's main.
  • Checked in the running app, in a separate instance with a throwaway HOME and user-data dir, on a copy of the sample project:
    • the switcher is the sidebar panel's first child, above Work and Context, and no longer inside #app-header;
    • the menu opens beneath it with "+ Add a project…" and the project list.

Kaan Özhan added 2 commits October 23, 2026 16:15
… above Work

Moves #sidebar-current-project-wrap out of the app header's launcher into
.sidebar-panel, overturning shell-chrome-app-header-collapsible-panels D1
at the user's request (with the sidebar collapsed it is out of sight).
Styles move to project-section.css at panel width; the tour step, Guide
text and shell sketch follow.
# Conflicts:
#	.frame/PROJECT_NOTES.md
#	.frame/STRUCTURE.json
@kaanozhan
kaanozhan merged commit 89a4589 into main Oct 23, 2026
2 checks passed
BerkayYilmaz11 added a commit to BerkayYilmaz11/Frame that referenced this pull request Oct 24, 2026
Takes upstream 2.9.0 (kaanozhan#178–kaanozhan#181). Conflicts resolved by keeping both sides:
structureBootstrap's ENTRY_REQUIRES takes upstream's opt-in map entries
(check-freshness no longer required-listed, module-hint reads
structure-switch) beside spec-close.js and decision.js; the bootstrap
tests keep both sides' cases; PROJECT_NOTES keeps both sides' entries in
date order; STRUCTURE.json was regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant