fix(wallet): update balance observable on initial connect

- Call refreshBalance() in createWalletFromURI to fetch initial balance
- Update balance$ directly when ConnectWalletDialog gets balance
- Fixes issue where WalletViewer showed "-" after connecting while
  user menu showed correct balance (different data sources)

https://claude.ai/code/session_01CnJgjFMvZHZWs2ujAiWAiQ
This commit is contained in:
Claude
2026-01-29 16:37:23 +00:00
parent 99e26f9c80
commit 56b3493d3d
2 changed files with 4 additions and 1 deletions

View File

@@ -11,7 +11,7 @@ import {
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { useGrimoire } from "@/core/state";
import { createWalletFromURI } from "@/services/nwc";
import { createWalletFromURI, balance$ } from "@/services/nwc";
interface ConnectWalletDialogProps {
open: boolean;
@@ -66,6 +66,8 @@ export default function ConnectWalletDialog({
try {
const balanceResult = await wallet.getBalance();
balance = balanceResult.balance;
// Update the observable immediately so WalletViewer shows correct balance
balance$.next(balance);
} catch (err) {
console.warn("[NWC] Failed to get balance:", err);
// Balance is optional, continue anyway

View File

@@ -149,6 +149,7 @@ export function createWalletFromURI(connectionString: string): WalletConnect {
wallet$.next(wallet);
subscribeToNotifications(wallet);
refreshBalance(); // Fetch initial balance
return wallet;
}