diff --git a/lib/new-ui/widgets/coins_page/assets_history/history_section.dart b/lib/new-ui/widgets/coins_page/assets_history/history_section.dart index 82109190c..aa6672fdf 100644 --- a/lib/new-ui/widgets/coins_page/assets_history/history_section.dart +++ b/lib/new-ui/widgets/coins_page/assets_history/history_section.dart @@ -30,12 +30,11 @@ class HistorySection extends StatelessWidget { return SliverPadding( padding: const EdgeInsets.symmetric(horizontal: 16.0), sliver: Observer( - builder: (_) => (dashboardViewModel.items.isEmpty && - dashboardViewModel.status is! SyncingSyncStatus) + builder: (_) => (dashboardViewModel.items.isEmpty) ? SliverPadding( padding: EdgeInsets.only(top: 24), sliver: SliverToBoxAdapter( - child: Center( + child: (dashboardViewModel.status is SyncingSyncStatus) ? SizedBox.shrink() : Center( child: Text(S.of(context).transactions_will_appear_here, style: TextStyle( fontSize: 14, diff --git a/lib/new-ui/widgets/receive_page/receive_info_box.dart b/lib/new-ui/widgets/receive_page/receive_info_box.dart index f99a8f0cb..9b6b65dfd 100644 --- a/lib/new-ui/widgets/receive_page/receive_info_box.dart +++ b/lib/new-ui/widgets/receive_page/receive_info_box.dart @@ -30,6 +30,8 @@ class ReceiveInfoBox extends StatelessWidget { onDismissed: onDismissed, ); default: + if(autoGenerateSubaddressStatus == AutoGenerateSubaddressStatus.disabled) + return null; return ReceiveInfoBox( iconPath: "assets/new-ui/info.svg", message: S.current.infobox_auto_address, diff --git a/lib/view_model/dashboard/dashboard_view_model.dart b/lib/view_model/dashboard/dashboard_view_model.dart index 2a699e384..3dbc0eaf8 100644 --- a/lib/view_model/dashboard/dashboard_view_model.dart +++ b/lib/view_model/dashboard/dashboard_view_model.dart @@ -490,6 +490,10 @@ abstract class DashboardViewModelBase with Store { )) .where((item) => !transactions.contains(item)); + transactions.removeWhere((item) => + newTransactions.any((tx) => tx.transaction.txHash == item.transaction.txHash && tx.transaction.direction == item.transaction.direction) + ); + transactions.addAll(newTransactions); // transactions.clear(); // transactions.addAll(relevantTxs.map((tx) => TransactionListItem( diff --git a/lib/view_model/dashboard/transaction_list_item.dart b/lib/view_model/dashboard/transaction_list_item.dart index de025e114..1fb3f3043 100644 --- a/lib/view_model/dashboard/transaction_list_item.dart +++ b/lib/view_model/dashboard/transaction_list_item.dart @@ -293,7 +293,10 @@ class TransactionListItem extends ActionListItem with Keyable { @override bool operator ==(Object other) { if (other is TransactionListItem) { - return other.transaction.txHash == transaction.txHash; + return other.transaction.txHash == transaction.txHash && + other.transaction.confirmations == transaction.confirmations && + other.transaction.isPending == transaction.isPending && + other.transaction.direction == transaction.direction; } return false; }