Skip to content

feat(auth): redesign the email verification screen - #327

Merged
DennisBauer merged 3 commits into
mainfrom
feat/email-verification-redesign
Aug 3, 2026
Merged

feat(auth): redesign the email verification screen#327
DennisBauer merged 3 commits into
mainfrom
feat/email-verification-redesign

Conversation

@DennisBauer

Copy link
Copy Markdown
Contributor

No description provided.

Result screens were each rebuilding the same centred column from
scratch, and drifting: the email verification screen used bodyMedium
for its headline and a 200dp button cap where the register success
screen used titleLarge and 300dp.

ResultLayout fixes the shape once — badge, headline, body, hint,
actions — and scrolls rather than centring rigidly, so the content
survives landscape and short windows. ResultBadge takes the icon as a
parameter so artwork stays in the features.
The screen ends two flows the user cares about — creating an account
and upgrading a guest — but rendered as a top-left block of bodySmall
text with no way to tell the outcomes apart beyond one tinted line.
It now uses ResultLayout, so it centres, scrolls and matches the type
scale of the other result screens.

A third case also lands here: a registered user confirming an email
change. It reused the fresh-registration copy and never explained that
the session had been ended on purpose. All three now say what actually
happened, driven by a VerificationOrigin read from the cached session
before the token is spent — the server returns no body, so the account
on the device is the only signal.

The origin is published before the request rather than after it so the
failure state can use it too: the screen only holds a token and cannot
resend anything, but it can name the place that can, and that place
differs per flow.

isVerifying/isVerified/retainsSession collapse into that origin plus a
status; retainsSession was only ever origin == Guest.
Continue popped the verification screen and uncovered Home, which the
deep link had seeded underneath it. The upgrade starts on Profile and
is only visible there — the guest banner and the upgrade row are gone
— so it now lands back where it began.

Left as the default for the logged-out graph, which cannot reach this
outcome: with no account on the device the token can only be finishing
a registration.
@DennisBauer DennisBauer added the feature New feature or request label Aug 3, 2026
@DennisBauer
DennisBauer merged commit 2b27112 into main Aug 3, 2026
3 checks passed
@DennisBauer
DennisBauer deleted the feat/email-verification-redesign branch August 3, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant