Skip to content

feat(ui): packet analysis window — restyle to match library tactical palette#17

Merged
DaxxSec merged 1 commit into
mainfrom
feat/packet-window-restyle
May 13, 2026
Merged

feat(ui): packet analysis window — restyle to match library tactical palette#17
DaxxSec merged 1 commit into
mainfrom
feat/packet-window-restyle

Conversation

@DaxxSec
Copy link
Copy Markdown
Owner

@DaxxSec DaxxSec commented May 13, 2026

Why

User feedback: "the VM Packet window text is not styled right".

The packet window had drifted from the library's tactical aesthetic in several specific ways since the redesign:

Drift Was Now
Toolbar buttons .rounded Aqua bezel TacticalHoverButton with OD border + green hover
Scroll-view borders .bezelBorder (classic Aqua bevel) .noBorder + 1pt OD layer border + cornerRadiusSM
Filter label + checkbox tint Hardcoded NSColor.white AppColors.textPrimary
Font sizes Raw 10 / 11 / 12pt LayoutConstants.fontSize{Body,Small} scale
Section header "Packet Details:" in OD "▸ PACKET DETAILS" in accentOrange, uppercase mono-bold (mirrors the library's ▸ LIVE TRAFFIC panel header)
Table column headers Stock NSTableHeaderCell Shared TacticalTableHeaderCell (uppercase mono OD-tinted)

What didn't change

No behavior. Capture / filter / preset / save PCAP / open PCAP all still wire through the same selectors. This PR is pure visual alignment so the two windows read as the same product.

Test plan

  • `xcodebuild build` succeeds
  • Launch app → Tools → Packet Analysis: toolbar buttons match library pill style, hover gives OD-glow border
  • Filter label is bright white (textPrimary), font is monospaced body size, checkbox tint matches
  • Table column headers read as uppercase OD-tinted captions ("#" "TIME" "SOURCE" "DESTINATION" "PROTOCOL" "LENGTH" "INFO")
  • Below the packet table, section header reads "▸ PACKET DETAILS" in orange instead of "Packet Details:" in OD
  • Both scroll views have 1pt OD-tinted borders with subtle corner radius, no Aqua bevel

🤖 Generated with Claude Code

…palette

User feedback: "the VM Packet window text is not styled right". The
packet window had drifted from the library's tactical aesthetic in
several ways since the redesign:

- Toolbar buttons used `.rounded` AppKit bezel — classic Aqua look
  that clashed with the library's dark pill style
- Scroll views used `.bezelBorder` — same Aqua problem
- Filter label + checkbox tint were hardcoded `NSColor.white`
  rather than `AppColors.textPrimary`
- Font sizes were raw constants (10, 11, 12) instead of the
  `LayoutConstants.fontSize*` scale
- Section header was plain "Packet Details:" with OD tint instead
  of the library's `▸ LIVE TRAFFIC` orange-accent pattern
- Table header cells used stock `NSTableHeaderCell` instead of the
  shared `TacticalTableHeaderCell`

This PR aligns every one of those:

- Toolbar buttons now use `TacticalHoverButton` with OD border +
  green hover treatment matching the library's pill buttons
- Scroll view borders → `.noBorder` + 1pt OD layer border +
  cornerRadiusSM
- All hardcoded `NSColor.white` → `AppColors.textPrimary`
- Font sizes route through `LayoutConstants.fontSize{Body,Small,...}`
- "Packet Details:" → "▸ PACKET DETAILS" in `accentOrange`,
  uppercase, mono-bold (mirrors the library's panel headers)
- Column headers → `TacticalTableHeaderCell` for uppercase mono
  caption with OD tint

No behavior changes — capture / filter / preset / save / open all
still wire through the same selectors. Pure visual alignment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@DaxxSec DaxxSec merged commit a9d2bbb into main May 13, 2026
1 check 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