Skip to content

fix(hardware-wallet): make the Ledger option visible in light mode - #3085

Open
JakeUrban wants to merge 5 commits into
masterfrom
claude/keen-carson-ajo70m
Open

JakeUrban wants to merge 5 commits into
masterfrom
claude/keen-carson-ajo70m

Conversation

@JakeUrban

@JakeUrban JakeUrban commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

What

The Ledger button on "Connect a hardware wallet" now shows its logo in light mode and in dark mode.

Why

The old logo was a white PNG on a transparent background, made for the dark theme. Varial is light-first, so in light mode the button showed white on white. The button looked empty.

Screenshots / video

Before After
Light mode: the button looks empty (white logo on white). Light mode: dark wordmark, visible border. Dark mode: light wordmark.

The new wordmark looks different from the old PNG. The new wordmark is "LEDGER" in capital letters between corner brackets. The old PNG was a block icon and the word "Ledger". The new wordmark is Ledger's official mark. Design can make the final decision.


Generated by Claude Code

The wallet logo is a white PNG drawn for the dark theme, so it vanished
on the light background. Invert it under .sds-theme-light, and use the
standard gray-06 border token instead of gray-01, which was nearly
invisible in light mode.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01R8cp43FyfJUF4nMEeZJBEJ
Replace the white ledger-logo.png and the light-theme invert() filter
with Ledger's official wordmark as an inline SVG (fill=currentColor),
colored with --sds-clr-gray-12 so it follows the theme. walletAssets
logos are now SVG React components, and the integration guide says so.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01R8cp43FyfJUF4nMEeZJBEJ
@github-actions

github-actions Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

PR Preview build is ready: https://github.com/stellar/freighter/releases/tag/untagged-2ba456b8843f007bc832
Backend: V1 prod + V2 beta (no sandbox configured for @JakeUrban). SDF collaborators only — install instructions in the release description.

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.

🟡 Changes recommended

An active accessibility issue remains because the inline SVG label bypasses i18n and requires translated English and Portuguese keys.

1 open issue
What changed in this PR

Updates the hardware-wallet selection UI so the Ledger logo remains visible in both light and dark themes, while documenting the new inline SVG integration pattern.

Changes:

  • Replaces the white PNG with a theme-aware inline SVG Ledger wordmark.
  • Updates wallet asset typing and selector rendering to use SVG React components.
  • Improves option border styling and documents ?react SVG imports for integrators.
File Description
extension/​src/​popup/​views/​AddAccount/​connect/​SelectHardwareWallet/​styles.scss Applies theme-aware logo color, SVG sizing, and a more visible border.
extension/​src/​popup/​views/​AddAccount/​connect/​SelectHardwareWallet/​index.tsx Renders the wallet logo as an accessible inline SVG component.
extension/​src/​popup/​helpers/​hardwareConnect.ts Imports the Ledger SVG component and updates the wallet asset type.
extension/​src/​popup/​assets/​ledger-logo.svg Adds the single-color Ledger wordmark using currentColor.
extension/​INTEGRATING_HARDWARE_WALLET.MD Documents theme-aware SVG logo requirements and ?react imports for hardware-wallet integrations.

Review effort: Lite

claude and others added 2 commits November 11, 2026 20:28
Address review feedback: the inline SVG's aria-label was a hard-coded
English string. Get it through t() with interpolation and add the
English and Portuguese keys.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01R8cp43FyfJUF4nMEeZJBEJ
@JakeUrban
JakeUrban requested a lite review from Copilot November 11, 2026 20:29
At 80px wide the logo was 26.77px tall, so its edges sat between
pixels and the bottom brackets antialiased to look thinner than the
top ones. Pad the viewBox symmetrically to exactly 3:1 and size the
logo to 84x28px so opposite strokes land on the pixel grid the same way.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01R8cp43FyfJUF4nMEeZJBEJ
@JakeUrban
JakeUrban marked this pull request as ready for review November 11, 2026 21:31

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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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.

🟢 Approval recommended

The reviewed changes address theme-aware Ledger logo visibility and localized accessibility labeling across the asset, rendering, styles, translations, and integration documentation, with no active issues identified.

No open issues 🎉

Review effort: Lite

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.

3 participants