Files
TimandGitHub 6b187e0034 feat(mobile): add WalletConnect badge, status hooks, and signer management (#7558)
* feat(mobile): integrate WalletConnect support in SignerView and add WalletConnectBadge component

- Enhanced SignerView to display WalletConnect badge for WalletConnect signers.
- Introduced WalletConnectBadge component to visually indicate connection status.
- Added hooks for WalletConnect status and signer type checks.
- Implemented reconnect and remove options for WalletConnect signers in the UI.
- Added tests for WalletConnectBadge and useWalletConnectStatus hook.

* feat(mobile): add useWalletConnect hook and WalletConnect signer management

Extract WalletConnect logic into a reusable useWalletConnect hook wrapping @reown/appkit-react-native. Add WalletConnect badge to signers list, reconnect and remove actions to signer detail screen, and unit tests for the new hook.

* feat(mobile): add theme-aware connect wallet image and support ReactElement in SafeCard

Add light/dark variants of the connect wallet app image and a ConnectWalletAppImage component that switches based on theme. Extend
SafeCard to accept ReactElement as the image prop alongside static sources.

* fix(mobile): use expo-image with error handling in WalletConnectBadge

Replace react-native Image with expo-image for built-in caching and
add onError fallback to gracefully hide the badge on failed loads.

* fix(mobile): add error boundary to WalletConnectBadge

Wrap the badge in an error boundary so that WalletConnect provider
failures render null instead of crashing the signers list or detail screen.

* tests(mobile): add SignerView tests for WalletConnect reconnect and remove

Test reconnect/remove button visibility based on WC connection state,
button press handlers, and that WC buttons are hidden for non-WC signers.

* fix: lint error

* refactor(mobile): extract SilentErrorBoundary to shared component

Move the error boundary out of WalletConnectBadge into
src/components/ErrorBoundary/ so it can be reused by any
non-critical UI that should render null on error.
2026-03-31 16:49:44 +02:00
..