Onboarding: account vendor picker #27

Closed
opened 2026-07-01 03:49:15 +00:00 by JMR-dev · 0 comments
JMR-dev commented 2026-07-01 03:49:15 +00:00 (Migrated from github.com)

Part of #9.

Context

The current AccountSetupScreen offers only two choices — "Sign in with Microsoft" and
"Other (IMAP/SMTP)". The spec calls for a full vendor picker. This ticket replaces that
screen with the picker and routes each vendor to the correct setup path.

Scope

  • Vendor picker screen listing, with recognizable icons/branding and accessible labels:
    • Outlook/Hotmail -> existing Microsoft OAuth path (AccountSetupViewModel.outlookAuthIntent() / onOutlookResult()).
    • Gmail -> app-password setup (#29) with the Gmail preset (#28).
    • Yahoo -> app-password setup (#29) with the Yahoo preset (#28).
    • iCloud -> app-password setup (#29) with the iCloud preset (#28).
    • Other (IMAP/SMTP) -> existing ManualSetupScreen.
  • Absorb/replace the current two-button AccountSetupScreen so there is a single entry
    point used by both onboarding (#26) and "Add account" from Settings/mailbox.
  • Pass the chosen provider key through to the app-password screen so it can load the
    right preset and help copy.
  • Strings for each vendor label; strings.xml + SPDX-compliant new files.

Acceptance criteria

  • All five options render and each navigates to the correct setup path.
  • Outlook still completes its existing OAuth flow unchanged.
  • The picker is reachable both from onboarding and from the Settings/mailbox "Add account"
    entry points.

Relevant files

  • app/src/main/kotlin/org/libremail/ui/accountsetup/AccountSetupScreen.kt (replace)
  • app/src/main/kotlin/org/libremail/ui/accountsetup/AccountSetupViewModel.kt (Outlook path)
  • app/src/main/kotlin/org/libremail/ui/LibreMailApp.kt, .../navigation/Routes.kt
  • app/src/main/res/values/strings.xml

Dependencies

Depends on #26 (nav scaffold). Routing to Gmail/Yahoo/iCloud depends on #28 + #29.

Part of #9. ## Context The current `AccountSetupScreen` offers only two choices — "Sign in with Microsoft" and "Other (IMAP/SMTP)". The spec calls for a full vendor picker. This ticket replaces that screen with the picker and routes each vendor to the correct setup path. ## Scope - [ ] Vendor picker screen listing, with recognizable icons/branding and accessible labels: - **Outlook/Hotmail** -> existing Microsoft OAuth path (`AccountSetupViewModel.outlookAuthIntent()` / `onOutlookResult()`). - **Gmail** -> app-password setup (#29) with the Gmail preset (#28). - **Yahoo** -> app-password setup (#29) with the Yahoo preset (#28). - **iCloud** -> app-password setup (#29) with the iCloud preset (#28). - **Other (IMAP/SMTP)** -> existing `ManualSetupScreen`. - [ ] Absorb/replace the current two-button `AccountSetupScreen` so there is a single entry point used by both onboarding (#26) and "Add account" from Settings/mailbox. - [ ] Pass the chosen provider key through to the app-password screen so it can load the right preset and help copy. - [ ] Strings for each vendor label; `strings.xml` + SPDX-compliant new files. ## Acceptance criteria - All five options render and each navigates to the correct setup path. - Outlook still completes its existing OAuth flow unchanged. - The picker is reachable both from onboarding and from the Settings/mailbox "Add account" entry points. ## Relevant files - `app/src/main/kotlin/org/libremail/ui/accountsetup/AccountSetupScreen.kt` (replace) - `app/src/main/kotlin/org/libremail/ui/accountsetup/AccountSetupViewModel.kt` (Outlook path) - `app/src/main/kotlin/org/libremail/ui/LibreMailApp.kt`, `.../navigation/Routes.kt` - `app/src/main/res/values/strings.xml` ## Dependencies Depends on #26 (nav scaffold). Routing to Gmail/Yahoo/iCloud depends on #28 + #29.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: JMR-dev/LibreMail#27