Introduce free trial countdown pop-up#96275
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 |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
Explantion of changes:
|
|
@shubham1206agra 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: a80e083439
ℹ️ 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".
|
Videos look right to me (except for the Hmm it's not here screen 😅) |
Explanation of Change
Fixed Issues
$ #84022
PROPOSAL:
Regresions:
Tests
Case 1: With 1, 2, 3, 7 and 15 days
Title: "Stay Ahead of the Deadline”
Subtitle: “Don’t wait until the last minute, add your payment method today to ensure continuous access to your expenses on Expensify.”
Button: “Add payment card” (redirecting to /settings/subscription/add-payment-card)
Button: “Close” (closes the pop-up)
Case 2: With 28, 29
“Trial ends in X days” (3 or 2 days)
Title: ”Stay Ahead of the Deadline”
Subtitle: “Don’t wait until the last minute, add your payment method today to ensure continuous access to your expenses on Expensify.”
Button: “Add payment card” (to /settings/subscription/add-payment-card)
Button: “Close” (closes the pop-up)
Case 3: On the last 24h
“Trial ends in 00h : 00m : 00s” (Countdown)
Title: ”Stay Ahead of the Deadline”
Subtitle: “Don’t wait until the last minute, add your payment method today to ensure continuous access to your expenses on Expensify.”
Button: “Add payment card” (redirecting to /settings/subscription/add-payment-card)
Button: “Close” (closes the pop-up)
Case 4: Open the free trial countdown popup after the app review modal
Test #96069
Test #96077
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.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
Screen.Recording.2026-03-04.at.21.36.43.mov
MacOS: Chrome / Safari
Screen.Recording.2026-03-03.at.23.13.16.mov
Screen.Recording.2026-03-03.at.23.13.40.mov
Screen.Recording.2026-07-16.at.6.07.23.PM.mov