Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.98k stars 2.98k forks source link

[CP Staging] Subscription plan card UI changes #55117

Closed jayeshmangwani closed 1 week ago

jayeshmangwani commented 2 weeks ago

Explanation of Change

In this PR, we implemented two main changes:

  1. UpgradeIntro Component Update Previously, the GenericFeaturesView was shown if the feature was null or there was no policyID. However, this approach failed for users accessing the "Categorize" option. When a user selects "Categorize" from the Self-DM whisper, the isCategorizing flag is set to true. In such scenarios, a separate Categories upgrade UI needs to be displayed. To address this, we added a condition to ensure that isCategorizing is false before checking the policyID.

  2. SubscriptionPlanCard PressableWithFeedback Refactoring We removed the parent View around the PressableWithFeedback for SubscriptionPlanCard component. This ensures that the PressableWithFeedback child has no untouchable area, allowing the entire card to act as a PressableWithFeedback.

Fixed Issues

$ https://github.com/Expensify/App/issues/55110 $ https://github.com/Expensify/App/issues/55111 $ https://github.com/Expensify/App/issues/55112 $ https://github.com/Expensify/App/issues/55113 PROPOSAL:

Tests

Test 1

  1. Go to staging.new.expensify.com
  2. Log in with a new Gmail account (no workspace).
  3. Select "Track and budget expenses" during onboarding.
  4. Complete the onboarding.
  5. Go to self DM.
  6. Track an expense.
  7. Click Categorize it.
  8. Veify that button in the upgrade modal should be "Upgrade" which allows user to directly create a new Collect workspace.

Test 2

  1. Go to staging.new.expensify.com
  2. Log in with a new account.
  3. Create a workspace.
  4. Go to Subscription tab.
  5. Click on the empty space under Control plan content within the box.
  6. Verify tha empty space under Control plan content within the box should respond to click.

Test 3

  1. Go to staging.new.expensify.com
  2. Log in with a new account.
  3. Create a workspace.
  4. Go back to Settings.
  5. Go to Subscription tab.
  6. Verify that Control plan modal will have bottom padding.

Offline tests

QA Steps

// TODO: These must be filled out, or the issue title must include "[No QA]." Same as Tests

PR Author Checklist

Screenshots/Videos

Android: Native https://github.com/user-attachments/assets/45b6fb7a-5aed-4a1b-9c44-b1704448e97b
Android: mWeb Chrome https://github.com/user-attachments/assets/060acb57-0ecc-4d59-b692-dda18ff416b1
iOS: Native https://github.com/user-attachments/assets/50a909da-2a1a-43ce-8551-443120cbad4f
iOS: mWeb Safari https://github.com/user-attachments/assets/d282edb1-1d54-4717-ac6d-b7d1fac5d1c5
MacOS: Chrome / Safari https://github.com/user-attachments/assets/e15fa916-a84e-4984-8a20-60105770361f
MacOS: Desktop https://github.com/user-attachments/assets/91f334bd-2bb5-4962-82ff-6bcbbb2cfb3a
melvin-bot[bot] commented 2 weeks ago

@suneox 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]

jayeshmangwani commented 2 weeks ago

@DylanDylann Please help review this PR

DylanDylann commented 1 week ago

Reviewer Checklist

Screenshots/Videos

Android: Native Uploading Screen Recording 2025-01-13 at 14.58.28.mov…
Android: mWeb Chrome Screenshot 2025-01-13 at 14 56 58
iOS: Native https://github.com/user-attachments/assets/45b81eb3-1c98-4528-87a3-20d6df2d1ad7
iOS: mWeb Safari Screenshot 2025-01-13 at 15 08 11
MacOS: Chrome / Safari https://github.com/user-attachments/assets/0d5ba196-62ab-482e-9208-762a0bc489c0
MacOS: Desktop https://github.com/user-attachments/assets/ca879b3a-d701-45e9-91f0-b8531b34c732
Beamanator commented 1 week ago

Also FYI @jayeshmangwani I added $ before ALL GH issues in your PR description, not just the first one πŸ‘

jayeshmangwani commented 1 week ago

@MariaHCD @Beamanator updated the Explanation of Change section and added a comment on the page explaining why we made this change. The comment is quite detailed, so let me know if you'd like me to revise or shorten it.

https://github.com/Expensify/App/blob/84bc92cd712e6b9ba2760dce4ea50a7661e2110d/src/pages/workspace/upgrade/UpgradeIntro.tsx#L49-L58

jayeshmangwani commented 1 week ago

I added $ before ALL GH issues in your PR description, not just the first one πŸ‘

Thanks for doing this! I'll make sure to add $ to all the issues in the future."

OSBotify commented 1 week ago

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

github-actions[bot] commented 1 week ago

πŸš€ Cherry-picked to staging by https://github.com/Beamanator in version: 9.0.84-3 πŸš€

platform result
πŸ€– android πŸ€– success βœ…
πŸ–₯ desktop πŸ–₯ success βœ…
🍎 iOS 🍎 success βœ…
πŸ•Έ web πŸ•Έ success βœ…
πŸ€–πŸ”„ android HybridApp πŸ€–πŸ”„ success βœ…
πŸŽπŸ”„ iOS HybridApp πŸŽπŸ”„ success βœ…

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

github-actions[bot] commented 1 week ago

πŸš€ Deployed to production by https://github.com/mountiny in version: 9.0.84-7 πŸš€

platform result
πŸ€– android πŸ€– true ❌
πŸ–₯ desktop πŸ–₯ failure ❌
🍎 iOS 🍎 success βœ…
πŸ•Έ web πŸ•Έ success βœ…
πŸ€–πŸ”„ android HybridApp πŸ€–πŸ”„ failure ❌
πŸŽπŸ”„ iOS HybridApp πŸŽπŸ”„ success βœ…
github-actions[bot] commented 1 week ago

πŸš€ Deployed to production by https://github.com/mountiny in version: 9.0.84-7 πŸš€

platform result
πŸ€– android πŸ€– true ❌
πŸ–₯ desktop πŸ–₯ success βœ…
🍎 iOS 🍎 success βœ…
πŸ•Έ web πŸ•Έ success βœ…
πŸ€–πŸ”„ android HybridApp πŸ€–πŸ”„ failure ❌
πŸŽπŸ”„ iOS HybridApp πŸŽπŸ”„ success βœ