Skip to content

Improve macOS UI: sidebar filters, settings, and styling#5

Merged
linyows merged 6 commits into
mainfrom
improve-macos-ui
Apr 12, 2026
Merged

Improve macOS UI: sidebar filters, settings, and styling#5
linyows merged 6 commits into
mainfrom
improve-macos-ui

Conversation

@linyows

@linyows linyows commented Apr 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Sidebar: Add Account/Domain filter sections with colored dots, clickable full-row buttons with pointer cursor, section header icons, and Settings link at bottom
  • Label colors: Round-robin registry to prevent color collisions when labels < palette size
  • List: Reorder columns (ACCOUNT, TYPE, DATE, DOMAIN, ORGANIZATION, POLICY), badge labels for account/domain/policy
  • Detail: Policy displayed as colored badge label matching list styling
  • Settings: Redesigned as tabbed window (Accounts/Advanced) with scrollable account list panel, add/delete/cancel support
  • Layout: Remove fixed pane sizing, restore default NavigationSplitView for free resizing

Test plan

  • Sidebar Type/Account/Domain filters work correctly and highlight selected item
  • Colored dots are dim gray when inactive, colored when active
  • No duplicate colors when labels count <= 12
  • Settings opens via sidebar button and ⌘,
  • Account add/edit/delete/cancel in Settings works and saves to config.json
  • Panes are freely resizable

🤖 Generated with Claude Code

linyows and others added 6 commits April 12, 2026 16:06
Add filterAccount and filterDomain to ViewModel. Replace sidebar
List selection with onTapGesture buttons using contentShape for
full-row click targets and pointingHand cursor. Add Account and
Domain sections with section header icons and colored dots.
Add Settings link at sidebar bottom.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace hash-based label color assignment with LabelColorRegistry
that cycles through the palette sequentially, ensuring no duplicates
when unique labels count is within palette size.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove REPORT ID column from GUI list. Reorder columns to match
CLI: ACCOUNT, TYPE, DATE, DOMAIN, ORGANIZATION, POLICY. Add
navigation title reflecting active filter.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace plain text policy display in DMARC detail with BadgeLabel
using policyColor, matching list column styling.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace simple config display with tabbed Settings (Accounts /
Advanced). Accounts tab uses HSplitView with scrollable account
list on left and edit form on right. Supports add/delete/cancel
for new accounts. Advanced tab shows config file path and status.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove columnWidth constraints to let users freely resize panes.
Keep Settings as standard Settings scene.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@linyows linyows merged commit c970733 into main Apr 12, 2026
2 checks passed
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