import SwiftUI
import DynamicSDKSwift
struct WalletsView: View {
@StateObject private var walletManager = WalletManager()
var body: some View {
VStack {
if walletManager.isCreatingWallets {
HStack {
ProgressView()
Text("Creating wallets...")
}
} else if walletManager.wallets.isEmpty {
Text("No wallets available")
} else {
ForEach(walletManager.wallets, id: \.address) { wallet in
WalletCard(wallet: wallet)
}
}
}
.onAppear {
walletManager.startListening()
}
}
}
struct WalletCard: View {
let wallet: BaseWallet
var body: some View {
VStack(alignment: .leading, spacing: 8) {
HStack {
Text(wallet.walletName ?? "Wallet")
.font(.headline)
Spacer()
Text(wallet.chain.uppercased())
.font(.caption)
.padding(.horizontal, 8)
.padding(.vertical, 4)
.background(Color.blue.opacity(0.2))
.cornerRadius(4)
}
Text(wallet.address)
.font(.caption)
.foregroundColor(.secondary)
.lineLimit(1)
.truncationMode(.middle)
}
.padding()
.background(Color(.systemGray6))
.cornerRadius(12)
}
}