CAKE-303 | added buy button for xmr wallet and applied buy alert
OleksandrSobol committed
Apr 26, 2021 at 21:06 UTC
b7cb5147e1f8188887d8de6178d2e830e2923fc8
13 files changed
+72
-29
lib/src/screens/dashboard/dashboard_page.dart
+36
-17
@@ -1,7 +1,9 @@
1
import 'package:cake_wallet/entities/wallet_type.dart';
2
import 'package:cake_wallet/generated/i18n.dart';
3
import 'package:cake_wallet/routes.dart';
4
+import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
5
import 'package:cake_wallet/themes/theme_base.dart';
6
+import 'package:cake_wallet/utils/show_pop_up.dart';
7
import 'package:flutter/material.dart';
8
import 'package:flutter/cupertino.dart';
9
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
@@ -42,7 +44,7 @@ class DashboardPage extends BasePage {
44
child: scaffold);
45
46
@override
45
- bool get resizeToAvoidBottomPadding => false;
47
+ bool get resizeToAvoidBottomInset => false;
48
49
@override
50
Widget get endDrawer => MenuWidget(walletViewModel);
@@ -114,7 +116,7 @@ class DashboardPage extends BasePage {
116
)),
117
Container(
118
padding: EdgeInsets.only(left: 45, right: 45, bottom: 24),
117
- child: Observer(builder: (_) => Row(
119
+ child: Row(
120
mainAxisAlignment: MainAxisAlignment.spaceAround,
121
children: <Widget>[
122
ActionButton(
@@ -125,7 +127,7 @@ class DashboardPage extends BasePage {
127
image: exchangeImage,
128
title: S.of(context).exchange,
129
route: Routes.exchange),
128
- if (walletViewModel.type == WalletType.bitcoin) Observer(
130
+ Observer(
131
builder: (_) => Stack(
132
clipBehavior: Clip.none,
133
alignment: Alignment.topCenter,
@@ -143,23 +145,11 @@ class DashboardPage extends BasePage {
145
title: S.of(context).buy,
146
onClick: walletViewModel.isRunningWebView
147
? null
146
- : () async {
147
- try {
148
- walletViewModel.isRunningWebView = true;
149
- final url =
150
- await walletViewModel.wyreViewModel.wyreUrl;
151
- await Navigator.of(context)
152
- .pushNamed(Routes.wyre, arguments: url);
153
- walletViewModel.isRunningWebView = false;
154
- } catch(e) {
155
- print(e.toString());
156
- walletViewModel.isRunningWebView = false;
157
- }
158
- })
148
+ : () async => await _onClickBuyButton(context))
149
],
150
)),
151
],
162
- )),
152
+ ),
153
)
154
],
155
));
@@ -176,4 +166,33 @@ class DashboardPage extends BasePage {
166
167
_isEffectsInstalled = true;
168
}
169
+
170
+ Future <void> _onClickBuyButton(BuildContext context) async {
171
+ final walletType = walletViewModel.type;
172
+
173
+ switch (walletType) {
174
+ case WalletType.bitcoin:
175
+ try {
176
+ walletViewModel.isRunningWebView = true;
177
+ final url = await walletViewModel.wyreViewModel.wyreUrl;
178
+ await Navigator.of(context).pushNamed(Routes.wyre, arguments: url);
179
+ walletViewModel.isRunningWebView = false;
180
+ } catch(e) {
181
+ print(e.toString());
182
+ walletViewModel.isRunningWebView = false;
183
+ }
184
+ break;
185
+ default:
186
+ await showPopUp<void>(
187
+ context: context,
188
+ builder: (BuildContext context) {
189
+ return AlertWithOneAction(
190
+ alertTitle: S.of(context).buy,
191
+ alertContent: S.of(context).buy_alert_content,
192
+ buttonText: S.of(context).ok,
193
+ buttonAction: () => Navigator.of(context).pop());
194
+ });
195
+ break;
196
+ }
197
+ }
198
}
res/values/strings_de.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Unbestätigt",
470
"displayable" : "Anzeigebar",
471
472
- "submit_request" : "Einen Antrag stellen"
472
+ "submit_request" : "Einen Antrag stellen",
473
+
474
+ "buy_alert_content" : "Derzeit unterstützen wir nur den Kauf von Bitcoin. Um Bitcoin zu kaufen, erstellen Sie bitte Ihre Bitcoin-Brieftasche oder wechseln Sie zu dieser"
475
}
\ No newline at end of file
res/values/strings_en.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Unconfirmed",
470
"displayable" : "Displayable",
471
472
- "submit_request" : "submit a request"
472
+ "submit_request" : "submit a request",
473
+
474
+ "buy_alert_content" : "Currently we only support the purchase of Bitcoin. To buy Bitcoin, please create or switch to your Bitcoin wallet"
475
}
\ No newline at end of file
res/values/strings_es.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Inconfirmado",
470
"displayable" : "Visualizable",
471
472
- "submit_request" : "presentar una solicitud"
472
+ "submit_request" : "presentar una solicitud",
473
+
474
+ "buy_alert_content" : "Actualmente solo apoyamos la compra de Bitcoin. Para comprar Bitcoin, cree o cambie a su billetera Bitcoin"
475
}
\ No newline at end of file
res/values/strings_hi.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "अपुष्ट",
470
"displayable" : "प्रदर्शन योग्य",
471
472
- "submit_request" : "एक अनुरोध सबमिट करें"
472
+ "submit_request" : "एक अनुरोध सबमिट करें",
473
+
474
+ "buy_alert_content" : "वर्तमान में हम केवल बिटकॉइन की खरीद का समर्थन करते हैं। बिटकॉइन खरीदने के लिए, कृपया अपना बिटकॉइन वॉलेट बनाएं या स्विच करें"
475
}
\ No newline at end of file
res/values/strings_ja.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "未確認",
470
"displayable" : "表示可能",
471
472
- "submit_request" : "リクエストを送信する"
472
+ "submit_request" : "リクエストを送信する",
473
+
474
+ "buy_alert_content" : "現在、ビットコインの購入のみをサポートしています。 ビットコインを購入するには、ビットコインウォレットを作成するか切り替えてください"
475
}
\ No newline at end of file
res/values/strings_ko.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "미확인",
470
"displayable" : "표시 가능",
471
472
- "submit_request" : "요청을 제출"
472
+ "submit_request" : "요청을 제출",
473
+
474
+ "buy_alert_content" : "현재 우리는 비트 코인 구매 만 지원합니다. 비트 코인을 구매하려면 비트 코인 지갑을 생성하거나 전환하십시오"
475
}
\ No newline at end of file
res/values/strings_nl.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Niet bevestigd",
470
"displayable" : "Weer te geven",
471
472
- "submit_request" : "een verzoek indienen"
472
+ "submit_request" : "een verzoek indienen",
473
+
474
+ "buy_alert_content" : "Momenteel ondersteunen we alleen de aankoop van Bitcoin. Om Bitcoin te kopen, moet u uw Bitcoin-portemonnee aanmaken of naar uw Bitcoin-portemonnee overschakelen"
475
}
\ No newline at end of file
res/values/strings_pl.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Niepotwierdzony",
470
"displayable" : "Wyświetlane",
471
472
- "submit_request" : "złożyć wniosek"
472
+ "submit_request" : "złożyć wniosek",
473
+
474
+ "buy_alert_content" : "Obecnie obsługujemy tylko zakup Bitcoinów. Aby kupić Bitcoin, utwórz lub przełącz się na swój portfel Bitcoin"
475
}
\ No newline at end of file
res/values/strings_pt.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Não confirmado",
470
"displayable" : "Exibível",
471
472
- "submit_request" : "enviar um pedido"
472
+ "submit_request" : "enviar um pedido",
473
+
474
+ "buy_alert_content" : "Atualmente, apoiamos apenas a compra de Bitcoin. Para comprar Bitcoin, crie ou mude para sua carteira Bitcoin"
475
}
\ No newline at end of file
res/values/strings_ru.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Неподтвержденный",
470
"displayable" : "Отображаемый",
471
472
- "submit_request" : "отправить запрос"
472
+ "submit_request" : "отправить запрос",
473
+
474
+ "buy_alert_content" : "В настоящее время мы поддерживаем только покупку Bitcoin. Чтобы купить Bitcoin, создайте или переключитесь на ваш Bitcoin кошелек"
475
}
\ No newline at end of file
res/values/strings_uk.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "Непідтверджений",
470
"displayable" : "Відображуваний",
471
472
- "submit_request" : "надіслати запит"
472
+ "submit_request" : "надіслати запит",
473
+
474
+ "buy_alert_content" : "На даний час ми підтримуємо тільки покупку Bitcoin. Щоб купити Bitcoin, будь ласка, створіть або переключіться на ваш Bitcoin гаманець"
475
}
\ No newline at end of file
res/values/strings_zh.arb
+3
-1
@@ -469,5 +469,7 @@
469
"unconfirmed" : "未经证实",
470
"displayable" : "可显示",
471
472
- "submit_request" : "提交請求"
472
+ "submit_request" : "提交請求",
473
+
474
+ "buy_alert_content" : "目前,我們僅支持購買比特幣。 要購買比特幣,請創建或切換到您的比特幣錢包"
475
}
\ No newline at end of file