Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix LinkButton shape #10094

Merged
merged 6 commits into from
Feb 6, 2025
Merged

Fix LinkButton shape #10094

merged 6 commits into from
Feb 6, 2025

Conversation

cttsai-stripe
Copy link
Contributor

Summary

Set contentShape in DefaultLinkTheme for LinkButton

Motivation

The Link Button is wrapped by a component with a different corner radius. It becomes obvious when we change the background color with the appearance API.
Screenshot 2025-02-05 at 3 05 32 PM

Testing

  • Added tests
  • Modified tests
  • Manually verified

Screenshots

Before After
Screenshot 2025-02-05 at 3 06 55 PM Screenshot 2025-02-05 at 3 06 02 PM

Changelog

@cttsai-stripe cttsai-stripe requested review from a team as code owners February 5, 2025 23:08
Copy link
Collaborator

@jaynewstrom-stripe jaynewstrom-stripe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should be able to write a screenshot test with the fix!

Copy link
Collaborator

@samer-stripe samer-stripe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we actually just remove the wrapping Surface in DefaultLinkTheme? We shouldn't have components wrapping our themes. They should just be providers for values.

Copy link
Contributor

github-actions bot commented Feb 5, 2025

Diffuse output:

OLD: identity-example-release-base.apk (signature: V1, V2)
NEW: identity-example-release-pr.apk (signature: V1, V2)

          │          compressed          │         uncompressed         
          ├───────────┬───────────┬──────┼───────────┬───────────┬──────
 APK      │ old       │ new       │ diff │ old       │ new       │ diff 
──────────┼───────────┼───────────┼──────┼───────────┼───────────┼──────
      dex │     2 MiB │     2 MiB │  0 B │   4.1 MiB │   4.1 MiB │  0 B 
     arsc │     1 MiB │     1 MiB │  0 B │     1 MiB │     1 MiB │  0 B 
 manifest │   2.3 KiB │   2.3 KiB │  0 B │     8 KiB │     8 KiB │  0 B 
      res │ 302.6 KiB │ 302.6 KiB │  0 B │ 456.7 KiB │ 456.7 KiB │  0 B 
   native │   6.2 MiB │   6.2 MiB │  0 B │  15.8 MiB │  15.8 MiB │  0 B 
    asset │   7.1 KiB │   7.1 KiB │  0 B │   6.9 KiB │   6.9 KiB │  0 B 
    other │  90.8 KiB │  90.8 KiB │ +4 B │   171 KiB │   171 KiB │  0 B 
──────────┼───────────┼───────────┼──────┼───────────┼───────────┼──────
    total │   9.6 MiB │   9.6 MiB │ +4 B │  21.5 MiB │  21.5 MiB │  0 B 

 DEX     │ old   │ new   │ diff      
─────────┼───────┼───────┼───────────
   files │     1 │     1 │ 0         
 strings │ 19975 │ 19975 │ 0 (+0 -0) 
   types │  6193 │  6193 │ 0 (+0 -0) 
 classes │  4985 │  4985 │ 0 (+0 -0) 
 methods │ 29820 │ 29820 │ 0 (+0 -0) 
  fields │ 17538 │ 17538 │ 0 (+0 -0) 

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  164 │  164 │  0   
 entries │ 3624 │ 3624 │  0
APK
   compressed    │   uncompressed   │                                           
──────────┬──────┼───────────┬──────┤                                           
 size     │ diff │ size      │ diff │ path                                      
──────────┼──────┼───────────┼──────┼───────────────────────────────────────────
 28.6 KiB │ +3 B │  63.2 KiB │  0 B │ ∆ META-INF/CERT.SF                        
 25.4 KiB │ +2 B │  63.1 KiB │  0 B │ ∆ META-INF/MANIFEST.MF                    
    270 B │ -1 B │     120 B │  0 B │ ∆ META-INF/version-control-info.textproto 
──────────┼──────┼───────────┼──────┼───────────────────────────────────────────
 54.3 KiB │ +4 B │ 126.4 KiB │  0 B │ (total)

@cttsai-stripe
Copy link
Contributor Author

We should be able to write a screenshot test with the fix!

There are some in LinkButtonScreenshotTest. I expect the test will fail and I can override those.

samer-stripe
samer-stripe previously approved these changes Feb 5, 2025
import org.junit.Rule
import org.junit.Test

private enum class LinkButtonAppearance(val appearance: PaymentSheet.Appearance) : PaparazziConfigOption {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good usage of everything. Nice!

samer-stripe
samer-stripe previously approved these changes Feb 6, 2025
@cttsai-stripe cttsai-stripe merged commit 2095d93 into master Feb 6, 2025
13 checks passed
@cttsai-stripe cttsai-stripe deleted the cttsai/fix-link-button-shape branch February 6, 2025 19:24
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