Skip to content

feat(settings): update promo banner styles to match Figma#20816

Open
vbudhram wants to merge 1 commit into
mainfrom
fxa-14091
Open

feat(settings): update promo banner styles to match Figma#20816
vbudhram wants to merge 1 commit into
mainfrom
fxa-14091

Conversation

@vbudhram

@vbudhram vbudhram commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Because

  • The Firefox promo banner and the account recovery key / recovery phone banners did not match the updated Figma spec (FXA-14091)

This pull request

  • Updates PromotionBanner/index.tsx and FirefoxPromoBanner/index.tsx to match the Figma layout
  • Moves the CTA below the description, left-aligned; the optional link now sits inline on the same row (PromotionBanner)
  • Normalizes banner padding to 20px and sets the CTA font size to text-sm (removes a conflicting text-base)
  • Fixes image sizing to render at Figma proportions (~112px tall) and centers the image on mobile
  • Leaves the shared alert Banner component untouched (semantically different, not part of the promo spec)

Issue that this pull request solves

Closes: https://mozilla-hub.atlassian.net/browse/FXA-14091

Checklist

  • My commit is GPG signed.
  • If applicable, I have modified or added tests which pass locally.
  • I have added necessary documentation (if appropriate).
  • I have verified that my changes render correctly in RTL (if appropriate).
  • I have manually reviewed all AI generated code.

Other information

How to test:

  1. cd packages/fxa-settings && yarn storybook
  2. Open Components/PromotionBanner (recovery key + recovery phone) and Components/FirefoxPromoBanner (all variants)
  3. Verify against Figma: image left, heading → description → CTA (button + optional link on one row), 20px padding, close top-right
  4. Narrow the viewport to mobile width, image should scale down and center; content stacks cleanly
Screenshot 2026-07-02 at 1 18 12 PM Screenshot 2026-07-02 at 1 18 17 PM Screenshot 2026-07-02 at 1 26 44 PM Screenshot 2026-07-02 at 1 26 53 PM

Because:
 - The Firefox promo and recovery key/phone banners did not match the
   updated Figma spec (FXA-14091).

This commit:
 - Moves the CTA below the description, left-aligned, with the optional
   link inline on the same row.
 - Normalizes banner padding to 20px and sets the CTA font size to text-sm.
 - Fixes banner image sizing, which was capped at 64px by a max-width /
   width conflict; images now render at Figma proportions and center on
   mobile.
@vbudhram vbudhram self-assigned this Jul 2, 2026
@vbudhram vbudhram requested a review from a team as a code owner July 2, 2026 17:18
Copilot AI review requested due to automatic review settings July 2, 2026 17:18

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.

Pull request overview

Updates the promo banner layouts in fxa-settings to better match the current Figma spec for the Firefox promo banner and the account recovery key / recovery phone banners (FXA-14091).

Changes:

  • Reworks PromotionBanner and FirefoxPromoBanner layout to place the CTA below the description and align content per the spec.
  • Normalizes spacing (20px padding) and CTA typography (removes conflicting text-base, keeps text-sm).
  • Adjusts promo image sizing to consistent rendered proportions and centers the image on smaller viewports.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
packages/fxa-settings/src/components/PromotionBanner/index.tsx Updates banner flex layout, spacing, image sizing, and CTA/link placement to match the updated spec.
packages/fxa-settings/src/components/FirefoxPromoBanner/index.tsx Mirrors the updated promo banner styling/layout for Firefox variants and aligns CTA styling with PromotionBanner.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +169 to +176
<Link
className="cta-neutral cta-base cta-base-p text-sm transition-standard"
to={`${route}${location.search ? location.search : ''}`}
data-testid={`submit_${metricsKey}`}
data-glean-id={`account_banner_${metricsKey}_submit`}
>
{ctaText}
</Link>
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