Skip to content

feat(spa): firlaw header redesign — monochrome court-luxury theme - #6

Open
Tietve wants to merge 4 commits into
firlaw-customizationsfrom
feat/firlaw-header-redesign
Open

feat(spa): firlaw header redesign — monochrome court-luxury theme#6
Tietve wants to merge 4 commits into
firlaw-customizationsfrom
feat/firlaw-header-redesign

Conversation

@Tietve

@Tietve Tietve commented May 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • New firlaw-titlebar-extras.tsx — user chip, theme toggle, notification bell, help button
  • Mounted via Portal into opencode-titlebar-right (no inline edits to upstream titlebar.tsx)
  • Updated firlaw-overrides.css with monochrome court-luxury design tokens
  • Header: 48px height, 32px buttons, 6px radius

Changes

File Type Lines
firlaw-titlebar-extras.tsx NEW ~100 LOC
firlaw-overrides.css MODIFIED Updated variables + added user chip/button styles
layout.tsx MODIFIED +2 lines (import + render)

Design direction

Based on court-luxury monochrome mockup (Times New Roman, white+gray palette, no accent colors).
First step of UI redesign — header only. Sidebar + chat styling follow in next PRs.

Test plan

  • Verify user chip shows logged-in user name + initials
  • Verify theme toggle switches light/dark
  • Verify notification + help buttons render
  • Verify header height is 48px
  • Verify no regression on existing titlebar functionality

…cation, help

- New component firlaw-titlebar-extras.tsx mounted via Portal into opencode-titlebar-right
- Updated firlaw-overrides.css with monochrome court-luxury theme variables
- Titlebar height 48px, button size 32px, radius 6px
- User chip fetches session and shows name + initials avatar
- Theme toggle switches light/dark via useTheme()
- No inline edits to upstream titlebar.tsx
@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

FirLaw Bot added 3 commits May 27, 2026 15:22
… state

- Remove .titlebar-icon override that forced upstream nav buttons to 32x32px
  (upstream uses h-6=24px; our override broke sidebar toggle, back/forward)
- Fix logout() to redirect only on success, return silently on network error
- Fix toggleTheme to cycle dark→light→system instead of losing system state
- Fix theme tooltip label to reflect system/light/dark correctly
…feature dirs

Move scattered firlaw-*.tsx/css into a single src/firlaw/ tree, one folder
per UI surface, so OpenCode upstream reorgs no longer touch our files.
Drop the firlaw- prefix (folder already namespaces). Compiled bundle is
byte-identical (same Vite hash) — pure source reorganization.

  components/firlaw-titlebar-extras.tsx -> firlaw/titlebar/titlebar-extras.tsx
  components/firlaw-file-actions.tsx    -> firlaw/file-actions/file-actions.tsx
  pages/session/firlaw-side-panel-actions.tsx -> firlaw/side-panel/side-panel-actions.tsx
  components/firlaw-logo.tsx            -> firlaw/logo/logo.tsx
  styles/firlaw-overrides.css          -> firlaw/styles/overrides.css

Upstream touch: 5 import lines only (titlebar, layout, file-tree,
session-side-panel, index.css).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant