From 4f2cf983decc637791dd5900119a68ec69b344af Mon Sep 17 00:00:00 2001 From: Serhii Date: Wed, 26 Oct 2022 18:05:08 +0300 Subject: [PATCH] check share plugin usage (#567) * replace share plugin with share_plus * fix share button on receive screen * add share button for btc, ltc wallets --- .../dashboard/widgets/address_page.dart | 21 +++++++++++++ lib/src/screens/receive/receive_page.dart | 30 ++++++++----------- lib/src/screens/seed/wallet_seed_page.dart | 11 ++----- pubspec_base.yaml | 4 +-- 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/lib/src/screens/dashboard/widgets/address_page.dart b/lib/src/screens/dashboard/widgets/address_page.dart index 2c7d36437..9a06dc39d 100644 --- a/lib/src/screens/dashboard/widgets/address_page.dart +++ b/lib/src/screens/dashboard/widgets/address_page.dart @@ -15,6 +15,7 @@ import 'package:cake_wallet/generated/i18n.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:keyboard_actions/keyboard_actions.dart'; import 'package:mobx/mobx.dart'; +import 'package:share_plus/share_plus.dart'; class AddressPage extends BasePage { AddressPage({ @@ -85,6 +86,26 @@ class AddressPage extends BasePage { ], begin: Alignment.topRight, end: Alignment.bottomLeft)), child: scaffold); + @override + Widget? trailing(BuildContext context) { + final shareImage = + Image.asset('assets/images/share.png', + color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!); + + return !addressListViewModel.hasAddressList ? Material( + color: Colors.transparent, + child: IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + highlightColor: Colors.transparent, + splashColor: Colors.transparent, + iconSize: 25, + onPressed: () => Share.share(addressListViewModel.address.address), + icon: shareImage, + ), + ) : null; + } + @override Widget body(BuildContext context) { autorun((_) async { diff --git a/lib/src/screens/receive/receive_page.dart b/lib/src/screens/receive/receive_page.dart index d8d4f7edb..6f6b4e31c 100644 --- a/lib/src/screens/receive/receive_page.dart +++ b/lib/src/screens/receive/receive_page.dart @@ -6,7 +6,7 @@ import 'package:cw_core/wallet_type.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; -// import 'package:esys_flutter_share/esys_flutter_share.dart'; +import 'package:share_plus/share_plus.dart'; import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/di.dart'; @@ -92,23 +92,17 @@ class ReceivePage extends BasePage { Image.asset('assets/images/share.png', color: Theme.of(context).accentTextTheme!.headline2!.backgroundColor!); - return SizedBox( - height: 20.0, - width: 20.0, - child: ButtonTheme( - minWidth: double.minPositive, - child: TextButton( - // FIX-ME: Style - //highlightColor: Colors.transparent, - //splashColor: Colors.transparent, - //padding: EdgeInsets.all(0), - onPressed: () { - // FIX-ME: Share esys_flutter_share.dart - // Share.text(S.current.share_address, - // addressListViewModel.address.address, 'text/plain') - }, - child: shareImage), - ), + return Material( + color: Colors.transparent, + child: IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + highlightColor: Colors.transparent, + splashColor: Colors.transparent, + iconSize: 25, + onPressed: () => Share.share(addressListViewModel.address.address), + icon: shareImage + ) ); } diff --git a/lib/src/screens/seed/wallet_seed_page.dart b/lib/src/screens/seed/wallet_seed_page.dart index f5e206837..8de1526e8 100644 --- a/lib/src/screens/seed/wallet_seed_page.dart +++ b/lib/src/screens/seed/wallet_seed_page.dart @@ -6,7 +6,7 @@ import 'package:cake_wallet/utils/show_pop_up.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -// import 'package:esys_flutter_share/esys_flutter_share.dart'; +import 'package:share_plus/share_plus.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/src/widgets/primary_button.dart'; @@ -159,13 +159,8 @@ class WalletSeedPage extends BasePage { child: Container( padding: EdgeInsets.only(right: 8.0), child: PrimaryButton( - onPressed: () { - // FIX-ME: Share esys_flutter_share - // Share.text( - // S.of(context).seed_share, - // walletSeedViewModel.seed, - // 'text/plain') - }, + onPressed: () => + Share.share(walletSeedViewModel.seed), text: S.of(context).save, color: Colors.green, textColor: Colors.white), diff --git a/pubspec_base.yaml b/pubspec_base.yaml index 3513cc4ad..2a6ebfb55 100644 --- a/pubspec_base.yaml +++ b/pubspec_base.yaml @@ -25,9 +25,7 @@ dependencies: mobx: ^2.0.7+4 flutter_mobx: ^2.0.6+1 flutter_slidable: ^2.0.0 - share: ^2.0.1 - # share_plus: ^4.0.10 - # esys_flutter_share: ^1.0.2 + share_plus: ^4.0.10 # date_range_picker: ^1.0.6 #https://api.flutter.dev/flutter/material/showDateRangePicker.html dio: ^4.0.6