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