Skip to content

fix: match qr detail button with design#635

Open
jvsena42 wants to merge 1 commit into
masterfrom
fix/qr-detail-button-design
Open

fix: match qr detail button with design#635
jvsena42 wants to merge 1 commit into
masterfrom
fix/qr-detail-button-design

Conversation

@jvsena42

@jvsena42 jvsena42 commented Jul 17, 2026

Copy link
Copy Markdown
Member

This PR updates the QR/details toggle on the Receive screen to match the design, so the two states no longer look identical.

Description

  • Shows "Show Details" as a tertiary button while the QR code is displayed, instead of a primary button.
  • Shows "Show QR Code" as a primary button with a QR icon while the invoice details are displayed, replacing the previous "QR Code" title.
  • Leaves the Receive Lightning Funds button on the spending onboarding state untouched, including its disabled state while the node is starting and its CJIT and geo-blocked navigation.

Both states reuse the existing QR icon asset and the existing "Show QR Code" string, so no new assets or translation keys were needed. This brings iOS in line with the equivalent Android implementation, which already uses a tertiary button for details and a primary button with a QR icon for the QR state.

Linked Issues/Tasks

Designs:

Related Android: ReceiveQrScreen.kt already implements the same two variants.

Screenshot / Video

no-channel.mov
with-channel.mov

QA Notes

Manual Tests

  • 1a. Receive → Savings tab: bottom button reads Show Details and renders as tertiary, with no filled background or border.
    • 1b. Tap Show Details: details show and the button becomes a filled primary reading Show QR Code with a QR icon to the left of the title.
    • 1c. Tap Show QR Code: returns to the QR code and the button reverts to the tertiary Show Details.
  • 2. Repeat on the Auto and Spending tabs (Spending with a ready channel): same two states in both.
  • 3. regression: Spending tab with no channels → button still reads Receive Lightning Funds as a primary with the purple bolt icon.
    • 3b. regression: Tap it: nav to Receive CJIT Amount as before.
    • 3c. regression: While the node is still starting: the button stays disabled.
  • 4. regression: E2E identifiers still resolve, with QRCode on the details state and ShowDetails on the QR state.

Automated Checks

  • No test coverage added, changed, or removed: this is a presentation-only change to button variant, title, and icon, with no behavior or state logic touched.
  • Local: simulator Debug build succeeded, SwiftFormat lint reports no changes required, and validate-translations.js passes with 0 errors.
  • CI: standard build and test checks run by the PR bot.

@jvsena42 jvsena42 self-assigned this Jul 17, 2026
@jvsena42
jvsena42 marked this pull request as draft July 17, 2026 12:33
@greptile-apps

greptile-apps Bot commented Jul 17, 2026

Copy link
Copy Markdown

Greptile Summary

This PR updates the Receive screen’s QR and details toggle to match the intended design.

  • Uses a tertiary “Show Details” button while the QR code is visible.
  • Uses a primary “Show QR Code” button with a QR icon while details are visible.
  • Preserves the spending onboarding button and accessibility identifiers.
  • Adds a changelog entry for the visual update.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
Bitkit/Views/Wallets/Receive/ReceiveQr.swift Adds explicit button designs for the QR and details states while preserving toggle behavior and onboarding precedence.
changelog.d/next/635.fixed.md Documents the Receive screen toggle design update.

Reviews (2): Last reviewed commit: "fix: match details button with design" | Re-trigger Greptile

@jvsena42
jvsena42 marked this pull request as ready for review July 17, 2026 12:38
@jvsena42
jvsena42 enabled auto-merge July 17, 2026 12:41
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