Skip to content
Snippets Groups Projects
walletsHome.dart 4.38 KiB
Newer Older
poka's avatar
poka committed
import 'package:gecko/models/myWallets.dart';
import 'package:gecko/screens/myWallets/generateWallets.dart';
import 'package:flutter/material.dart';
import 'package:gecko/screens/myWallets/walletOptions.dart';
import 'package:provider/provider.dart';
poka's avatar
poka committed
// ignore: must_be_immutable
class WalletsHome extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    MyWalletsProvider myWalletProvider =
        Provider.of<MyWalletsProvider>(context);
poka's avatar
poka committed
    print('BUILD: WalletsHome');
    myWalletProvider.checkIfWalletExist();
poka's avatar
poka committed
    myWalletProvider.listWallets = myWalletProvider.getAllWalletsNames();

    return Scaffold(
        floatingActionButton: Visibility(
            visible: (myWalletProvider.checkIfWalletExist()),
            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))
poka's avatar
poka committed
  myWalletsList(BuildContext context) {
    MyWalletsProvider myWalletProvider =
        Provider.of<MyWalletsProvider>(context);
poka's avatar
poka committed
    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);
            }));
          },
poka's avatar
poka committed
    ]);
  }