Skip to content
Snippets Groups Projects
walletsHome.dart 7.78 KiB
import 'package:flutter/services.dart';
import 'package:gecko/models/myWallets.dart';
import 'package:gecko/models/walletOptions.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/myWallets/unlockingWallet.dart';
import 'package:gecko/screens/onBoarding/0_noKeychainFound.dart';
import 'package:provider/provider.dart';

// ignore: must_be_immutable
class WalletsHome extends StatelessWidget {
  final _derivationKey = GlobalKey<FormState>();
  int firstWalletDerivation;

  @override
  Widget build(BuildContext context) {
    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
    MyWalletsProvider myWalletProvider =
        Provider.of<MyWalletsProvider>(context);
    WalletOptionsProvider _walletOptions =
        Provider.of<WalletOptionsProvider>(context);
    _walletOptions.isWalletUnlock = false;
    myWalletProvider.listWallets = myWalletProvider.getAllWalletsNames();
    final bool isWalletsExists = myWalletProvider.checkIfWalletExist();

    if (myWalletProvider.listWallets != '') {
      firstWalletDerivation =
          int.parse(myWalletProvider.listWallets.split('\n')[0].split(':')[2]);
    }

    return Scaffold(
        appBar: AppBar(
          title: Text('Mes portefeuilles',
              style: TextStyle(color: Colors.grey[850])),
          backgroundColor: Color(0xffFFD58D),
        ),
        floatingActionButton: Visibility(
            visible: (isWalletsExists && firstWalletDerivation != -1),
            child: Container(
                height: 80.0,
                width: 80.0,
                child: FittedBox(
                    child: FloatingActionButton(
                        heroTag: "buttonGenerateWallet",
                        onPressed: () {
                          showDialog(
                              context: context,
                              builder: (BuildContext context) {
                                return addNewDerivation(context, 1);
                              });
                        },
                        child: Container(
                            height: 40,
                            width: 40,
                            child: Icon(Icons.person_add_alt_1_rounded,
                                color: Colors.grey[850])),
                        backgroundColor: Color(0xffEFEFBF))))),
        body: SafeArea(
            child: !isWalletsExists
                ? NoKeyChainScreen()
                : myWalletsTiles(context)));
  }

  Widget myWalletsTiles(BuildContext context) {
    MyWalletsProvider _myWalletProvider =
        Provider.of<MyWalletsProvider>(context);

    final bool isWalletsExists = _myWalletProvider.checkIfWalletExist();

    if (!isWalletsExists) {
      return Text('');