check share plugin usage (#567)
* replace share plugin with share_plus * fix share button on receive screen * add share button for btc, ltc wallets
Serhii committed
Oct 26, 2022 at 18:05 UTC
4f2cf983decc637791dd5900119a68ec69b344af
4 files changed
+37
-29
lib/src/screens/dashboard/widgets/address_page.dart
+21
@@ -15,6 +15,7 @@ import 'package:cake_wallet/generated/i18n.dart';
15
import 'package:flutter_mobx/flutter_mobx.dart';
16
import 'package:keyboard_actions/keyboard_actions.dart';
17
import 'package:mobx/mobx.dart';
18
+import 'package:share_plus/share_plus.dart';
19
20
class AddressPage extends BasePage {
21
AddressPage({
@@ -85,6 +86,26 @@ class AddressPage extends BasePage {
86
], begin: Alignment.topRight, end: Alignment.bottomLeft)),
87
child: scaffold);
88
89
+ @override
90
+ Widget? trailing(BuildContext context) {
91
+ final shareImage =
92
+ Image.asset('assets/images/share.png',
93
+ color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!);
94
+
95
+ return !addressListViewModel.hasAddressList ? Material(
96
+ color: Colors.transparent,
97
+ child: IconButton(
98
+ padding: EdgeInsets.zero,
99
+ constraints: BoxConstraints(),
100
+ highlightColor: Colors.transparent,
101
+ splashColor: Colors.transparent,
102
+ iconSize: 25,
103
+ onPressed: () => Share.share(addressListViewModel.address.address),
104
+ icon: shareImage,
105
+ ),
106
+ ) : null;
107
+ }
108
+
109
@override
110
Widget body(BuildContext context) {
111
autorun((_) async {
lib/src/screens/receive/receive_page.dart
+12
-18
@@ -6,7 +6,7 @@ import 'package:cw_core/wallet_type.dart';
6
import 'package:flutter/material.dart';
7
import 'package:flutter/cupertino.dart';
8
import 'package:flutter_mobx/flutter_mobx.dart';
9
-// import 'package:esys_flutter_share/esys_flutter_share.dart';
9
+import 'package:share_plus/share_plus.dart';
10
import 'package:cake_wallet/routes.dart';
11
import 'package:cake_wallet/generated/i18n.dart';
12
import 'package:cake_wallet/di.dart';
@@ -92,23 +92,17 @@ class ReceivePage extends BasePage {
92
Image.asset('assets/images/share.png',
93
color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!);
94
95
- return SizedBox(
96
- height: 20.0,
97
- width: 20.0,
98
- child: ButtonTheme(
99
- minWidth: double.minPositive,
100
- child: TextButton(
101
- // FIX-ME: Style
102
- //highlightColor: Colors.transparent,
103
- //splashColor: Colors.transparent,
104
- //padding: EdgeInsets.all(0),
105
- onPressed: () {
106
- // FIX-ME: Share esys_flutter_share.dart
107
- // Share.text(S.current.share_address,
108
- // addressListViewModel.address.address, 'text/plain')
109
- },
110
- child: shareImage),
111
- ),
95
+ return Material(
96
+ color: Colors.transparent,
97
+ child: IconButton(
98
+ padding: EdgeInsets.zero,
99
+ constraints: BoxConstraints(),
100
+ highlightColor: Colors.transparent,
101
+ splashColor: Colors.transparent,
102
+ iconSize: 25,
103
+ onPressed: () => Share.share(addressListViewModel.address.address),
104
+ icon: shareImage
105
+ )
106
);
107
}
108
lib/src/screens/seed/wallet_seed_page.dart
+3
-8
@@ -6,7 +6,7 @@ import 'package:cake_wallet/utils/show_pop_up.dart';
6
import 'package:flutter/cupertino.dart';
7
import 'package:flutter/material.dart';
8
import 'package:flutter/services.dart';
9
-// import 'package:esys_flutter_share/esys_flutter_share.dart';
9
+import 'package:share_plus/share_plus.dart';
10
import 'package:flutter_mobx/flutter_mobx.dart';
11
import 'package:cake_wallet/generated/i18n.dart';
12
import 'package:cake_wallet/src/widgets/primary_button.dart';
@@ -159,13 +159,8 @@ class WalletSeedPage extends BasePage {
159
child: Container(
160
padding: EdgeInsets.only(right: 8.0),
161
child: PrimaryButton(
162
- onPressed: () {
163
- // FIX-ME: Share esys_flutter_share
164
- // Share.text(
165
- // S.of(context).seed_share,
166
- // walletSeedViewModel.seed,
167
- // 'text/plain')
168
- },
162
+ onPressed: () =>
163
+ Share.share(walletSeedViewModel.seed),
164
text: S.of(context).save,
165
color: Colors.green,
166
textColor: Colors.white),
pubspec_base.yaml
+1
-3
@@ -25,9 +25,7 @@ dependencies:
25
mobx: ^2.0.7+4
26
flutter_mobx: ^2.0.6+1
27
flutter_slidable: ^2.0.0
28
- share: ^2.0.1
29
- # share_plus: ^4.0.10
30
- # esys_flutter_share: ^1.0.2
28
+ share_plus: ^4.0.10
29
# date_range_picker: ^1.0.6
30
#https://api.flutter.dev/flutter/material/showDateRangePicker.html
31
dio: ^4.0.6