-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Show all Expensify logins in Contact Methods page & view each in new Contact Method Details page #15204
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
Conversation
|
@mollfpr thanks for the comments, I addressed them! 👍 About that weird issue when adding a secondary login, I won't worry about that for now since I'm not modifying that page ( |
|
@Beamanator Yeah, I feel this PR has nothing to do about the issue. I'll take a look more at issue and report it. Besides that, everything looks good to me 👍 |
mollfpr
left a comment
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.
Well done @Beamanator 🚀
|
Groovy, thanks @mollfpr 👍 @cristipaval @shawnborton all y'all! 👍 😈 |
|
Looks good to me! |
|
✋ 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: 1.2.80-0 🚀
|
|
🚀 Deployed to production by https://github.com/roryabraham in version: 1.2.80-2 🚀
|
| <View style={[styles.flexRow, styles.alignItemsCenter, styles.mb1, styles.mt3]}> | ||
| <Icon src={Expensicons.DotIndicator} fill={colors.green} /> | ||
| <View style={[styles.flex1, styles.ml4]}> | ||
| <Text> | ||
| {this.props.translate('contacts.enterMagicCode', {contactMethod})} | ||
| </Text> | ||
| </View> | ||
| </View> |
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.
Coming from #18544:
For consistency, we should have reused DotIndicatorMessage component here.
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.
@shawnborton approved the designs of this PR, are you sure we wanted the other designs there? It looks like we didn't wait for Shawn to respond in Slack - https://expensify.slack.com/archives/C049HHMV9SM/p1683310488445319
And he wasn't ping'ed in that issue 🤷
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.
Here's discussion where @shawnborton involved: https://expensify.slack.com/archives/C049HHMV9SM/p1683306715287389?thread_ts=1683190809.653859&cid=C049HHMV9SM
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.
Ooh perfecto, thanks @0xmiroslav !
| [contactMethod]: { | ||
| pendingFields: { | ||
| validateLogin: null, | ||
| }, |
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.
✋ Coming from #21220
We need to clear the errorFields.validateCodeSent from the requestContactMethodValidateCode method, otherwise the error still visible after validating the contact method.
| [contactMethod]: { | ||
| partnerUserID: '', | ||
| errorFields: { | ||
| deletedLogin: null, |
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.
Coming from #33021
We can clear all errors here, allowing the indicator to display the correct color. :)
cc @cristipaval since you're helping with all of these related account settings / contact methods pages
Holding on New Contact methods page linked from Profile page #15039, which this PR was forked fromHolding on https://github.com/Expensify/Web-Expensify/pull/36541, where all the new commands will be createdDetails
Nothing too fishy, but I left a few comments about places we have temporary logic that we'll remove soon - the next phase in this rollout is to create the "Add new contact method" page. At this point, we'll remove the old
LoginFieldcomponent & the oldAddSecondaryLoginPagepage and routeFixed Issues
$ #15203
$ #11575
Tests
Notes:
DELETE FROM nameValuePairs WHERE accountID = <accountID> and name glob 'private_throttleAttempts_*';Default contact method
Still able to add new contact methods
Resend magic code to unvalidated contact method & validate it
000000magic code (@cristipaval will make the link work in a future PR)Resend magic code, and observe errors
Validate secondary login, and observe errors
12345. Click "Verify".Remove contact method
Offline tests
Send magic code
Validate a secondary login
Delete a secondary login
QA Steps
Same as above, except:
000000- use the code that is sent to your emailPR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.Screenshots/Videos
Web
Screen.Recording.2023-02-27.at.7.27.38.PM.mov
Mobile Web - Chrome
Screen.Recording.2023-03-01.at.1.59.44.PM.mov
Mobile Web - Safari
Screen.Recording.2023-03-01.at.2.17.43.PM.mov
Desktop
Screen.Recording.2023-02-27.at.7.43.14.PM.mov
iOS
Screen.Recording.2023-03-01.at.2.17.43.PM.mov
Android
Screen.Recording.2023-03-01.at.1.55.45.PM.mov