Files
Inboxintel/docs/discovery/multi-provider/07-ux-flows.md
T
cesnimda 4ce2df0a2b
CI / backend (push) Successful in 52s
CI / frontend (push) Successful in 14s
Deploy Staging / deploy (push) Successful in 18s
CI / backend (pull_request) Successful in 52s
CI / frontend (pull_request) Successful in 15s
Security / secrets (push) Successful in 4s
Security / dependencies (push) Successful in 55s
Security / secrets (pull_request) Successful in 4s
Security / dependencies (pull_request) Successful in 54s
docs: discovery blueprint + multi-provider design (#8)
2026-07-01 19:59:53 +02:00

3.8 KiB

07 — UX Flows (Part 7)

Applies the Design Brief (Notion/Arc-professional, dark-first, green accent, pointer-first, responsive). Keep it simple — these are utility surfaces, not the daily driver.

1. Provider selection on login

A calm, centred card — the only thing on screen.

            InboxIntel
   ───────────────────────────
   Sign in to continue
   [  ▸  Continue with Google      ]
   [  ▸  Continue with Microsoft   ]
   (  IMAP — coming soon, disabled )
   ───────────────────────────
   Your email stays on your machine.
  • Only enabled providers show (driven by provider.* flags).
  • One click → provider OAuth → back into the app. First-timer lands on an empty, friendly inbox with a "syncing your mail…" state.

2. Connected accounts page

Reached from the account switcher or Settings → Accounts.

Accounts                                   [ + Add account ]
┌─────────────────────────────────────────────────────────┐
│ 🟢 Google   me@gmail.com        Synced 2m ago   ⋯        │
│ 🟢 Microsoft me@outlook.com     Synced 5m ago   ⋯        │
│ 🟠 Google   old@gmail.com   Reconnect needed → [Reconnect]│
└─────────────────────────────────────────────────────────┘
  • Status badges: 🟢 Active · 🟠 ReauthNeeded (with Reconnect) · Disabled.
  • Per-account row menu (⋯): set as default · sync now · rename · remove account (confirm + explains local data deletion).
  • + Add account → provider picker → OAuth in link-mode → new row appears.
  • Account switcher (top bar): "All accounts" (unified) or pick one to scope the inbox/search.

3. Settings page (user)

Left sub-nav, one panel at a time — no overwhelm.

Settings
  Appearance    ▸ Theme (System/Light/Dark) · density · layout
  Accounts      ▸ (the page above)
  Notifications ▸ channels · quiet hours · priority-only
  AI            ▸ (visible only if ai.enabled; see below)
  Privacy       ▸ data, export, clear search history

4. AI toggle visibility

  • If ai.enabled (system) is OFF → the AI section is hidden entirely (or shown as a single disabled note: "AI features are turned off by your administrator"). No dead toggles.
  • If ON → a master "Use AI features" switch (user opt-in) + per-feature toggles (Summaries · Reply suggestions · Semantic search · Ask your inbox), each reflecting its ai.<feature> flag. Toggling off a feature instantly falls back to the non-AI path.
  • A small status chip ("Local · Ollama · ready") reassures it's on-device.

5. Admin dashboard

Only visible to Admins (nav item appears for the Admin role).

Admin
  Overview   ▸ sync health · Ollama/VRAM · sessions · errors (cards)
  Users      ▸ table: name · role · status · last login · [actions]
  Flags      ▸ toggles grouped: AI · Providers · Maintenance
  System     ▸ maintenance mode · registration · defaults
  Audit      ▸ searchable event log
  • Clean tables + toggles; destructive/sensitive actions show a confirm dialog (step-up).
  • Maintenance mode shows a global banner to all users while active.

Cross-cutting

  • Reduced-motion & keyboard reachability on all of the above (baseline a11y).
  • Empty/loading/error states per the design system (skeletons, friendly empties, calm errors).
  • Fully responsive: settings/admin sub-nav collapses to a top tab bar on mobile; the login card is centred on all sizes.