-
Notifications
You must be signed in to change notification settings - Fork 2
✨ home and payments screens revamp #775
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
base: main
Are you sure you want to change the base?
Changes from all commits
0252383
b3b3916
d989233
61811dd
4f8f5d8
534b139
883bb53
fcf3da0
2c73090
52ac452
e7b2bfb
cc13046
e0f758d
98b5f7a
31d0fda
a7af38d
8846ab9
7fd9d53
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 adjust tamagui tokens |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 update tab bar ui |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 restyle card status component |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 restyle action buttons |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| ✨ implement new pay screen |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| ♻️ unify card mode mutation |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 apply tamagui spacing tokens |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 refine benefits carousel |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 replace fonts |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 🌐 adjust translations |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| ✨ add installments calculator |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 🐛 fix protocol asset logos |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 add vertical frame to styled button |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 restyle overdue and upcoming payments |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💫 unify animation parameters |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 restyle portfolio summary |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@exactly/mobile": patch | ||
| --- | ||
|
|
||
| 💄 unify add funds gap value |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| appId: ${APP_ID ?? "app.exactly"} | ||
| --- | ||
| # HACK https://github.com/mobile-dev-inc/Maestro/issues/2914 | ||
| - runFlow: | ||
| when: { true: "${maestro.platform != 'web'}" } | ||
| commands: | ||
| - copyTextFrom: "${aria}" | ||
| - runFlow: | ||
| when: { platform: web } | ||
| commands: | ||
| - copyTextFrom: { id: "${aria}" } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| appId: ${APP_ID ?? "app.exactly"} | ||
| --- | ||
| - assertVisible: ${output.account.slice(0, 6)}…${output.account.slice(-4)} | ||
| - runFlow: | ||
| when: { true: "${maestro.platform != 'web'}" } | ||
| commands: [{ assertVisible: Settings }] | ||
| - runFlow: | ||
| when: { platform: web } | ||
| commands: [{ assertVisible: { id: Settings } }] | ||
| - runFlow: { file: tapAria.yaml, env: { aria: Hide sensitive } } | ||
| - assertNotVisible: | ||
| text: \$[\s\d,.\xa0]+ | ||
| below: Portfolio | ||
| - runFlow: { file: tapAria.yaml, env: { aria: Show sensitive } } | ||
| - assertVisible: | ||
| text: \$[\s\d,.\xa0]+ | ||
| below: Portfolio | ||
| - assertVisible: Portfolio | ||
| - assertVisible: | ||
| text: \$[\s\d,.\xa0]+ | ||
| below: Portfolio | ||
| - assertVisible: Manage portfolio | ||
| - runFlow: readPortfolio.yaml | ||
| - assertTrue: ${output.portfolio > 0} | ||
| - assertVisible: Add funds | ||
| - assertVisible: Send | ||
| - assertVisible: Swap | ||
| - assertVisible: Exa Card pay mode | ||
| - assertVisible: Learn more | ||
| - assertNotVisible: Getting Started | ||
| - scrollUntilVisible: { element: Upcoming payments } | ||
| - assertVisible: Benefits | ||
| - extendedWaitUntil: | ||
| visible: 30 days of free travel insurance | ||
| timeout: 15000 | ||
| - tapOn: 30 days of free travel insurance | ||
| - assertVisible: Copy your ID and get 30 days of travel insurance for free on Pax Assistance. | ||
| - tapOn: COPY ID | ||
| - runFlow: { file: tapAria.yaml, env: { aria: Close } } | ||
| - extendedWaitUntil: | ||
| visible: 20% OFF on eSims | ||
| timeout: 15000 | ||
| - tapOn: 20% OFF on eSims | ||
| - assertVisible: Stay connected around the world. | ||
| - assertVisible: Terms & conditions | ||
| - runFlow: { file: tapAria.yaml, env: { aria: Close } } | ||
| - extendedWaitUntil: | ||
| visible: Visa Signature benefits | ||
| timeout: 15000 | ||
| - tapOn: Visa Signature benefits | ||
| - assertVisible: Visa Signature Exa Card benefits | ||
| - assertVisible: A world of benefits. | ||
| - runFlow: { file: tapAria.yaml, env: { aria: Close } } | ||
|
Comment on lines
+33
to
+53
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Benefits carousel content is hardcoded — consider parameterizing if content is dynamic. The test asserts specific benefit strings ("30 days of free travel insurance", "20% OFF on eSims", "Visa Signature benefits"). If marketing content changes, these tests will break silently. This is fine for stable content, but worth noting for maintenance. 🧰 Tools🪛 YAMLlint (1.38.0)[error] 39-39: too many spaces inside braces (braces) [error] 39-39: too many spaces inside braces (braces) [error] 39-39: too many spaces inside braces (braces) [error] 39-39: too many spaces inside braces (braces) [error] 46-46: too many spaces inside braces (braces) [error] 46-46: too many spaces inside braces (braces) [error] 46-46: too many spaces inside braces (braces) [error] 46-46: too many spaces inside braces (braces) [error] 53-53: too many spaces inside braces (braces) [error] 53-53: too many spaces inside braces (braces) [error] 53-53: too many spaces inside braces (braces) [error] 53-53: too many spaces inside braces (braces) |
||
| - assertVisible: Upcoming payments | ||
| - assertVisible: | ||
| text: \$[\d,]+\.\d{2} | ||
| below: Upcoming payments | ||
| - scrollUntilVisible: { element: Latest activity } | ||
| - assertVisible: Latest activity | ||
| - assertVisible: View all | ||
| - assertNotVisible: No activity yet | ||
| - tapOn: View all | ||
| - tapOn: Home | ||
| - assertVisible: Portfolio | ||
| - assertVisible: | ||
| text: \$[\s\d,.\xa0]+ | ||
| below: Portfolio | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| appId: ${APP_ID ?? "app.exactly"} | ||
| --- | ||
| - copyTextFrom: | ||
| below: Your portfolio | ||
| text: ^(US)?\$[\s\d,.\xa0]+$ | ||
| - runFlow: | ||
| file: copyAria.yaml | ||
| env: { aria: "^(US)?\\$[\\s\\d,.\\xa0]+$" } | ||
| - evalScript: ${output.portfolio = Number(maestro.copiedText.replace(/\D/g, "")) / 100} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,18 +2,17 @@ appId: ${APP_ID ?? "app.exactly"} | |
| --- | ||
| - scrollUntilVisible: { element: Upcoming payments } | ||
| - copyTextFrom: | ||
| text: \d+[,.]\d{2} | ||
| text: \$[\d,]+\.\d{2} | ||
| below: Upcoming payments | ||
| leftOf: Repay | ||
| - evalScript: ${output.debt = Number(maestro.copiedText)} | ||
| - evalScript: ${output.debt = Number(maestro.copiedText.replace(/[^\d.]/g, ''))} | ||
| - copyTextFrom: | ||
| text: "[^%.]+" | ||
| below: "${maestro.copiedText}" | ||
| leftOf: Repay | ||
| text: "[^%.$]+" | ||
| below: Upcoming payments | ||
| leftOf: "${maestro.copiedText}" | ||
| - evalScript: ${output.maturity = maestro.copiedText} | ||
| - tapOn: { text: Repay, rightOf: "${output.maturity}" } | ||
| - tapOn: "${output.maturity}" | ||
| - waitForAnimationToEnd | ||
| - tapOn: { text: Repay, leftOf: Rollover } | ||
| - tapOn: { text: Pay, leftOf: Rollover } | ||
| - runFlow: { when: { true: "${!amount}" }, commands: [{ tapOn: Max }] } | ||
| - runFlow: | ||
| when: { true: "${amount}" } | ||
|
|
@@ -50,9 +49,8 @@ appId: ${APP_ID ?? "app.exactly"} | |
| commands: | ||
| - assertVisible: "${output.maturity}" | ||
| - copyTextFrom: | ||
| text: \d+[,.]\d{2} | ||
| above: "${output.maturity}" | ||
| text: \$[\d,]+\.\d{2} | ||
| below: Upcoming payments | ||
| leftOf: Repay | ||
| - assertTrue: ${Math.abs(output.debt - Number(maestro.copiedText) - Number(amount)) < 0.02} | ||
| rightOf: "${output.maturity}" | ||
| - assertTrue: ${Math.abs(output.debt - Number(maestro.copiedText.replace(/[^\d.]/g, '')) - Number(amount)) < 0.02} | ||
|
Comment on lines
51
to
+55
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check if the Maestro config or CI sets a specific locale
rg -n -i 'locale\|LANG\|LC_' .maestro/ --include='*.yaml' --include='*.yml' || echo "No locale config found in .maestro/"
echo "---"
rg -n -i 'locale\|LANG\|LC_' .github/ -g '*.yml' -g '*.yaml' || echo "No locale config found in .github/"Repository: exactly/exa Length of output: 588 🏁 Script executed: # Search for Maestro configuration files and test setup
find . -name ".maestro" -o -name "maestro.yaml" -o -name "maestro.yml" | head -20Repository: exactly/exa Length of output: 65 🏁 Script executed: # Check for any environment variable setup or locale handling in test files
rg -n 'Locale\|locale\|LANG' . --include='*.yaml' --include='*.yml' --include='*.java' --include='*.kt' --include='*.js' --include='*.ts' --max-count=20 || echo "No locale settings found"Repository: exactly/exa Length of output: 538 🏁 Script executed: # Read the repay.yaml file to understand the context
cat -n .maestro/subflows/repay.yamlRepository: exactly/exa Length of output: 2296 🏁 Script executed: # Search for Maestro references or documentation
find . -type f \( -name "README*" -o -name "*.md" \) | head -10 | xargs grep -l "Maestro" 2>/dev/null || echo "No README found"Repository: exactly/exa Length of output: 70 🏁 Script executed: # Check for Maestro configuration in common locations
ls -la .maestro/Repository: exactly/exa Length of output: 787 🏁 Script executed: # Search for any test setup, runner config, or environment files
find . -maxdepth 2 -type f \( -name "*.config.*" -o -name "setup.*" -o -name "test.env" -o -name ".env*" \) 2>/dev/null | head -20Repository: exactly/exa Length of output: 481 🏁 Script executed: # Check Maestro config
cat .maestro/config.yamlRepository: exactly/exa Length of output: 106 🏁 Script executed: # Check package.json for test setup and locale info
cat package.json | grep -A 20 '"scripts"' || cat package.jsonRepository: exactly/exa Length of output: 1611 Fix number parsing to handle non-US locales used in e2e tests. Line 55 asserts Additionally, the copyTextFrom pattern on line 52 ( |
||
| - tapOn: Home | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove trailing blank line.
YAMLlint flags a trailing empty line at the end of the file.
🧰 Tools
🪛 YAMLlint (1.38.0)
[error] 72-72: too many blank lines (1 > 0)
(empty-lines)