From a1767d289f0175faf9848aac87c7e42e995f82e4 Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 6 Jun 2022 17:52:42 +0200 Subject: [PATCH] improve member status view --- lib/providers/substrate_sdk.dart | 8 +++---- lib/providers/wallet_options.dart | 29 +++++++++++++++-------- lib/screens/myWallets/wallet_options.dart | 2 +- lib/screens/wallet_view.dart | 4 ++-- pubspec.yaml | 2 +- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index ed68b83..fdcece3 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -214,7 +214,7 @@ class SubstrateSdk with ChangeNotifier { Future> getCerts(String address) async { final idtyIndex = await sdk.webView! .evalJavascript('api.query.identity.identityIndexOf("$address")'); - log.d('u32: ' + idtyIndex.toString()); + // log.d('u32: ' + idtyIndex.toString()); final _certsReceiver = await sdk.webView! .evalJavascript('api.query.cert.storageIdtyCertMeta($idtyIndex)') ?? @@ -234,9 +234,9 @@ class SubstrateSdk with ChangeNotifier { 'api.query.cert.storageCertsByIssuer($idtyIndexFrom, $idtyIndexTo)') ?? ''; - log.d(_certData); if (_certData == '') return {}; + // log.d(_certData); return _certData; } @@ -487,7 +487,7 @@ class SubstrateSdk with ChangeNotifier { } } - Future idtyStatus(String address) async { + Future idtyStatus(String address, [bool smooth = true]) async { // var tata = await sdk.webView! // .evalJavascript('api.query.system.account("$address")'); @@ -503,7 +503,7 @@ class SubstrateSdk with ChangeNotifier { if (idtyStatus != null) { final String _status = idtyStatus['status']; - log.d(_status); + log.d('Status $address: $_status'); return (_status); } else { return 'expired'; diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart index b83e8b7..1077986 100644 --- a/lib/providers/wallet_options.dart +++ b/lib/providers/wallet_options.dart @@ -5,6 +5,7 @@ import 'package:gecko/globals.dart'; import 'package:gecko/providers/my_wallets.dart'; import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/providers/substrate_sdk.dart'; +import 'package:gecko/screens/animated_text.dart'; import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/myWallets/unlocking_wallet.dart'; import 'package:gecko/screens/transaction_in_progress.dart'; @@ -109,20 +110,28 @@ class WalletOptionsProvider with ChangeNotifier { } Widget idtyStatus(BuildContext context, String address, - {bool isOwner = false}) { - _showText(String text, [double size = 18, bool _bold = false]) => Text( - text, + {bool isOwner = false, Color color = Colors.black}) { + _showText(String text, + [double size = 18, bool _bold = false, bool smooth = true]) { + log.d(text); + return AnimatedFadeOutIn( + data: text, + duration: Duration(milliseconds: smooth ? 200 : 0), + builder: (value) => Text( + value, textAlign: TextAlign.center, style: TextStyle( fontSize: size, - color: _bold ? orangeC : Colors.black, + color: _bold ? color : Colors.black, fontWeight: _bold ? FontWeight.w500 : FontWeight.w400), - ); + ), + ); + } return Consumer(builder: (context, _sub, _) { return FutureBuilder( future: _sub.idtyStatus(address), - initialData: '...', + initialData: '', builder: (context, snapshot) { switch (snapshot.data.toString()) { case 'noid': @@ -150,7 +159,7 @@ class WalletOptionsProvider with ChangeNotifier { case 'Validated': { - return _showText('Membre validé !'); + return _showText('Membre validé !', 18, true); } case 'expired': @@ -159,15 +168,15 @@ class WalletOptionsProvider with ChangeNotifier { } } return SizedBox( - child: _showText('Statut inconnu'), + child: _showText('', 18, false, false), ); }); }); } - Future isMember(BuildContext context, String address) async { + Future isMember(BuildContext context, String address) async { SubstrateSdk _sub = Provider.of(context, listen: false); - return await _sub. idtyStatus(address) == 'Validated'; + return await _sub.idtyStatus(address) == 'Validated'; } Future validateIdentity(BuildContext context) async { diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index fd974a6..972f9f7 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -108,7 +108,7 @@ class WalletOptions extends StatelessWidget { children: [ _walletOptions.idtyStatus( context, _walletOptions.address.text, - isOwner: true), + isOwner: true, color: orangeC), getCerts(context, walletProvider.address.text, 15), ]), diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart index 74232ad..0a875ca 100644 --- a/lib/screens/wallet_view.dart +++ b/lib/screens/wallet_view.dart @@ -133,7 +133,7 @@ class WalletViewScreen extends StatelessWidget { future: _sub.certState(_defaultWallet.address!, pubkey!), // .canCertify(_defaultWallet.address!, pubkey!), builder: (context, AsyncSnapshot> snapshot) { - log.d(snapshot.data); + // log.d(snapshot.data); if (snapshot.data == null) return const SizedBox(); String _duration = ''; if (snapshot.data!['certDelay'] != null || @@ -736,7 +736,7 @@ class WalletViewScreen extends StatelessWidget { balance(context, pubkey!, 22), const SizedBox(height: 10), - _walletOptions.idtyStatus(context, pubkey!, isOwner: false), + _walletOptions.idtyStatus(context, pubkey!, isOwner: false, color: Colors.black), getCerts(context, pubkey!, 14), // if (username == null && diff --git a/pubspec.yaml b/pubspec.yaml index 91744eb..9c8cdac 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.8+0 +version: 0.0.8+2 environment: sdk: '>=2.12.0 <3.0.0'