Page MenuHomePhabricator

[native] Introduce a password account restore screen
ClosedPublic

Authored by tomek on Fri, Nov 29, 10:40 AM.
Tags
None
Referenced Files
F3522001: D14067.id46214.diff
Mon, Dec 23, 5:31 AM
Unknown Object (File)
Sat, Dec 21, 11:57 PM
Unknown Object (File)
Fri, Dec 20, 11:56 PM
Unknown Object (File)
Sat, Dec 14, 7:47 PM
Unknown Object (File)
Fri, Dec 13, 10:36 PM
Unknown Object (File)
Fri, Dec 13, 10:18 PM
Unknown Object (File)
Thu, Dec 12, 5:15 AM
Unknown Object (File)
Mon, Dec 9, 11:45 AM
Subscribers

Details

Summary

On this screen, a user can provide their credentials in order to restore their account.

password-empty.png (2×1 px, 95 KB)

password-present.png (2×1 px, 93 KB)

Depends on D13907

Test Plan

Opened the screen and made sure it is displayed correctly.

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

This screen differs from the log out modal in two ways:

  1. It doesn't handle setActiveAlert. This function is called by the LogInPanel when an alert is shown. On the logged out modal side, this call results in setting a state that is then used when computing the keyboard height, that is used to determine a panel padding. On this screen we don't need to care about the keyboard height because we don't show a panel that has a position depending on the keyboard height.
  2. In the logged out modal, we're handling dismissing the LogInPanel by removing a password and adding it again. We do that because otherwise iOS would show a user an alert about saving the password. We can use this trick there because, in reality, we're staying on the same screen, so all the state can be kept. On this screen, we can't do that, and going back might result in the screen being unmounted. This means that showing this alert might be desirable.
kamil added a reviewer: ashoat.

I think @ashoat should review this to see the user-facing copy

ashoat requested changes to this revision.Mon, Dec 2, 10:22 AM

The design here doesn't look great to me... it feels like we're taking the "design language" of LoggedOutModal and applying it in a place where we're mostly using the RegistrationNavigator "design language".

Can we instead try to base the design on RegistrationNavigator? I think we can keep the general structure here (one username field, one password field, and a button), but instead:

  1. Look at UsernameSelection to get an idea of how to style the username input field.
  2. Look at PasswordSelection to get an idea of how to style the password input field.
  3. Use PrimaryButton for the sign-in button.

If we do this, then after launching signed device lists we can probably totally deprecate LogInPanel. What do you think?

This revision now requires changes to proceed.Mon, Dec 2, 10:22 AM

The design here doesn't look great to me... it feels like we're taking the "design language" of LoggedOutModal and applying it in a place where we're mostly using the RegistrationNavigator "design language".

Can we instead try to base the design on RegistrationNavigator? I think we can keep the general structure here (one username field, one password field, and a button), but instead:

  1. Look at UsernameSelection to get an idea of how to style the username input field.
  2. Look at PasswordSelection to get an idea of how to style the password input field.
  3. Use PrimaryButton for the sign-in button.

If we do this, then after launching signed device lists we can probably totally deprecate LogInPanel. What do you think?

This definitely makes sense! I'm going to structure the solution so that removing the LogInPanel is easy.

Use the registration flow design

This revision is now accepted and ready to land.Thu, Dec 5, 10:05 PM