CAKE-279 | integrated Wyre to the app; added buy button to dashboard page for btc wallet; added buyCryptoCurrency() method to dashboard_view_model.dart

This commit is contained in:
OleksandrSobol
2021-03-03 20:54:23 +02:00
parent fd2cf98e51
commit 313f829689
3 changed files with 56 additions and 8 deletions
@@ -1,3 +1,4 @@
import 'package:cake_wallet/entities/wallet_type.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/themes/theme_base.dart';
@@ -12,6 +13,7 @@ import 'package:cake_wallet/src/screens/dashboard/widgets/address_page.dart';
import 'package:cake_wallet/src/screens/dashboard/widgets/transactions_page.dart';
import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator.dart';
import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:smooth_page_indicator/smooth_page_indicator.dart';
class DashboardPage extends BasePage {
@@ -81,7 +83,7 @@ class DashboardPage extends BasePage {
final exchangeImage = Image.asset('assets/images/transfer.png',
height: 24.27, width: 22.25,
color: Theme.of(context).accentTextTheme.display3.backgroundColor);
final receiveImage = Image.asset('assets/images/download.png',
final buyImage = Image.asset('assets/images/coins.png',
height: 22.24, width: 24,
color: Theme.of(context).accentTextTheme.display3.backgroundColor);
_setEffects();
@@ -111,7 +113,7 @@ class DashboardPage extends BasePage {
)),
Container(
padding: EdgeInsets.only(left: 45, right: 45, bottom: 24),
child: Row(
child: Observer(builder: (_) => Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
ActionButton(
@@ -122,8 +124,12 @@ class DashboardPage extends BasePage {
image: exchangeImage,
title: S.of(context).exchange,
route: Routes.exchange),
if (walletViewModel.type == WalletType.bitcoin) ActionButton(
image: buyImage,
title: S.of(context).buy,
onClick: () => walletViewModel.buyCryptoCurrency()),
],
),
)),
)
],
));
@@ -3,14 +3,16 @@ import 'package:flutter/material.dart';
class ActionButton extends StatelessWidget {
ActionButton(
{@required this.image,
@required this.title,
@required this.route,
this.alignment = Alignment.center});
@required this.title,
this.route,
this.onClick,
this.alignment = Alignment.center});
final Image image;
final String title;
final String route;
final Alignment alignment;
final void Function() onClick;
@override
Widget build(BuildContext context) {
@@ -23,8 +25,10 @@ class ActionButton extends StatelessWidget {
children: <Widget>[
GestureDetector(
onTap: () {
if (route.isNotEmpty) {
if (route?.isNotEmpty ?? false) {
Navigator.of(context, rootNavigator: true).pushNamed(route);
} else {
onClick?.call();
}
},
child: Container(
@@ -48,4 +52,4 @@ class ActionButton extends StatelessWidget {
),
);
}
}
}