Skip to content
Snippets Groups Projects
Commit c7d4796a authored by poka's avatar poka
Browse files

don't show idty status if no identity

parent 420614cc
Branches
Tags
No related merge requests found
Pipeline #39322 waiting for manual action
...@@ -51,7 +51,7 @@ class MyWalletsProvider with ChangeNotifier { ...@@ -51,7 +51,7 @@ class MyWalletsProvider with ChangeNotifier {
// update all idty status in lists // update all idty status in lists
int n = 0; int n = 0;
final idtyStatusList = await sub.idtyStatus(walletsToScan.keys.toList()); final idtyStatusList = await sub.idtyStatusMulti(walletsToScan.keys.toList());
for (final wallet in walletsToScan.values) { for (final wallet in walletsToScan.values) {
wallet.identityStatus = idtyStatusList[n]; wallet.identityStatus = idtyStatusList[n];
walletBox.put(wallet.address, wallet); walletBox.put(wallet.address, wallet);
......
...@@ -367,7 +367,7 @@ class SubstrateSdk with ChangeNotifier { ...@@ -367,7 +367,7 @@ class SubstrateSdk with ChangeNotifier {
} }
Future<CertState> certState(String from, String to) async { Future<CertState> certState(String from, String to) async {
final toStatus = (await idtyStatus([to])).first; final toStatus = (await idtyStatusMulti([to])).first;
final myWallets = MyWalletsProvider(); final myWallets = MyWalletsProvider();
if (from == to || !myWallets.getWalletDataByAddress(from)!.isMembre) { if (from == to || !myWallets.getWalletDataByAddress(from)!.isMembre) {
...@@ -434,7 +434,14 @@ class SubstrateSdk with ChangeNotifier { ...@@ -434,7 +434,14 @@ class SubstrateSdk with ChangeNotifier {
'unknown': IdtyStatus.unknown, 'unknown': IdtyStatus.unknown,
}; };
Future<List<IdtyStatus>> idtyStatus(List<String> addresses) async { Future<IdtyStatus> idtyStatus(String address) async {
final idtyIndex = await _getIdentityIndexOf(address);
if (idtyIndex == null) return IdtyStatus.none;
final idtyStatus = await idtyStatusByIndex(idtyIndex);
return idtyStatus;
}
Future<List<IdtyStatus>> idtyStatusMulti(List<String> addresses) async {
final idtyIndexes = await _getIdentityIndexOfMulti(addresses); final idtyIndexes = await _getIdentityIndexOfMulti(addresses);
//FIXME: should not have to replace null values by 99999999 //FIXME: should not have to replace null values by 99999999
...@@ -898,7 +905,7 @@ class SubstrateSdk with ChangeNotifier { ...@@ -898,7 +905,7 @@ class SubstrateSdk with ChangeNotifier {
final transferableBalance = fromBalance['transferableBalance']; final transferableBalance = fromBalance['transferableBalance'];
final statusList = await idtyStatus([fromAddress, toAddress]); final statusList = await idtyStatusMulti([fromAddress, toAddress]);
final fromIdtyStatus = statusList[0]; final fromIdtyStatus = statusList[0];
final fromHasConsumer = fromAddress == '' ? false : await hasAccountConsumers(fromAddress); final fromHasConsumer = fromAddress == '' ? false : await hasAccountConsumers(fromAddress);
final toIdtyStatus = statusList[1]; final toIdtyStatus = statusList[1];
...@@ -1005,7 +1012,7 @@ class SubstrateSdk with ChangeNotifier { ...@@ -1005,7 +1012,7 @@ class SubstrateSdk with ChangeNotifier {
} }
Future<String> certify(String fromAddress, String destAddress, String password) async { Future<String> certify(String fromAddress, String destAddress, String password) async {
final statusList = await idtyStatus([fromAddress, destAddress]); final statusList = await idtyStatusMulti([fromAddress, destAddress]);
final myIdtyStatus = statusList[0]; final myIdtyStatus = statusList[0];
final toIdtyStatus = statusList[1]; final toIdtyStatus = statusList[1];
......
...@@ -420,7 +420,7 @@ class WalletOptions extends StatelessWidget { ...@@ -420,7 +420,7 @@ class WalletOptions extends StatelessWidget {
Widget buildConfirmIdentitySection(WalletOptionsProvider walletProvider) { Widget buildConfirmIdentitySection(WalletOptionsProvider walletProvider) {
return Consumer<SubstrateSdk>(builder: (context, sub, _) { return Consumer<SubstrateSdk>(builder: (context, sub, _) {
return FutureBuilder( return FutureBuilder(
future: sub.idtyStatus([walletProvider.address.text]), future: sub.idtyStatusMulti([walletProvider.address.text]),
initialData: const [IdtyStatus.unknown], initialData: const [IdtyStatus.unknown],
builder: (BuildContext context, AsyncSnapshot<List<IdtyStatus>> snapshot) { builder: (BuildContext context, AsyncSnapshot<List<IdtyStatus>> snapshot) {
if (!snapshot.hasData || snapshot.hasError) { if (!snapshot.hasData || snapshot.hasError) {
......
...@@ -20,7 +20,7 @@ class IdentityStatus extends StatelessWidget { ...@@ -20,7 +20,7 @@ class IdentityStatus extends StatelessWidget {
return Consumer<SubstrateSdk>(builder: (context, sub, _) { return Consumer<SubstrateSdk>(builder: (context, sub, _) {
return FutureBuilder( return FutureBuilder(
future: sub.idtyStatus([address]), future: sub.idtyStatusMulti([address]),
initialData: [walletData.identityStatus], initialData: [walletData.identityStatus],
builder: (context, AsyncSnapshot<List<IdtyStatus>> snapshot) { builder: (context, AsyncSnapshot<List<IdtyStatus>> snapshot) {
if (snapshot.data != null && !snapshot.hasError) { if (snapshot.data != null && !snapshot.hasError) {
......
...@@ -3,8 +3,10 @@ import 'package:flutter/material.dart'; ...@@ -3,8 +3,10 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:gecko/globals.dart'; import 'package:gecko/globals.dart';
import 'package:gecko/models/scale_functions.dart'; import 'package:gecko/models/scale_functions.dart';
import 'package:gecko/models/wallet_data.dart';
import 'package:gecko/models/widgets_keys.dart'; import 'package:gecko/models/widgets_keys.dart';
import 'package:gecko/providers/duniter_indexer.dart'; import 'package:gecko/providers/duniter_indexer.dart';
import 'package:gecko/providers/substrate_sdk.dart';
import 'package:gecko/providers/wallets_profiles.dart'; import 'package:gecko/providers/wallets_profiles.dart';
import 'package:gecko/screens/certifications.dart'; import 'package:gecko/screens/certifications.dart';
import 'package:gecko/utils.dart'; import 'package:gecko/utils.dart';
...@@ -31,6 +33,7 @@ class WalletHeader extends StatelessWidget { ...@@ -31,6 +33,7 @@ class WalletHeader extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
const double avatarSize = 90; const double avatarSize = 90;
final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false); final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
final sub = Provider.of<SubstrateSdk>(context, listen: false);
return Container( return Container(
color: headerColor, color: headerColor,
...@@ -109,7 +112,12 @@ class WalletHeader extends StatelessWidget { ...@@ -109,7 +112,12 @@ class WalletHeader extends StatelessWidget {
// Certifications section // Certifications section
ScaledSizedBox(height: 12), ScaledSizedBox(height: 12),
InkWell( FutureBuilder(
future: sub.idtyStatus(address),
builder: (context, idtyStatus) {
return Visibility(
visible: idtyStatus.data != IdtyStatus.none,
child: InkWell(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
PageNoTransit( PageNoTransit(
...@@ -146,6 +154,9 @@ class WalletHeader extends StatelessWidget { ...@@ -146,6 +154,9 @@ class WalletHeader extends StatelessWidget {
), ),
), ),
), ),
);
},
),
], ],
), ),
), ),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment