improve member status view

This commit is contained in:
poka 2022-06-06 17:52:42 +02:00
parent 48e2b09b22
commit a1767d289f
5 changed files with 27 additions and 18 deletions

View File

@ -214,7 +214,7 @@ class SubstrateSdk with ChangeNotifier {
Future<List<int>> 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<String> idtyStatus(String address) async {
Future<String> 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';

View File

@ -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<String>(
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<SubstrateSdk>(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<bool> isMember(BuildContext context, String address) async {
Future<bool> isMember(BuildContext context, String address) async {
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
return await _sub. idtyStatus(address) == 'Validated';
return await _sub.idtyStatus(address) == 'Validated';
}
Future<String?> validateIdentity(BuildContext context) async {

View File

@ -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),
]),

View File

@ -133,7 +133,7 @@ class WalletViewScreen extends StatelessWidget {
future: _sub.certState(_defaultWallet.address!,
pubkey!), // .canCertify(_defaultWallet.address!, pubkey!),
builder: (context, AsyncSnapshot<Map<String, int>> 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 &&

View File

@ -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'