Skip to content
Snippets Groups Projects
walletsHome.dart 5.26 KiB
Newer Older
poka's avatar
poka committed
import 'package:gecko/models/myWallets.dart';
import 'package:gecko/ui/myWallets/generateWalletsScreen.dart';
import 'package:flutter/material.dart';
poka's avatar
poka committed
import 'package:gecko/ui/myWallets/walletOptions.dart';
poka's avatar
poka committed
// ignore: must_be_immutable
class WalletsHome extends StatelessWidget {
  MyWalletsProvider myWalletProvider = MyWalletsProvider();

  @override
  Widget build(BuildContext context) {
poka's avatar
poka committed
    print('BUILD: WalletsHome');
    myWalletProvider.checkIfWalletExist();
poka's avatar
poka committed
    myWalletProvider.listWallets = myWalletProvider.getAllWalletsNames();

    return Scaffold(
        floatingActionButton: Visibility(
poka's avatar
poka committed
            visible: (myWalletProvider
poka's avatar
poka committed
                .checkIfWalletExist()), //!checkIfWalletExist('MonWallet') &&
            child: Container(
                height: 80.0,
                width: 80.0,
                child: FittedBox(
                    child: FloatingActionButton(
                        heroTag: "buttonGenerateWallet",
                        onPressed: () {
                          Navigator.push(
                            context,
                            MaterialPageRoute(builder: (context) {
                              return GenerateWalletsScreen();
                            }),
poka's avatar
poka committed
                          );
                        },
                        child: Container(
                            height: 40.0,
                            width: 40.0,
                            child: Icon(Icons.person_add_alt_1_rounded,
                                color: Colors.grey[850])),
                        backgroundColor: Color(0xffEFEFBF))))),
        body: SafeArea(
            child: Column(children: <Widget>[
          Visibility(
poka's avatar
poka committed
              visible: (!myWalletProvider.checkIfWalletExist()),
              child: Column(children: <Widget>[
                SizedBox(height: 120),
                Center(
                    child: Text("Vous n'avez encore généré aucun portefeuille.",
                        style: TextStyle(
                            fontSize: 20, fontWeight: FontWeight.w500),
                        textAlign: TextAlign.center)),
                SizedBox(height: 80),
                ElevatedButton(
                    style: ElevatedButton.styleFrom(
                      primary: Color(0xffFFD68E), // background
                      onPrimary: Colors.black, // foreground
                    ),
                    onPressed: () => Navigator.push(
                          context,
                          MaterialPageRoute(builder: (context) {
                            return GenerateWalletsScreen();
                          }),
poka's avatar
poka committed
                        ),
                    child: Text('Générer un portefeuille',
                        style: TextStyle(fontSize: 20))),
                SizedBox(height: 15),
                Center(
                    child: Text("ou",
                        style: TextStyle(
                            fontSize: 20, fontWeight: FontWeight.w500),
                        textAlign: TextAlign.center)),
                SizedBox(height: 15),
                ElevatedButton(
                    style: ElevatedButton.styleFrom(
                      primary: Color(0xffFFD68E), // background
                      onPrimary: Colors.black, // foreground
                    ),
poka's avatar
poka committed
                    onPressed: () => myWalletProvider.importWallet(),
                    child: Text('Importer un portefeuille existant',
                        style: TextStyle(fontSize: 20))),
              ])),
          Visibility(
poka's avatar
poka committed
              visible: myWalletProvider.checkIfWalletExist(),
              child: myWalletsList(context))
        ])));
  }

  // Future resetWalletState() async {
  //   final bool _isExist = await checkIfWalletExist('MonWallet');
  //   print('The wallet exist in resetWalletState(): ' + _isExist.toString());
  //   // initState();
  //   // _keyMyWallets.currentState.setState(() {});
  //   // _keyMyWallets.currentState.initAppDirectory();
  //   setState(() {
  //     // getAllWalletsNames();
  //     // this.walletIsGenerated = true;
  //   });
  // }

poka's avatar
poka committed
  myWalletsList(BuildContext context) {
    return Column(children: <Widget>[
      SizedBox(height: 8),
      for (var repository in myWalletProvider.listWallets)
        ListTile(
          contentPadding: const EdgeInsets.all(5.0),
          leading: Text(repository, style: TextStyle(fontSize: 14.0)),
          title: Text(repository, style: TextStyle(fontSize: 14.0)),
          subtitle: Text(repository, style: TextStyle(fontSize: 14.0)),
          dense: true,
          onTap: () {
            Navigator.push(context, MaterialPageRoute(builder: (context) {
              return WalletOptions(walletName: repository);
            }));
          },
        ),
      SizedBox(height: 20),
      SizedBox(
          width: 75.0,
          height: 25.0,
          child: ElevatedButton(
              style: ElevatedButton.styleFrom(
                elevation: 2,
                primary: Color(0xffFFD68E), //Color(0xffFFD68E), // background
                onPrimary: Colors.black, // foreground
              ),
              onPressed: () {
                myWalletProvider.listWallets =
                    myWalletProvider.getAllWalletsNames();
              },
              child: Text('(Refresh)', style: TextStyle(fontSize: 10))))
    ]);
  }