feat(app): port phase 1 desktop ui slices#35
Merged
Conversation
- add shared PaneL and PaneR icon primitives - unify desktop titlebar height to 44px and frame radius to 12px - add app-local accent-brand and sidebar theme tokens - switch sidebar rail to bg-sidebar - align shell contract and window chrome tests with the new geometry Partial #26.
Astro-Han
added a commit
that referenced
this pull request
May 24, 2026
The right-panel shell tab strip (Status / Files / Review) carried an app-level override in packages/app/src/index.css that painted var(--sidebar) on the selected trigger. This pre-dates PR #878 (the override has been there since the phase-1 desktop port in PR #35) but PR #878 reshaped the strip and surfaced the inconsistency: Status (the default landing tab) got a chip while Files / Review did not, so the selected tab visibly bulged wider than its siblings. The sidepanel comment in packages/ui/src/components/tabs.css already spelled out the intended active marker — 'weight + color shift only. No chip background, no brand underline' — but the app-level rule overrode it. Drop the rule. All three triggers now share a transparent background; the selected tab is conveyed by fg-strong + 500 weight, matching the tabs.css comment and DESIGN.md's restrained warm-neutral palette. Verification (TDD) - New e2e spec session-shell-tab-consistency.spec.ts asserts at the rendered seam that all three triggers share the same computed background-color. Red on HEAD~1 (Status rgb(248, 246, 243) vs Files rgba(0, 0, 0, 0)), green after the index.css deletion. The assertion does not hard-code 'transparent' — the contract is 'agree with each other'. - bun run --filter=@opencode-ai/app typecheck OK - bun run --filter=@opencode-ai/app snap right-panel-titlebar — light + dark grid shows all three tabs at equal visual weight.
13 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Port the Phase 1 desktop UI slices into the real PawWork app and close the main follow-ups found during local validation.
This pull request:
New sessionon home andproject / sessionbreadcrumb in active sessionsWhy
Issue #26 defines Phase 1 as the lowest-risk UI slices to move the existing Solid + Electron app toward the current
docs/designhandoff.This branch carries those Phase 1 slices plus the follow-up fixes that showed up during review and real desktop regression testing. It does not claim that issue #26 is fully complete, and it keeps the remaining out-of-scope or later-phase gaps for follow-up work.
Related Issue
Part of #26
How To Verify
Manual desktop checks used during branch validation:
cd packages/desktop-electron bun run devThen verify:
New sessionon homeproject / sessionbreadcrumb inside a sessionScreenshots or Recordings
Local desktop validation was performed against the real macOS app during this branch. I have not attached a new recording in this automated PR creation step.
Checklist
devbranch