Skip to content

feat: onboarding without authentication #3433

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

Open
wants to merge 22 commits into
base: main
Choose a base branch
from

Conversation

tiankii
Copy link
Contributor

@tiankii tiankii commented May 19, 2025

Onboarding flow / login and signup experience redesign

This pull request introduces a complete update of the onboarding experience, a redesign of the login flow, a new modal logic for account upgrade prompts.

Screens redesigned or added in this feature

  • Initial Screen (Create/Login)
  • Login Method Selection Screen
  • Welcome Level 1
  • Email Benefits
  • Email Confirmed
  • Lightning Benefits
  • Set Lightning Address
  • Lightning Confirmed
  • Support
  • Upgrade Account Modal

These pages create a guided and progressive onboarding experience, highlighting account benefits depending on the chosen login method.

Updated login experience

  • The initial screen for creating an account or logging in has been visually and structurally improved.
  • The login method selection screen now shows all login options (Telegram, SMS, WhatsApp, Email) as interactive buttons with a refreshed layout.
  • Dropdowns have been removed to improve accessibility and clarity.

Upgrade modal logic

A modal prompting account upgrade is now shown under the following conditions:

  • On the first session if the account balance is greater than or equal to $125 USD
  • On the second session, regardless of balance

The modal is displayed only once per session condition and is tracked locally via account metadata.

Additionally, on Level 0 accounts, the upgrade modal is triggered when the user attempts to generate an on-chain invoice from the Receive screen. In this case:

  • The on-chain invoice button is disabled
  • The modal is shown instead to encourage the upgrade

Multi-account support

The multi-account switching feature has been unlocked and no longer depends on the beta feature flag. It is now available for all users by default.

Technical improvements

  • A new local GraphQL field accountMetadata was introduced to store session count and modal display tracking per account.
  • A reusable hook encapsulates the modal trigger logic and manages the session metadata update.
  • The header component was refactored for reusability across screens.
  • Balance data is now reused from existing queries to avoid redundant GraphQL requests.

image (3)

@tiankii tiankii marked this pull request as ready for review May 28, 2025 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants