Skip to content

Conversation

@aboedo
Copy link
Member

@aboedo aboedo commented Jan 2, 2026

Summary

paywalls customer center
paywalls customer center
ScreenRecording_01-02-2026.17-29-52_1.MP4
  • Added Customer Center tab with button to open RevenueCat's Customer Center UI
  • Added Paywalls tab to list and display available paywalls
  • Both tabs match existing visual style with gradients, textures, and dark/light mode support

Changes

  • New CustomerCenterTabView with dark purple (rgb(31, 31, 71)) gradient
  • New PaywallsTabView with royal blue (rgb(87, 108, 219)) gradient
  • Added custom visual assets for both tabs
  • Updated ContentView to include new tabs

@aboedo aboedo requested a review from a team as a code owner January 2, 2026 20:27
@RevenueCat-Danger-Bot
Copy link

RevenueCat-Danger-Bot commented Jan 2, 2026

2 Warnings
⚠️ Size check is being bypassed due to the presence of the label "danger-bypass-size-limit"
⚠️ Size increase: 250.64 KB

Generated by 🚫 Danger

@aboedo aboedo added the pr:other label Jan 2, 2026
@aboedo aboedo self-assigned this Jan 2, 2026
@aboedo
Copy link
Member Author

aboedo commented Jan 7, 2026

@RevenueCat/coresdk @polpielladev @hiddevdploeg bump on this

@polpielladev
Copy link
Contributor

@RevenueCat/coresdk @polpielladev @hiddevdploeg bump on this

Ooops! Completely missed this, reviewing now 👀

VStack(alignment: .leading, spacing: 4) {
Text(offering.paywall?.templateName ?? offering.identifier)
.font(.headline)
Text("\(offering.availablePackages.count) package\(offering.availablePackages.count > 1 ? "s" : "")")
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: but I think we can just use string inflection instead here then we don't have to do the manual pluralization afaik

https://nilcoalescing.com/blog/HandlePluralsInSwiftUITextViewsWithInflection/

Copy link
Member Author

Choose a reason for hiding this comment

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

oh nice! TIL

Copy link
Contributor

@polpielladev polpielladev left a comment

Choose a reason for hiding this comment

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

Overall looks great to me, thanks for doing this @aboedo 🙌

I left a couple of small comments regarding duplication.

}
.scrollContentBackground(.hidden)
.background {
ContentBackgroundView(color: Color("RC-royal-blue"))
Copy link
Contributor

Choose a reason for hiding this comment

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

We have added a new RC-royal-blue on this PR but it has the same hex value as RC-blue, do we want to use that one instead here? Or just remove one in favor of the other duplicate?

Copy link
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

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

Just a more general question, but not a blocker for this I think. It looks great to me, thanks!

.padding()
.blur(radius: healthViewModel.isfetchingHealthReport ? 5 : 0)
.overlay {
if healthViewModel.isfetchingHealthReport {
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm it's a bit strange for me to display the loading screen here until the health view model is done. As in, it doesn't seem related... I can see that we do this in other tabs, and I guess it's a way to not have to wait on other more specific pieces of data, like whether the CustomerInfo has loaded... So I guess I wouldn't consider this a blocker right now. It could be confusing though for users using this as the base though I think.

@aboedo aboedo added the danger-bypass-size-limit Apply this label to bypass Dangerbot's size limit. label Jan 8, 2026
@aboedo
Copy link
Member Author

aboedo commented Jan 8, 2026

Feels like we still have some work to do when it comes to the CI tests reliability

@aboedo aboedo enabled auto-merge (squash) January 9, 2026 14:04
@aboedo aboedo merged commit fb08ceb into main Jan 9, 2026
13 checks passed
@aboedo aboedo deleted the andy/samplecat-additions branch January 9, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

danger-bypass-size-limit Apply this label to bypass Dangerbot's size limit. pr:other

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants