App icon indicating copy to clipboard operation
App copied to clipboard

Implement UI changes for managing 2FA in newdot

Open MonilBhavsar opened this issue 1 year ago • 6 comments

Add pages and components for user to manage 2FA from Newdot

  1. Add new Routes https://docs.google.com/document/d/11C65_BCS6D_V08JKX_mftI5ocWTYcazfblunrh9QGek/edit#bookmark=id.6u7oj99x2zog
  2. Build disable 2FA page https://docs.google.com/document/d/11C65_BCS6D_V08JKX_mftI5ocWTYcazfblunrh9QGek/edit#bookmark=id.ld2a60lrxlj6
  3. Build 2FA codes page content https://docs.google.com/document/d/11C65_BCS6D_V08JKX_mftI5ocWTYcazfblunrh9QGek/edit#bookmark=id.evab2rvg00as
  4. Build verify 2FA page https://docs.google.com/document/d/11C65_BCS6D_V08JKX_mftI5ocWTYcazfblunrh9QGek/edit#bookmark=id.vm6ue9ss3aaw
  5. Build 2FA success page https://docs.google.com/document/d/11C65_BCS6D_V08JKX_mftI5ocWTYcazfblunrh9QGek/edit#bookmark=id.4kfqwc56mdwm
  6. Finally add an option is security settings page https://docs.google.com/document/d/11C65_BCS6D_V08JKX_mftI5ocWTYcazfblunrh9QGek/edit#bookmark=id.jz73dunvl4v0

Most of the code is written in the doc


Main tracking issue https://github.com/Expensify/App/issues/15215

MonilBhavsar avatar Apr 27 '23 14:04 MonilBhavsar

Triggered auto assignment to @bfitzexpensify (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details.

MelvinBot avatar Apr 27 '23 14:04 MelvinBot

@thiagobrez sorry looks like I assigned you to the wrong issue. Could you please comment here so that I can assign you here

MonilBhavsar avatar Apr 27 '23 14:04 MonilBhavsar

No worries @MonilBhavsar !

thiagobrez avatar Apr 27 '23 15:04 thiagobrez

Thanks! We're almost unblocked. Feel free to go through the document and you can start working on it. Always here to help if you have any questions. Thank you!

MonilBhavsar avatar Apr 27 '23 15:04 MonilBhavsar

@MonilBhavsar Awesome, thank you very much 🙇🏻 Could you give me permissions to access the doc?

thiagobrez avatar Apr 27 '23 15:04 thiagobrez

Internal handling happening via https://github.com/Expensify/App/issues/15215, so don't think I'm needed here. Unassigning myself

bfitzexpensify avatar Apr 27 '23 16:04 bfitzexpensify

@thiagobrez could you please check. We have shared the doc with you.

MonilBhavsar avatar Apr 28 '23 09:04 MonilBhavsar

@MonilBhavsar Yes! It worked and I'm already on it, thank you very much! Also, I see that the figma designs are in the works and expected to be done by Monday. Can I have access to that also when it's done? Thank you :)

thiagobrez avatar Apr 28 '23 09:04 thiagobrez

We have finalized the design and final designs are updated in the doc. Is that fine, or you need designs exported directly from Figma?

MonilBhavsar avatar Apr 28 '23 09:04 MonilBhavsar

I think I was expecting to have access to the actual design file so I could measure and do everything pixel-perfect. But if that is not possible no worries, I guess with the pre-made components and detailed implementation in the doc it is already possible

thiagobrez avatar Apr 28 '23 09:04 thiagobrez

Update: Good progress on UI. Enabled, Disabled and Codes pages are done, Verify page is almost. After that, Success page should be quick.

thiagobrez avatar May 02 '23 15:05 thiagobrez

Update: UI is done and connected to API. Next up is testing on all platforms and writing tests.

thiagobrez avatar May 05 '23 15:05 thiagobrez

@shawnborton, @thiagobrez is working on implementation of 2FA settings and requires a SVG/animation file

We have this svg/animation on the success page of the 2FA settings.

Screenshot 2023-05-08 at 3 49 35 PM

This looks fireworks and we also have fireworks in the success page of Bank Accounts page. That looks like this (plugged in 2FA settings page) -

https://user-images.githubusercontent.com/32012005/236802355-c5d85a8d-2e5d-4fdc-8840-b719d96953de.mov

Do we want to use the same fireworks animation or different one as proposed in Figma? Also when exporting that SVG from Figma, it shows colorless in App and looks like we export from Adobe. If so could you please help us to export that file. Thanks! 🙏

MonilBhavsar avatar May 08 '23 10:05 MonilBhavsar

Can you show me what is proposed in Figma that might be different from the animation you linked above?

Personally I think we should just use the same fireworks animation we're using elsewhere.

shawnborton avatar May 08 '23 12:05 shawnborton

This is what is proposed in Figma

https://user-images.githubusercontent.com/32012005/236802117-ece0bbda-e94d-43c0-9a71-915007b7bda7.png

Personally I think we should just use the same fireworks animation we're using elsewhere.

I agree 👍

MonilBhavsar avatar May 08 '23 12:05 MonilBhavsar

Oh, the screenshot you shared is basically the same as the animation so we're all good.

shawnborton avatar May 08 '23 13:05 shawnborton

Awesome, thanks for clarifying. So we use the fireworks animation we currently have. cc @thiagobrez

MonilBhavsar avatar May 08 '23 13:05 MonilBhavsar

Perfect, thank you both @shawnborton @MonilBhavsar !

thiagobrez avatar May 08 '23 13:05 thiagobrez

Update: Draft PR is being reviewed internally

thiagobrez avatar May 09 '23 09:05 thiagobrez

Hey @shawnborton! Is this security settings page header expected to be implemented in this PR? Asking because I did not see any mention for it in the design doc:

Screenshot 2023-05-10 at 10 14 38

cc @MonilBhavsar

thiagobrez avatar May 10 '23 10:05 thiagobrez

Good question! I don't think so. I guess this should be a part of another PR where we apply header images to all pages, so we have consistency in design. But yeah, @shawnborton would be knowing better.

MonilBhavsar avatar May 10 '23 10:05 MonilBhavsar

Yeah, we'll handle those design changes in a separate PR so you can ignore them for now!

shawnborton avatar May 10 '23 11:05 shawnborton

PR is here and ready for review!

https://github.com/Expensify/App/pull/18576

thiagobrez avatar May 11 '23 15:05 thiagobrez

Thank you!

MonilBhavsar avatar May 12 '23 07:05 MonilBhavsar

@thiagobrez the QR code is being added here and with the updated branding. If that PR is merged before us, we'll merge main in your PR and then use that QR code component. cc @shawnborton Looks like the Expensify logo we need in the middle of QR code is the same as the one at http://new.expensify.com/settings/about

QRcodes

MonilBhavsar avatar May 12 '23 14:05 MonilBhavsar

Perfect, this is gorgeous! 👍🏻

thiagobrez avatar May 12 '23 14:05 thiagobrez

@thiagobrez the linked PR is merged now. If you could please merge main in to your PR and use that new library

MonilBhavsar avatar May 15 '23 09:05 MonilBhavsar

@MonilBhavsar Done 👍🏻

Here is the result:

Web iOS Android
Screenshot 2023-05-15 at 11 01 27 Simulator Screen Shot - iPhone 14 - 2023-05-15 at 10 53 03 Screenshot 2023-05-15 at 11 14 09

I didn't use the title, subtitle and logo props from the new component because it didn't seem appropriate here, but let me know if you think it should be added

thiagobrez avatar May 15 '23 10:05 thiagobrez

I think we might want to ungroup the QR code component from the QR share component. The QR code component would only render a QR code and we can use that in QR share as well as in our 2FA page to render a QR code to achieve the results as the mockup above.

MonilBhavsar avatar May 15 '23 10:05 MonilBhavsar

@MonilBhavsar Created a reusable QRCode component that is being used by both QRShare and VerifyPage.

Result:

Verify Page Share code page
Simulator Screen Shot - iPhone 14 - 2023-05-15 at 12 01 03 Simulator Screen Shot - iPhone 14 - 2023-05-15 at 12 01 33

thiagobrez avatar May 15 '23 11:05 thiagobrez