Changed web client for moonpay.

M committed Jun 7, 2021 at 17:01 UTC fcb1c891f6f845f49661dce5ed5a012de3386ff4
1 file changed +24 -14
lib/src/screens/buy/pre_order_page.dart
+24 -14
@@ -20,6 +20,7 @@ import 'package:cake_wallet/generated/i18n.dart';
20 import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
21 import 'package:cake_wallet/src/widgets/trail_button.dart';
22 import 'package:mobx/mobx.dart';
23 +import 'package:url_launcher/url_launcher.dart';
24
25 class PreOrderPage extends BasePage {
26 PreOrderPage({@required this.buyViewModel})
@@ -221,20 +222,7 @@ class PreOrderPage extends BasePage {
222 EdgeInsets.only(left: 24, right: 24, bottom: 24),
223 bottomSection: Observer(builder: (_) {
224 return LoadingPrimaryButton(
224 - onPressed: buyViewModel.isRunning
225 - ? null
226 - : () async {
227 - buyViewModel.isRunning = true;
228 - final url =
229 - await buyViewModel.fetchUrl();
230 - if (url.isNotEmpty) {
231 - await Navigator.of(context)
232 - .pushNamed(Routes.buyWebView,
233 - arguments: [url, buyViewModel]);
234 - buyViewModel.reset();
235 - }
236 - buyViewModel.isRunning = false;
237 - },
225 + onPressed: () => onPresentProvider(context: context),
226 text: buyViewModel.selectedProvider == null
227 ? S.of(context).buy
228 : S.of(context).buy_with +
@@ -275,4 +263,26 @@ class PreOrderPage extends BasePage {
263 ? buyViewModel.isDisabled = false
264 : buyViewModel.isDisabled = true;
265 }
266 +
267 + Future<void> onPresentProvider({BuildContext context}) async {
268 + if (buyViewModel.isRunning) {
269 + return;
270 + }
271 +
272 + buyViewModel.isRunning = true;
273 + final url = await buyViewModel.fetchUrl();
274 +
275 + if (url.isNotEmpty) {
276 + if (buyViewModel.selectedProvider is MoonPayBuyProvider) {
277 + if (await canLaunch(url)) await launch(url);
278 + } else {
279 + await Navigator.of(context)
280 + .pushNamed(Routes.buyWebView,
281 + arguments: [url, buyViewModel]);
282 + }
283 + }
284 +
285 + buyViewModel.reset();
286 + buyViewModel.isRunning = false;
287 + }
288 }
\ No newline at end of file