// ignore_for_file: file_names import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/widgets_keys.dart'; import 'package:gecko/providers/generate_wallets.dart'; import 'package:gecko/providers/my_wallets.dart'; import 'package:gecko/providers/wallets_profiles.dart'; import 'package:gecko/screens/myWallets/show_seed.dart'; import 'package:gecko/widgets/commons/build_progress_bar.dart'; import 'package:gecko/widgets/commons/build_text.dart'; import 'package:gecko/screens/onBoarding/6.dart'; import 'package:gecko/widgets/commons/fader_transition.dart'; import 'package:gecko/widgets/commons/offline_info.dart'; import 'package:provider/provider.dart'; AsyncSnapshot? mnemoList; class OnboardingStepFive extends StatefulWidget { const OnboardingStepFive({Key? key, this.skipIntro = false}) : super(key: key); final bool skipIntro; @override State createState() { return _ChooseChestState(); } } // ignore: unused_element class _ChooseChestState extends State { @override Widget build(BuildContext context) { final generateWalletProvider = Provider.of(context, listen: false); return Scaffold( backgroundColor: backgroundColor, appBar: AppBar( toolbarHeight: 60, title: Text( 'yourMnemonic'.tr(), style: const TextStyle(fontWeight: FontWeight.w600), ), ), extendBodyBehindAppBar: true, body: SafeArea( child: Stack(children: [ Column(children: [ const SizedBox(height: 25), const BuildProgressBar(pagePosition: 4), const SizedBox(height: 25), BuildText( text: 'geckoGeneratedYourMnemonicKeepItSecret'.tr(), size: 18), const SizedBox(height: 15), sentanceArray(context), const SizedBox(height: 17), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ SizedBox( height: 40, width: 130, child: ElevatedButton( style: ElevatedButton.styleFrom( foregroundColor: Colors.black, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), ), backgroundColor: orangeC, elevation: 1, // foreground ), onPressed: () { Clipboard.setData(ClipboardData( text: generateWalletProvider.generatedMnemonic!)); snackCopySeed(context); }, child: Row(children: [ Image.asset( 'assets/walletOptions/copy-white.png', height: 25, ), const SizedBox(width: 7), Text( 'copy'.tr(), style: TextStyle(fontSize: 15, color: Colors.grey[50]), ) ]), ), ), const SizedBox(width: 70), GestureDetector( onTap: () { Navigator.push( context, MaterialPageRoute(builder: (context) { return PrintWallet( generateWalletProvider.generatedMnemonic!); }), ); }, child: Image.asset( 'assets/printer.png', height: 42, ), ), ], ), const SizedBox(height: 17), Expanded( child: Align( alignment: Alignment.bottomCenter, child: SizedBox( width: 370, height: 60, child: ElevatedButton( key: keyGenerateMnemonic, style: ElevatedButton.styleFrom( foregroundColor: Colors.black, elevation: 4, backgroundColor: const Color(0xffFFD58D), // foreground ), onPressed: () { // _generateWalletProvider.reloadBuild(); setState(() {}); }, child: Text("chooseAnotherMnemonic".tr(), textAlign: TextAlign.center, style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w600))), ), ), ), const SizedBox(height: 22), nextButton( context, "iNotedMyMnemonic".tr(), false, widget.skipIntro), const Spacer(), // SizedBox(height: 35), ]), const OfflineInfo(), ]), ), ); } } Widget sentanceArray(BuildContext context) { final generateWalletProvider = Provider.of(context, listen: false); return Container( constraints: const BoxConstraints(maxWidth: 375), decoration: BoxDecoration( border: Border.all(color: Colors.black), color: const Color(0xffeeeedd), borderRadius: const BorderRadius.all( Radius.circular(10), )), padding: const EdgeInsets.all(15), child: FutureBuilder( future: generateWalletProvider.generateWordList(context), builder: (BuildContext context, AsyncSnapshot data) { if (!data.hasData) { return const Text(''); } else { mnemoList = data; return Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.center, children: [ Row(children: [ arrayCell(data.data![0]), arrayCell(data.data![1]), arrayCell(data.data![2]), arrayCell(data.data![3]), ]), const SizedBox(height: 12), Row(children: [ arrayCell(data.data![4]), arrayCell(data.data![5]), arrayCell(data.data![6]), arrayCell(data.data![7]), ]), const SizedBox(height: 12), Row(children: [ arrayCell(data.data![8]), arrayCell(data.data![9]), arrayCell(data.data![10]), arrayCell(data.data![11]), ]), ]); } }), ); } Widget arrayCell(dataWord) { return SizedBox( width: 85, child: Column(children: [ Text( dataWord.split(':')[0], style: const TextStyle(fontSize: 13, color: Color(0xff6b6b52)), ), Text( dataWord.split(':')[1], key: keyMnemonicWord(dataWord.split(':')[0]), style: const TextStyle(fontSize: 17, color: Colors.black), ), ]), ); } Widget nextButton( BuildContext context, String text, bool isFast, bool skipIntro) { final generateWalletProvider = Provider.of(context, listen: false); final myWalletProvider = Provider.of(context, listen: false); return SizedBox( width: 370, height: 60, child: ElevatedButton( key: keyGoNext, style: ElevatedButton.styleFrom( foregroundColor: Colors.white, elevation: 4, backgroundColor: orangeC, // foreground ), onPressed: () { generateWalletProvider.nbrWord = generateWalletProvider.getRandomInt(); generateWalletProvider.nbrWordAlpha = generateWalletProvider .intToString(generateWalletProvider.nbrWord + 1); myWalletProvider.mnemonic = generateWalletProvider.generatedMnemonic!; Navigator.push( context, FaderTransition( page: OnboardingStepSix( generatedMnemonic: generateWalletProvider.generatedMnemonic, skipIntro: skipIntro), isFast: true), ); }, child: Text( text, style: const TextStyle(fontSize: 22, fontWeight: FontWeight.w600), ), ), ); }