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