rspace-online/backlog/tasks/task-107 - My-Wallets-panel...

39 lines
1.6 KiB
Markdown

---
id: TASK-107
title: My Wallets panel in identity dropdown
status: Done
assignee: []
created_date: '2026-03-11 21:33'
updated_date: '2026-03-11 21:37'
labels:
- identity
- wallet
- UI
dependencies: []
references:
- shared/components/rstack-identity.ts
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Added a "My Wallets" option to the avatar dropdown menu that opens a modal showing the user's rIdentity wallet and any connected browser wallets (MetaMask, Rainbow, etc. via EIP-6963 discovery). Provides quick wallet access without navigating to the full rWallet module.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 'My Wallets' item appears in avatar dropdown between 'My Spaces' and theme toggle
- [x] #2 Modal shows rIdentity wallet card with username, truncated DID, and Passkey badge
- [x] #3 EIP-6963 browser wallets detected and listed with icons and Connect buttons
- [x] #4 Connect flow calls eth_requestAccounts and displays resulting address
- [x] #5 'Open rWallet' button navigates to /{space}/rwallet
- [x] #6 Modal closes on X button or click-outside
<!-- AC:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Implemented in commit e47cd35. Single-file change to `shared/components/rstack-identity.ts` (+215 lines):\n\n- Added `_WalletDiscovery` class for EIP-6963 browser wallet detection\n- Added dropdown item, click handler, `#showWalletsModal()` method\n- Added `WALLETS_STYLES` CSS matching existing dark theme\n- Connected wallets are ephemeral (no persistent linking)\n- No token balance fetching (that's rWallet's job)
<!-- SECTION:FINAL_SUMMARY:END -->