Skip to content

feat(ui): use StackOne brand mark instead of bell icons#118

Merged
StuBehan merged 1 commit into
mainfrom
feat/menubar-brand-icon
Jul 2, 2026
Merged

feat(ui): use StackOne brand mark instead of bell icons#118
StuBehan merged 1 commit into
mainfrom
feat/menubar-brand-icon

Conversation

@StuBehan

@StuBehan StuBehan commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

What

Replace the generic bell iconography with the official StackOne brand mark across the app's chrome.

image
Surface Before After
Menu bar status item bell (SF Symbol) StackOne mark
Panel top tab strip bell.badge.fill StackOne mark (14pt)
Shared PageFooter bell.badge.fill (left) removed — footer is hint-pills only

The "No nudges yet" empty state keeps bell.slash — that one is semantic (no nudges), not decorative chrome.

How

The mark is reproduced from the official 16×16 icon SVG (stackone-logos.com) as a resolution-independent NSBezierPath vector, rather than a bundled raster:

  • Exact to the brand geometry (SVG path data translated directly), and point-symmetric by construction.
  • Crisp at any menu-bar height and on Retina — a raster .ico/PNG would be pixel-locked and blur at off sizes.
  • No binary asset to ship and no build.sh change.
  • Authoritative brand green #00AF66 (the SVG's colour; the repo PNG was a slightly different #00B979).

All three surfaces render from the single MenuBarController.brandMarkImage(height:), so there's one source of truth. It's a deliberately coloured (non-template) icon; the negative space is transparent and shows the menu bar through, which reads on both light and dark bars.

Testing

  • swiftc -typecheck panel/*.swift shared/*.swift — clean.
  • Verified live in the menu bar; previewed the mark on light/dark backgrounds and at ~15pt.

🤖 Generated with Claude Code

Replace the generic bell in three places with the official StackOne
interlocking-"S" logomark, reproduced from the icon SVG
(stackone-logos.com) as a resolution-independent NSBezierPath vector:
pixel-exact to the brand, point-symmetric, crisp at any size/Retina, and
with no raster asset to ship. Authoritative brand green is #00AF66.

- Menu bar status item: bell -> brand mark
- Panel top tab strip: bell.badge.fill -> brand mark
- Shared PageFooter: remove the duplicate bell (footer is hints-only)

The "No nudges yet" empty state keeps bell.slash — that one is semantic,
not chrome.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@StuBehan StuBehan merged commit 8dfda33 into main Jul 2, 2026
6 checks passed
@StuBehan StuBehan deleted the feat/menubar-brand-icon branch July 2, 2026 15:31
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