CAKE-279 | saved orderId in the orders store; added saveOrder() method to the dashboard_view_model.dart

This commit is contained in:
OleksandrSobol
2021-03-17 20:21:26 +02:00
parent e787a764c0
commit d752692c3f
5 changed files with 33 additions and 18 deletions
@@ -1,3 +1,4 @@
import 'package:cake_wallet/entities/find_order_by_id.dart';
import 'package:cake_wallet/entities/wallet_type.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/routes.dart';
@@ -132,6 +133,12 @@ class DashboardPage extends BasePage {
if (url.isNotEmpty) {
await Navigator.of(context)
.pushNamed(Routes.webView, arguments: url);
final orderId = walletViewModel.ordersStore.orderId;
if (orderId.isNotEmpty) {
await walletViewModel.saveOrder(orderId);
}
}
}),
],
+9 -4
View File
@@ -1,24 +1,28 @@
import 'dart:io';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/store/dashboard/orders_store.dart';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class WebViewPage extends BasePage {
WebViewPage({@required this.url});
WebViewPage({@required this.ordersStore, @required this.url});
final OrdersStore ordersStore;
final String url;
@override
String get title => S.current.buy;
@override
Widget body(BuildContext context) => WebViewPageBody(url: url);
Widget body(BuildContext context) =>
WebViewPageBody(ordersStore: ordersStore,url: url);
}
class WebViewPageBody extends StatefulWidget {
WebViewPageBody({this.url});
WebViewPageBody({this.ordersStore, this.url});
final OrdersStore ordersStore;
final String url;
@override
@@ -34,6 +38,7 @@ class WebViewPageBodyState extends State<WebViewPageBody> {
void initState() {
super.initState();
_webViewkey = GlobalKey();
widget.ordersStore.orderId = '';
if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
}
@@ -53,7 +58,7 @@ class WebViewPageBodyState extends State<WebViewPageBody> {
currentUrl.contains('completed')) {
final urlParts = currentUrl.split('/');
orderId = urlParts.last;
print(orderId);
widget.ordersStore.orderId = orderId;
}
return NavigationDecision.navigate;