Skip to content

[UX] Surface wallet "not activated" state so users know to sync #460

Description

@0xdevcollins

When the backend indicates the user has a wallet (hasWalletFromSession) but wallet details haven't loaded yet (e.g. wallet not activated or API failed), the app only shows a generic "Loading wallet…" spinner in the wallet drawer/sheet. Users don't know that:

  • Their wallet may need to be activated (e.g. first-time setup).
  • They may need to sync their wallet to use it.
  • Something went wrong and they should retry or contact support.

Current behavior:

  • WalletTrigger: if hasWalletFromSession and no walletAddress, a wallet icon opens the drawer with "Loading wallet…" only.
  • WalletSheet and FamilyWalletDrawer: same state renders only a spinner and "Loading wallet…" with no explanation or primary action (e.g. "Sync wallet" or "Activate wallet").

Suggested improvements:

  • When hasWalletFromSession is true and walletAddress is null (and not still in initial loading):
    • Show a clear message such as "Wallet not ready" or "Sync your wallet to activate it."
    • Provide a primary "Sync wallet" (or "Activate") button that calls syncWallet() and refreshes.
  • Optionally show a short explanation: "Your wallet is created but not yet active on-chain. Syncing will activate it."
  • Consider a small persistent indicator (e.g. in header or near wallet entry) when the session has a wallet but details aren't loaded, so users don't have to open the drawer to discover the issue.
  • Banner + docs: Use the shadcn Banner to show "Wallet not activated" (or "Wallet not ready") with a "View docs" link to docs.boundlessfi.xyz for how to activate a wallet. See docs/ux-ui-github-issues.md ("Recommended implementation: Banner + docs links").

Relevant files:

  • components/wallet/WalletTrigger.tsx
  • components/wallet/WalletSheet.tsx (lines ~141–153)
  • components/wallet/FamilyWalletDrawer.tsx (lines ~361–383)
  • components/providers/wallet-provider.tsx

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions