sync status icon added on the Send and Exchange screens (#267)

* added sync status icon

* resolved issues from code review

* resolved issues from code review

* resolved issues from code review
wownero
Serhii 2 years ago committed by GitHub
parent 872098d6b8
commit dd47a82a0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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(

@ -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),
);
}
}

@ -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(

@ -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

Loading…
Cancel
Save