diff --git a/lib/src/screens/dashboard/widgets/sync_indicator.dart b/lib/src/screens/dashboard/widgets/sync_indicator.dart index ba434d588..18e751f80 100644 --- a/lib/src/screens/dashboard/widgets/sync_indicator.dart +++ b/lib/src/screens/dashboard/widgets/sync_indicator.dart @@ -4,6 +4,7 @@ import 'package:cake_wallet/core/sync_status_title.dart'; import 'package:cake_wallet/palette.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:cw_core/sync_status.dart'; +import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; class SyncIndicator extends StatelessWidget { SyncIndicator({@required this.dashboardViewModel}); @@ -22,9 +23,7 @@ class SyncIndicator extends StatelessWidget { final indicatorWidth = progress < 1 ? indicatorOffset > 0 ? indicatorOffset : 0.0 : syncIndicatorWidth; - final indicatorColor = status is SyncedSyncStatus - ? PaletteDark.brightGreen - : Theme.of(context).textTheme.caption.color; + return ClipRRect( borderRadius: BorderRadius.all(Radius.circular(15)), @@ -57,14 +56,7 @@ class SyncIndicator extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ - Container( - height: 4, - width: 4, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: indicatorColor - ), - ), + SyncIndicatorIcon(isSynced:status is SyncedSyncStatus), Padding( padding: EdgeInsets.only(left: 6), child: Text( diff --git a/lib/src/screens/dashboard/widgets/sync_indicator_icon.dart b/lib/src/screens/dashboard/widgets/sync_indicator_icon.dart new file mode 100644 index 000000000..a9baed3c6 --- /dev/null +++ b/lib/src/screens/dashboard/widgets/sync_indicator_icon.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; +import 'package:cake_wallet/palette.dart'; + +class SyncIndicatorIcon extends StatelessWidget { + SyncIndicatorIcon({this.isSynced}); + + final bool isSynced; + + @override + Widget build(BuildContext context) { + return Container( + height: 4, + width: 4, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: isSynced + ? PaletteDark.brightGreen + : Theme.of(context).textTheme.caption.color), + ); + } +} diff --git a/lib/src/screens/exchange/exchange_page.dart b/lib/src/screens/exchange/exchange_page.dart index e16930e4f..1473d1547 100644 --- a/lib/src/screens/exchange/exchange_page.dart +++ b/lib/src/screens/exchange/exchange_page.dart @@ -32,6 +32,7 @@ import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart'; import 'package:cake_wallet/core/address_validator.dart'; import 'package:cake_wallet/core/amount_validator.dart'; import 'package:cake_wallet/src/screens/exchange/widgets/present_provider_picker.dart'; +import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; class ExchangePage extends BasePage { ExchangePage(this.exchangeViewModel); @@ -65,8 +66,17 @@ class ExchangePage extends BasePage { AppBarStyle get appBarStyle => AppBarStyle.transparent; @override - Widget middle(BuildContext context) => - PresentProviderPicker(exchangeViewModel: exchangeViewModel); + Widget middle(BuildContext context) => Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(right:6.0), + child: Observer(builder: (_) => SyncIndicatorIcon(isSynced: exchangeViewModel.status is SyncedSyncStatus),) + ), + PresentProviderPicker(exchangeViewModel: exchangeViewModel) + ], + ); + @override Widget trailing(BuildContext context) => TrailButton( diff --git a/lib/src/screens/send/send_page.dart b/lib/src/screens/send/send_page.dart index 71fff8914..71fba3b4f 100644 --- a/lib/src/screens/send/send_page.dart +++ b/lib/src/screens/send/send_page.dart @@ -24,6 +24,7 @@ import 'package:cake_wallet/src/screens/send/widgets/confirm_sending_alert.dart' import 'package:smooth_page_indicator/smooth_page_indicator.dart'; import 'package:cake_wallet/store/yat/yat_store.dart'; import 'package:cake_wallet/src/screens/yat/yat_sending.dart'; +import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.dart'; class SendPage extends BasePage { SendPage({@required this.sendViewModel}) : _formKey = GlobalKey<FormState>(); @@ -49,6 +50,17 @@ class SendPage extends BasePage { @override AppBarStyle get appBarStyle => AppBarStyle.transparent; + @override + Widget middle(BuildContext context) => Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(right:8.0), + child: Observer(builder: (_) => SyncIndicatorIcon(isSynced: sendViewModel.isReadyForSend),), + ),super.middle(context), + ], + ); + @override Widget trailing(context) => Observer(builder: (_) { return sendViewModel.isBatchSending