Unify password and PIN login into a single login scene#295
Open
j0ntz wants to merge 2 commits into
Open
Conversation
Contributor
Author
6c42a97 to
ca37b78
Compare
ca37b78 to
e4c5429
Compare
e4c5429 to
e31ecde
Compare
New reusable pieces for the unified login scene: a two-segment pill toggle that switches between the password and PIN/biometric flavors, and the "Trouble Signing in?" help modal that folds QR-code login and password recovery into one sheet.
e31ecde to
1dda260
Compare
Contributor
Author
1dda260 to
7480838
Compare
7480838 to
b28a8f7
Compare
fbac915 to
5713096
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5713096. Configure here.
Replace the two distinct login scenes with one LoginScene that toggles
between a password and a PIN/biometric flavor in place. Logo sits above the
pill toggle ("Password" | "Pin/Biometric"); the username row is a dropdown
when multiple accounts exist and a plain, non-tappable label for a single
account. Selecting a non-PIN account from the PIN flavor auto-switches to the
password flavor with a toast, and the PIN pill is greyed when the selected
account has no PIN. The QR button and forgot-password link are folded into the
"Trouble Signing in?" help sheet. Collapses the passwordLogin/pinLogin routes
into a single login route and rewires all internal callsites.
5713096 to
7cfe75b
Compare
j0ntz
added a commit
to EdgeApp/edge-react-gui
that referenced
this pull request
Jun 23, 2026
Draft integration only: pin edge-login-ui-rn to a local prebuilt tarball of the jon/login-redesign branch (EdgeApp/edge-login-ui-rn#295) so CI and a feta cheese build exercise the unified login scene before the dep is published. Not for merge.
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.











CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Description
Merges the two separate login scenes (
PasswordLoginSceneandPinLoginScene) into a single unifiedLoginScenethat switches between a password flavor and a PIN/biometric flavor in place, per the redesign proposals.Asana: https://app.asana.com/0/1215088146871429/1215939017452141
What changed:
LoginScenereplaces both old scenes. ThepasswordLoginandpinLoginroutes collapse into oneloginroute, and all internal callsites (initial-route logic, landing, OTP error, recovery, change-PIN, new-account) are rewired to it. TheLoginScreenpublic API andinitialRoutevalues stay backward compatible, so noedge-react-guichange is required.Testing:
Built
edge-react-guiwith this branch linked via updot and drove the login UI on the iOS simulator (YOLO auto-login disabled so the scene renders):edge-fundsPIN logs in to the home screen.Proof screenshots attached below.
Note
Medium Risk
Large refactor of the primary login surface (password, PIN, biometrics, recovery, QR) with new in-scene state; core login APIs are reused but navigation and UX paths changed widely enough to warrant thorough regression testing.
Overview
Replaces
PasswordLoginSceneandPinLoginScenewith oneloginroute and a newLoginScenethat switches between password and PIN/biometric flows in place viaLoginFlavorToggle, instead of navigating between separate screens.Routing and entry:
LoginInitActions, landing, OTP error, recovery, new-account PIN back, and related paths now navigate tologinwithloginId,username, and optionalpasswordOnly(for forced password entry). The router drops the old scene cases;LoginParamListis updated accordingly.Unified UX: In-scene account picking uses an animated username dropdown (password and multi-account PIN). PIN-capable vs password-only accounts drive auto flavor selection, greyed PIN tab, and toasts when PIN is unavailable. Forgot-password and QR login move from inline controls to
LoginHelpModalbehind "Trouble Signing in?"Theming: Dark theme adds
loginToggleBackground/loginToggleSelectedand adjusts filled text-input colors to align with edge-react-gui.Reviewed by Cursor Bugbot for commit 7cfe75b. Bugbot is set up for automated code reviews on this repo. Configure here.