Skip to content

feat(sidepanel): outlined active state for left panel + settings nav#102

Closed
BunsDev wants to merge 6 commits into
mainfrom
castcodes/theme-tweakcn
Closed

feat(sidepanel): outlined active state for left panel + settings nav#102
BunsDev wants to merge 6 commits into
mainfrom
castcodes/theme-tweakcn

Conversation

@BunsDev

@BunsDev BunsDev commented May 21, 2026

Copy link
Copy Markdown
Member

Active toolbelt button on the left panel and active row in the settings sidebar now render with a thin theme.outline() border and no background fill, aligning with the shadcn-style nav pattern. The underlying shared button themes are untouched; the outline is applied as a local style override at the call sites.

BunsDev and others added 4 commits May 20, 2026 21:40
Active toolbelt button on the left panel and active row in the
settings sidebar now render with a thin theme.outline() border and no
background fill, aligning with the shadcn-style nav pattern. The
underlying shared button themes are untouched; the outline is applied
as a local style override at the call sites.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Approved brainstorming output for an optional tweakcn-aligned ui:
token block in the theme schema plus an in-settings CSS import flow.
Implementation plan is still pending.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 21, 2026 08:38
@BunsDev

BunsDev commented May 21, 2026

Copy link
Copy Markdown
Member Author

@copilot resolve the merge conflicts in this pull request

@BunsDev

BunsDev commented May 21, 2026

Copy link
Copy Markdown
Member Author

@copilot resolve the merge conflicts in this pull request

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates active-state styling for navigation controls to use an outlined border (theme outline()) with no background fill, aligning left-panel toolbelt buttons and settings sidebar rows to a consistent “outlined active” pattern. The PR also adds a large forward-looking spec document about theme customization/import that is not directly tied to the sidepanel change.

Changes:

  • Left panel toolbelt active button switches from background fill to a 1px outline border.
  • Settings sidebar (top-level pages + umbrella subpages) active row switches from Accent variant fill to Text variant with a 1px outline border.
  • Adds a new spec doc for deeper theme customization via tweakcn CSS import.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
docs/superpowers/specs/2026-05-20-theme-customization-tweakcn-design.md New planning/spec document for theme schema expansion and tweakcn import flow.
app/src/workspace/view/left_panel.rs Changes toolbelt icon button active styling to outlined border and removes active background fill.
app/src/settings_view/settings_page.rs Changes settings page nav button to outlined active border (Text variant + border).
app/src/settings_view/nav.rs Changes settings umbrella subpage buttons to outlined active border (Text variant + border).
Comments suppressed due to low confidence (2)

docs/superpowers/specs/2026-05-20-theme-customization-tweakcn-design.md:233

  • These steps also refer to writing YAMLs under ~/.config/warp/themes/..., but the app uses warp_core::paths::themes_dir() for custom themes. Please update this section to match the actual themes directory used by the runtime, or describe it abstractly to stay accurate across OSes.
On save:

- Writes `~/.config/warp/themes/<slug>.yaml` for the dark block.
- Writes `~/.config/warp/themes/<slug>-light.yaml` for the light block if present.
- Re-runs the theme loader (`load_theme_configs()` in `app/src/user_config/native.rs:168`).
- Selects the new theme via `WorkspaceAction::ShowThemeChooser` → set-current.

docs/superpowers/specs/2026-05-20-theme-customization-tweakcn-design.md:240

  • The migration section mentions existing user YAMLs under ~/.config/warp/themes/, but the runtime themes directory is derived from warp_core::paths::themes_dir() (data_dir/themes). Update this reference so the backward-compat story is accurate.
### 6. Migration / backward compatibility

- **Built-in themes** in `app/src/themes/default_themes.rs`: untouched. All existing accessors fall back to today's derivation when `ui` is `None`.
- **Existing user YAMLs** in `~/.config/warp/themes/`: untouched. Same fallback.
- **Pixel parity test** (see §7) locks down that any theme without a `ui:` block renders identically to today.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/src/workspace/view/left_panel.rs Outdated
Comment thread app/src/workspace/view/left_panel.rs
Comment thread docs/superpowers/specs/2026-05-20-theme-customization-tweakcn-design.md Outdated
@BunsDev

BunsDev commented May 21, 2026

Copy link
Copy Markdown
Member Author

Release scope note: deferred from v0.0.6. This is UI/theme follow-up work and is currently dirty against main, so it should not block the OSS release unless Val explicitly retargets it.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Comment thread app/src/workspace/view/left_panel.rs
Comment thread app/src/workspace/view/left_panel.rs
@BunsDev

BunsDev commented May 21, 2026

Copy link
Copy Markdown
Member Author

Closing as superseded — the work in this branch has already landed on main via separate commits:

  • Sidepanel/settings outlined active state → 695bb34d feat(sidepanel): outlined active state for left panel + settings nav
  • Theme customization design doc → 3035ca86 feat(theme): add tweakcn ui token import flow (includes a corrected version of the design doc)
  • Padding stability + sidepanel override plumbing → a8fce6f7 and 3035ca86

Diffing this branch against current main shows nav.rs has 0 lines of difference, and the remaining settings_page.rs / left_panel.rs changes would regress the recent padding fix and remove the ui_sidebar_override background plumbing for tweakcn imports. No new content worth merging.

@BunsDev BunsDev closed this May 21, 2026
@BunsDev BunsDev deleted the castcodes/theme-tweakcn branch June 9, 2026 03:03
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