[Internal QA] Add credits balance to subscription settings#87790
[Internal QA] Add credits balance to subscription settings#87790cristipaval merged 14 commits intoExpensify:mainfrom
Conversation
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
|
@abdulrahuman5196 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ed7b57edc5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| /** The amount owed by the workspace’s owner. */ | ||
| NVP_PRIVATE_AMOUNT_OWED: 'nvp_private_amountOwed', | ||
| NVP_PRIVATE_AMOUNT_OWED: ‘nvp_private_amountOwed’, |
There was a problem hiding this comment.
Replace smart quotes in ONYX key literal
The string assigned to NVP_PRIVATE_AMOUNT_OWED uses typographic quotes (‘…’) instead of ASCII quotes, which makes src/ONYXKEYS.ts fail to parse (TS1127: Invalid character) and breaks TypeScript builds/tests in every environment. This blocks the app from compiling until the delimiter is changed back to a normal JavaScript string quote.
Useful? React with 👍 / 👎.
| confirm: 'Supprimer l’(les) espace(s) de travail et rétrograder', | ||
| }, | ||
| viewPaymentHistory: 'Voir l’historique des paiements', | ||
| viewPaymentHistory: ‘Voir l’historique des paiements’, |
There was a problem hiding this comment.
Restore valid quotes in French translation entry
The viewPaymentHistory value in the French locale also uses typographic quotes (‘…’), which is invalid JavaScript/TypeScript syntax and triggers parser errors (TS1127, TS1136) when loading src/languages/fr.ts. Because locales are imported at startup, this breaks builds/runtime initialization universally until corrected.
Useful? React with 👍 / 👎.
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
| details: { | ||
| title: 'Datos de suscripción', | ||
| annual: 'Suscripción anual', | ||
| creditBalance: 'Saldo de crédito', |
There was a problem hiding this comment.
asked for confirmation here https://expensify.slack.com/archives/C01GTK53T8Q/p1776195984794079
trjExpensify
left a comment
There was a problem hiding this comment.
Good from me on the product change. 👍
cristipaval
left a comment
There was a problem hiding this comment.
Code looks good, but given that we're adding a new component, let's
- ask for @Expensify/design approval
- Add screenshots for all platforms
Will do, thanks ! @cristipaval can you trigger adhoc build for this please |
|
label didn't work, i think you need to trigger it :( |
|
🚧 @cristipaval has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
Screenshot looks good to me 👍 |
|
@allgandalf, could you test all platforms and add the screenshots? |
|
@cristipaval We block showing details of subscription page on Mobile native, i added screenshots showing that , can you please review and test, thanks ! |
|
Thanks @allgandalf |
|
🚧 @cristipaval has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/cristipaval in version: 9.3.61-0 🚀
Bundle Size Analysis (Sentry): |
|
Yes, help site changes are needed. PR #87790 adds a Credit balance row to Settings > Subscription > Subscription details, but the corresponding help article ( I've created a draft PR with the update: #88405 Change: Added a bullet for Credit balance to the "How to manage your subscription details" section, noting it appears only when the account has a positive prepaid credit balance. Note: I was unable to add the PR to GitHub project 196 due to permissions — please add it manually. |
|
Tested a customer account, you can see in #deployers here: https://expensify.slack.com/archives/C07J32337/p1776786820584229?thread_ts=1776769854.658039&cid=C07J32337 |
Explanation of Change
Surfaces the
private_freebieCreditsNVP (prepaid credit balance) in NewDot's subscription settings details page, matching existing Classic behavior. When a user has a positive credit balance, a "Credit balance" menu item appears between the Expensify Code and Tax Exempt sections showing the formatted amount.Depends on Auth PR: https://github.com/Expensify/Auth/pull/21036
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/622655
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.