@@ -27,64 +27,68 @@ struct WalletView: View {
2727 Color ( uiColor: . systemBackground)
2828 . ignoresSafeArea ( )
2929
30- VStack ( spacing: 20 ) {
30+ ScrollView {
31+ VStack ( spacing: 20 ) {
3132
32- BalanceView (
33- format: balanceFormat,
34- balance: viewModel. balanceTotal,
35- fiatPrice: viewModel. price
36- ) . onTapGesture {
37- withAnimation ( . spring( response: 0.3 , dampingFraction: 0.7 ) ) {
38- balanceFormat =
39- BalanceDisplayFormat . allCases [
40- ( balanceFormat. index + 1 ) % BalanceDisplayFormat. allCases. count
41- ]
42- }
43- }
44-
45- VStack {
46- ActivityHomeHeaderView (
47- walletSyncState: viewModel. walletSyncState,
48- progress: viewModel. progress,
49- inspectedScripts: viewModel. inspectedScripts,
50- totalScripts: viewModel. totalScripts,
51- needsFullScan: viewModel. needsFullScan,
52- isKyotoClient: viewModel. isKyotoClient,
53- isKyotoConnected: viewModel. isKyotoConnected,
54- currentBlockHeight: viewModel. currentBlockHeight
55- ) {
56- showAllTransactions = true
33+ BalanceView (
34+ format: balanceFormat,
35+ balance: viewModel. balanceTotal,
36+ fiatPrice: viewModel. price
37+ ) . onTapGesture {
38+ withAnimation ( . spring( response: 0.3 , dampingFraction: 0.7 ) ) {
39+ balanceFormat =
40+ BalanceDisplayFormat . allCases [
41+ ( balanceFormat. index + 1 )
42+ % BalanceDisplayFormat
43+ . allCases. count
44+ ]
45+ }
5746 }
5847
59- if shouldShowKyotoInitialSyncNotice {
60- KyotoInitialSyncNoticeView ( isConnected: viewModel. isKyotoConnected)
61- . transition ( . opacity)
62- }
48+ VStack {
49+ ActivityHomeHeaderView (
50+ walletSyncState: viewModel. walletSyncState,
51+ progress: viewModel. progress,
52+ inspectedScripts: viewModel. inspectedScripts,
53+ totalScripts: viewModel. totalScripts,
54+ needsFullScan: viewModel. needsFullScan,
55+ isKyotoClient: viewModel. isKyotoClient,
56+ isKyotoConnected: viewModel. isKyotoConnected,
57+ currentBlockHeight: viewModel. currentBlockHeight
58+ ) {
59+ showAllTransactions = true
60+ }
6361
64- TransactionListView (
65- viewModel: . init( ) ,
66- transactions: viewModel. recentTransactions,
67- walletSyncState: viewModel. walletSyncState,
68- format: balanceFormat,
69- fiatPrice: viewModel. price
70- )
71- . refreshable {
72- if viewModel. isKyotoClient {
73- viewModel. getBalance ( )
74- viewModel. getTransactions ( )
75- await viewModel. getPrices ( )
76- } else {
77- await viewModel. syncOrFullScan ( )
78- viewModel. getBalance ( )
79- viewModel. getTransactions ( )
80- await viewModel. getPrices ( )
62+ if shouldShowKyotoInitialSyncNotice {
63+ KyotoInitialSyncNoticeView ( isConnected: viewModel. isKyotoConnected)
64+ . transition ( . opacity)
8165 }
66+
67+ TransactionListView (
68+ viewModel: . init( ) ,
69+ transactions: viewModel. recentTransactions,
70+ walletSyncState: viewModel. walletSyncState,
71+ format: balanceFormat,
72+ fiatPrice: viewModel. price
73+ )
74+
8275 }
8376
8477 }
85-
78+ . padding ( )
79+ }
80+ . refreshable {
81+ if viewModel. isKyotoClient {
82+ viewModel. getBalance ( )
83+ viewModel. getTransactions ( )
84+ await viewModel. getPrices ( )
85+ } else {
86+ await viewModel. syncOrFullScan ( )
87+ viewModel. getBalance ( )
88+ viewModel. getTransactions ( )
89+ await viewModel. getPrices ( )
90+ }
8691 }
87- . padding ( )
8892 . onReceive (
8993 NotificationCenter . default. publisher ( for: Notification . Name ( " TransactionSent " ) ) ,
9094 perform: { _ in
0 commit comments