From 4a6bc55fc34c03aa92c96b6a735c7db184f1997d Mon Sep 17 00:00:00 2001 From: poka Date: Tue, 9 Nov 2021 04:22:04 +0100 Subject: [PATCH 01/20] WIP: Can change chest --- assets/chests/0.png | Bin 0 -> 6433 bytes lib/globals.dart | 3 +- lib/main.dart | 6 +- lib/models/changePin.dart | 11 +- lib/models/chestData.dart | 20 ++ lib/models/chestData.g.dart | 44 ++++ lib/models/generateWallets.dart | 19 +- lib/models/history.dart | 2 +- lib/models/myWallets.dart | 8 +- lib/models/walletOptions.dart | 4 +- lib/screens/myWallets/changePin.dart | 4 +- lib/screens/myWallets/chooseChest.dart | 78 ++++++ lib/screens/myWallets/walletsHome.dart | 319 ++++++++++++++----------- pubspec.yaml | 1 + test_driver/app_test.dart | 6 + 15 files changed, 364 insertions(+), 161 deletions(-) create mode 100755 assets/chests/0.png create mode 100644 lib/models/chestData.dart create mode 100644 lib/models/chestData.g.dart create mode 100644 lib/screens/myWallets/chooseChest.dart diff --git a/assets/chests/0.png b/assets/chests/0.png new file mode 100755 index 0000000000000000000000000000000000000000..71dcb9b105bb34f1986d51e4d3486c2d9a9bc14c GIT binary patch literal 6433 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 walletBox; -Box chestBox; +Box chestBox; Box configBox; // String cesiumPod = "https://g1.data.le-sou.org"; diff --git a/lib/main.dart b/lib/main.dart index 2af5d1e..5ed289e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -18,6 +18,7 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/cesiumPlus.dart'; import 'package:gecko/models/changePin.dart'; +import 'package:gecko/models/chestData.dart'; import 'package:gecko/models/generateWallets.dart'; import 'package:gecko/models/history.dart'; import 'package:gecko/models/home.dart'; @@ -52,8 +53,9 @@ Future main() async { // Configure Hive and open boxes await Hive.initFlutter(appPath.path); Hive.registerAdapter(WalletDataAdapter()); + Hive.registerAdapter(ChestDataAdapter()); walletBox = await Hive.openBox("walletBox"); - chestBox = await Hive.openBox("chestBox"); + chestBox = await Hive.openBox("chestBox"); configBox = await Hive.openBox("configBox"); _walletsProvider.getDefaultWallet(); @@ -162,7 +164,7 @@ class Gecko extends StatelessWidget { bodyText1: TextStyle(), bodyText2: TextStyle(), ).apply( - bodyColor: Color(0xff855F2D), + bodyColor: Color(0xFF000000), ), colorScheme: ColorScheme.fromSwatch() .copyWith(secondary: Colors.grey[850]), diff --git a/lib/models/changePin.dart b/lib/models/changePin.dart index 5af359a..3c85b2e 100644 --- a/lib/models/changePin.dart +++ b/lib/models/changePin.dart @@ -3,6 +3,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/chestData.dart'; class ChangePinProvider with ChangeNotifier { bool ischangedPin = false; @@ -12,7 +13,7 @@ class ChangePinProvider with ChangeNotifier { Future changePin(_name, _oldPin) async { try { - final _dewif = chestBox.get(0); + final _dewif = chestBox.get(configBox.get('currentChest')).dewif; NewWallet newWalletFile = await DubpRust.changeDewifPin( dewif: _dewif, @@ -29,10 +30,12 @@ class ChangePinProvider with ChangeNotifier { } } - Future storeWallet(context, _name, NewWallet _newWalletFile) async { - chestBox.put(0, _newWalletFile.dewif); + Future storeNewPinChest(context, NewWallet _newWalletFile) async { + ChestData currentChest = chestBox.getAt(configBox.get('currentChest')); + currentChest.dewif = _newWalletFile.dewif; + // currentChest.name = _name; + chestBox.add(currentChest); Navigator.pop(context); - return _name; } } diff --git a/lib/models/chestData.dart b/lib/models/chestData.dart new file mode 100644 index 0000000..e506add --- /dev/null +++ b/lib/models/chestData.dart @@ -0,0 +1,20 @@ +import 'package:hive_flutter/hive_flutter.dart'; + +part 'chestData.g.dart'; + +@HiveType(typeId: 1) +class ChestData extends HiveObject { + @HiveField(0) + String dewif; + + @HiveField(2) + String name; + + ChestData({this.dewif, this.name}); + + // representation of WalletData when debugging + @override + String toString() { + return this.name; + } +} diff --git a/lib/models/chestData.g.dart b/lib/models/chestData.g.dart new file mode 100644 index 0000000..095f182 --- /dev/null +++ b/lib/models/chestData.g.dart @@ -0,0 +1,44 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'chestData.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class ChestDataAdapter extends TypeAdapter { + @override + final int typeId = 1; + + @override + ChestData read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return ChestData( + dewif: fields[0] as String, + name: fields[2] as String, + ); + } + + @override + void write(BinaryWriter writer, ChestData obj) { + writer + ..writeByte(2) + ..writeByte(0) + ..write(obj.dewif) + ..writeByte(2) + ..write(obj.name); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is ChestDataAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart index 8899751..52fb978 100644 --- a/lib/models/generateWallets.dart +++ b/lib/models/generateWallets.dart @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/chestData.dart'; import 'package:gecko/models/walletData.dart'; import 'package:pdf/pdf.dart'; import 'package:pdf/widgets.dart' as pw; @@ -40,11 +41,23 @@ class GenerateWalletsProvider with ChangeNotifier { void storeHDWChest( NewWallet _wallet, String _name, BuildContext context) async { + int chestNumber = chestBox.length; WalletData myWallet = - WalletData(chest: 0, number: 0, name: _name, derivation: 3); + WalletData(chest: chestNumber, number: 0, name: _name, derivation: 3); + + String chestName; + if (chestNumber == 0) { + chestName = 'Coffre à Gecko'; + } else { + chestName = 'Coffre à Gecko ${chestNumber + 1}'; + } walletBox.add(myWallet); - chestBox.put(0, _wallet.dewif); - configBox.put('currentChest', 0); + ChestData thisChest = ChestData( + dewif: _wallet.dewif, + name: chestName, + ); + chestBox.add(thisChest); + configBox.put('currentChest', chestNumber); // walletBox.get(1) } diff --git a/lib/models/history.dart b/lib/models/history.dart index 9be347c..d6f78ac 100644 --- a/lib/models/history.dart +++ b/lib/models/history.dart @@ -50,7 +50,7 @@ class HistoryProvider with ChangeNotifier { Future pay(BuildContext context, String pinCode) async { // MyWalletsProvider _myWalletProvider = MyWalletsProvider(); - String dewif = chestBox.get(0); + String dewif = chestBox.get(configBox.get('currentChest')).dewif; try { await DubpRust.simplePaymentFromTransparentAccount( accountIndex: defaultWallet.derivation, diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index 3cd63c4..664668f 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -22,7 +22,7 @@ class MyWalletsProvider with ChangeNotifier { return false; } - final List _walletList = readAllWallets(0); + final List _walletList = readAllWallets(getCurrentChest()); if (_walletList.isEmpty) { log.i('No wallets detected'); @@ -45,7 +45,7 @@ class MyWalletsProvider with ChangeNotifier { WalletData getWalletData(List _id) { if (_id.isEmpty) return WalletData(); - int _chest = _id[0]; + int _chest = _id[getCurrentChest()]; int _nbr = _id[1]; var _targetedWallet; @@ -63,7 +63,7 @@ class MyWalletsProvider with ChangeNotifier { MyWalletsProvider myWalletsProvider = MyWalletsProvider(); if (configBox.get('defaultWallet') == null) { - configBox.put('defaultWallet', [0, 0]); + configBox.put('defaultWallet', [getCurrentChest(), 0]); } defaultWallet = myWalletsProvider @@ -120,7 +120,7 @@ class MyWalletsProvider with ChangeNotifier { Future generateNewDerivation(context, String _name) async { int _newDerivationNbr; int _newWalletNbr; - int _chest = 0; + int _chest = getCurrentChest(); List _walletConfig = readAllWallets(_chest); if (_walletConfig.isEmpty) { diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart index ba3da48..147d9a6 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/walletOptions.dart @@ -76,7 +76,7 @@ class WalletOptionsProvider with ChangeNotifier { context, WalletData _wallet, String _pin, int _pinLenght) async { isWalletUnlock = false; try { - String _localDewif = chestBox.get(0); + String _localDewif = chestBox.get(configBox.get('currentChest')).dewif; String _localPubkey; if ((_localPubkey = await _getPubkeyFromDewif( @@ -114,7 +114,7 @@ class WalletOptionsProvider with ChangeNotifier { int getPinLenght(_walletNbr) { String _localDewif; if (_walletNbr is int) { - _localDewif = chestBox.get(0); + _localDewif = chestBox.get(configBox.get('currentChest')).dewif; } else { _localDewif = _walletNbr; } diff --git a/lib/screens/myWallets/changePin.dart b/lib/screens/myWallets/changePin.dart index 19a87f0..563b247 100644 --- a/lib/screens/myWallets/changePin.dart +++ b/lib/screens/myWallets/changePin.dart @@ -92,8 +92,8 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { onPressed: _changePin.newPin.text != '' ? () { _changePin.newPin.text = ''; - _changePin.storeWallet( - context, walletName, _newWalletFile); + _changePin.storeNewPinChest( + context, _newWalletFile); } : null, child: Text('Confirmer', style: TextStyle(fontSize: 28))), diff --git a/lib/screens/myWallets/chooseChest.dart b/lib/screens/myWallets/chooseChest.dart new file mode 100644 index 0000000..3a9fa19 --- /dev/null +++ b/lib/screens/myWallets/chooseChest.dart @@ -0,0 +1,78 @@ +import 'package:flutter/services.dart'; +import 'package:gecko/globals.dart'; +import 'package:gecko/screens/home.dart'; +import 'package:flutter/material.dart'; +// import 'package:gecko/models/home.dart'; +// import 'package:provider/provider.dart'; + +// ignore: must_be_immutable +class ChooseChest extends StatelessWidget { + TextEditingController tplController = TextEditingController(); + + @override + Widget build(BuildContext context) { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + int currentChest = configBox.get('currentChest'); + return Scaffold( + appBar: AppBar( + title: SizedBox( + height: 22, + child: Text('Sélectionner mon coffre'), + )), + floatingActionButton: Container( + height: 80.0, + width: 80.0, + child: FittedBox( + child: FloatingActionButton( + heroTag: "tplButton", + onPressed: () => Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return HomeScreen(); + }), + ), + child: Container( + height: 40.0, + width: 40.0, + child: Icon(Icons.home, color: Colors.grey[850]), + ), + backgroundColor: + floattingYellow, //smoothYellow, //Color.fromARGB(500, 204, 255, 255), + ))), + body: SafeArea( + child: Column(children: [ + SizedBox(height: 150), + Center( + child: Image.asset( + 'assets/chests/$currentChest.png', + ), + ), + SizedBox(height: 20), + Text(chestBox.get(currentChest).name), + ElevatedButton( + style: ElevatedButton.styleFrom( + primary: yellowC, // background + onPrimary: Colors.black, // foreground + ), + onPressed: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return HomeScreen(); + }), + ); + }, + child: Text('Retour Accueil', style: TextStyle(fontSize: 20))), + SizedBox(height: 20), + GestureDetector( + onTap: () { + Navigator.popUntil( + context, + ModalRoute.withName('/'), + ); + }, + child: Icon(Icons.home)) + ]), + )); + } +} diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index 0f0b441..0d5e69e 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -5,14 +5,13 @@ import 'package:gecko/models/walletData.dart'; import 'package:gecko/models/walletOptions.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/myWallets/chooseChest.dart'; import 'package:gecko/screens/myWallets/walletOptions.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(); - int firstWalletDerivation; @override Widget build(BuildContext context) { @@ -26,63 +25,58 @@ class WalletsHome extends StatelessWidget { myWalletProvider.readAllWallets(_currentChest); final bool isWalletsExists = myWalletProvider.checkIfWalletExist(); - if (myWalletProvider.listWallets.isEmpty) { - firstWalletDerivation = myWalletProvider.listWallets[0].derivation; - - myWalletProvider.getDefaultWallet(); - } - - log.d("${myWalletProvider.pinCode},${myWalletProvider.pinLenght}"); - return WillPopScope( - onWillPop: () { - Navigator.popUntil( - context, - ModalRoute.withName('/'), - ); - return Future.value(true); - }, - child: Scaffold( - appBar: AppBar( - leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), - onPressed: () { - Navigator.popUntil( - context, - ModalRoute.withName('/'), - ); - }), - title: Text('Mes portefeuilles', - key: Key('myWallets'), - style: TextStyle(color: Colors.grey[850])), - backgroundColor: Color(0xffFFD58D), + onWillPop: () { + Navigator.popUntil( + context, + ModalRoute.withName('/'), + ); + return Future.value(true); + }, + child: Scaffold( + appBar: AppBar( + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Colors.black), + onPressed: () { + Navigator.popUntil( + context, + ModalRoute.withName('/'), + ); + }), + title: Text('Mes portefeuilles', + key: Key('myWallets'), style: TextStyle(color: Colors.grey[850])), + backgroundColor: Color(0xffFFD58D), + ), + body: SafeArea( + child: + !isWalletsExists ? NoKeyChainScreen() : myWalletsTiles(context), + ), + ), + ); + } + + Widget chestOptions(BuildContext context) { + return Column(children: [ + SizedBox( + height: 90, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + elevation: 2, + primary: floattingYellow, // background + onPrimary: Colors.black, // foreground ), - floatingActionButton: Visibility( - visible: (isWalletsExists && firstWalletDerivation != -1), - child: Container( - height: 80.0, - width: 80.0, - child: FittedBox( - child: FloatingActionButton( - key: Key('addDerivation'), - 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: floattingYellow)))), - body: SafeArea( - child: !isWalletsExists - ? NoKeyChainScreen() - : myWalletsTiles(context)))); + onPressed: () => Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return ChooseChest(); + }), + ), + child: Text( + "Changer de coffre", + style: TextStyle(fontSize: 16), + ), + )) + ]); } Widget myWalletsTiles(BuildContext context) { @@ -110,97 +104,138 @@ class WalletsHome extends StatelessWidget { List _listWallets = _myWalletProvider.listWallets; - return GridView.count( - key: Key('listWallets'), - crossAxisCount: 2, - childAspectRatio: 1, - crossAxisSpacing: 0, - mainAxisSpacing: 0, - children: [ - for (WalletData _repository in _listWallets) - Padding( + return CustomScrollView(slivers: [ + SliverGrid.count( + key: Key('listWallets'), + crossAxisCount: 2, + childAspectRatio: 1, + crossAxisSpacing: 0, + mainAxisSpacing: 0, + children: [ + for (WalletData _repository in _listWallets) + Padding( padding: EdgeInsets.all(16), child: GestureDetector( - onTap: () async { - await _walletOptions.readLocalWallet( - context, - _repository, - _myWalletProvider.pinCode, - _myWalletProvider.pinLenght); - Navigator.push( - context, - SmoothTransition( + onTap: () async { + await _walletOptions.readLocalWallet(context, _repository, + _myWalletProvider.pinCode, _myWalletProvider.pinLenght); + Navigator.push( + context, + SmoothTransition( + page: WalletOptions( + wallet: _repository, + ))); + + // Navigator.push(context, + // MaterialPageRoute(builder: (context) { + // return UnlockingWallet(wallet: _repository); + // })); + }, + child: ClipRRect( + borderRadius: BorderRadius.all(Radius.circular(12)), + child: Column(children: [ + Expanded( + child: Container( + width: double.infinity, + height: double.infinity, + decoration: BoxDecoration( + gradient: RadialGradient( + radius: 1, + colors: [ + Colors.green[100], + Colors.green[500], + ], + )), + child: + // SvgPicture.asset('assets/chopp-gecko2.png', + // semanticsLabel: 'Gecko', height: 48), + Image.asset( + 'assets/chopp-gecko2.png', + ), + )), + ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + bottom: Radius.circular(12))), + // contentPadding: const EdgeInsets.only(left: 7.0), + tileColor: _repository.id()[1] == defaultWallet.id()[1] + ? orangeC + : Color(0xffFFD58D), + // leading: Text('IMAGE'), + + // subtitle: Text(_repository.split(':')[3], + // style: TextStyle(fontSize: 12.0, fontFamily: 'Monospace')), + title: Center( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 5), + child: Text(_repository.name, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 16.0, + color: _repository.id()[1] == + defaultWallet.id()[1] + ? Color(0xffF9F9F1) + : Colors.black)))), + // dense: true, + onTap: () { + Navigator.push( + context, + SmoothTransition( page: WalletOptions( - wallet: _repository, - ))); - - // Navigator.push(context, - // MaterialPageRoute(builder: (context) { - // return UnlockingWallet(wallet: _repository); - // })); - }, - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(12)), - child: Column(children: [ - Expanded( - child: Container( - width: double.infinity, - height: double.infinity, - decoration: BoxDecoration( - gradient: RadialGradient( - radius: 1, - colors: [ - Colors.green[100], - Colors.green[500], - ], - )), - child: - // SvgPicture.asset('assets/chopp-gecko2.png', - // semanticsLabel: 'Gecko', height: 48), - Image.asset( - 'assets/chopp-gecko2.png', + wallet: _repository, + ), ), - )), - ListTile( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical( - bottom: Radius.circular(12))), - // contentPadding: const EdgeInsets.only(left: 7.0), - tileColor: - _repository.id()[1] == defaultWallet.id()[1] - ? orangeC - : Color(0xffFFD58D), - // leading: Text('IMAGE'), - - // subtitle: Text(_repository.split(':')[3], - // style: TextStyle(fontSize: 12.0, fontFamily: 'Monospace')), - title: Center( - child: Padding( - padding: - EdgeInsets.symmetric(horizontal: 5), - child: Text(_repository.name, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 16.0, - color: _repository.id()[1] == - defaultWallet.id()[1] - ? Color(0xffF9F9F1) - : Colors.black)))), - // dense: true, - onTap: () { - Navigator.push( - context, - SmoothTransition( - page: WalletOptions( - wallet: _repository, - ))); - }, - ) - ])))) - ]); + ); + }, + ) + ]), + ), + ), + ), + addNewDerivation(context) + ]), + // SliverToBoxAdapter(child: Spacer()), + SliverPadding( + padding: EdgeInsets.symmetric(horizontal: 30), + sliver: SliverToBoxAdapter(child: chestOptions(context)), + ), + ]); } - Widget addNewDerivation(context, int _walletNbr) { + Widget addNewDerivation(context) { + return Padding( + padding: EdgeInsets.all(16), + child: ClipRRect( + borderRadius: BorderRadius.all(Radius.circular(12)), + child: Column(children: [ + Expanded( + child: InkWell( + key: Key('addDerivation'), + onTap: () { + showDialog( + context: context, + builder: (BuildContext context) { + return addNewDerivationPopup(context); + }); + }, + child: Container( + width: double.infinity, + height: double.infinity, + decoration: BoxDecoration(color: floattingYellow), + child: Center( + child: Text( + '+', + style: TextStyle( + fontSize: 150, + fontWeight: FontWeight.w700, + color: Color(0xFFFCB437)), + )), + )), + ) + ]))); + } + + Widget addNewDerivationPopup(context) { final TextEditingController _newDerivationName = TextEditingController(); MyWalletsProvider _myWalletProvider = Provider.of(context); diff --git a/pubspec.yaml b/pubspec.yaml index d6fbafd..b3ffe6a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -76,6 +76,7 @@ flutter: - images/ - config/gva_endpoints.json - assets/ + - assets/chests/ - assets/icon/ - assets/onBoarding/ - assets/onBoarding/progress_bar/ diff --git a/test_driver/app_test.dart b/test_driver/app_test.dart index 7bcf48b..c540836 100644 --- a/test_driver/app_test.dart +++ b/test_driver/app_test.dart @@ -370,16 +370,22 @@ void main() { await goBack(); await driver.waitFor(find.text('Renommage wallet 2')); await createDerivation('Derivation 8'); + await driver.scrollIntoView(find.text('+')); await createDerivation('Derivation 9'); await createDerivation('Derivation 10'); + await driver.scrollIntoView(find.text('+')); await createDerivation('Derivation 11'); await createDerivation('Derivation 12'); + await driver.scrollIntoView(find.text('+')); await createDerivation('Derivation 13'); await createDerivation('Derivation 14'); + await driver.scrollIntoView(find.text('+')); await createDerivation('Derivation 15'); await createDerivation('Derivation 16'); + await driver.scrollIntoView(find.text('+')); await createDerivation('Derivation 17'); await createDerivation('Derivation 18'); + await driver.scrollIntoView(find.text('+')); await createDerivation('Derivation 19'); await createDerivation('Derivation 20'); await sleep(400); From a417f9e0d389078720e7c9ad860b0832099e52d9 Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 11 Nov 2021 14:45:12 +0100 Subject: [PATCH 02/20] Improve walletHome view: Custom avatars and options buttons --- assets/avatars/0.png | Bin 0 -> 9453 bytes assets/avatars/1.png | Bin 0 -> 11941 bytes assets/avatars/2.png | Bin 0 -> 11431 bytes assets/chests/config.png | Bin 0 -> 7129 bytes assets/chests/miniChests.png | Bin 0 -> 5441 bytes lib/models/generateWallets.dart | 8 +- lib/models/myWallets.dart | 3 +- lib/models/walletData.dart | 8 +- lib/models/walletData.g.dart | 7 +- lib/models/walletOptions.dart | 2 +- lib/screens/myWallets/walletOptions.dart | 3 +- lib/screens/myWallets/walletsHome.dart | 291 ++++++++++++++++------- pubspec.lock | 14 ++ pubspec.yaml | 2 + 14 files changed, 241 insertions(+), 97 deletions(-) create mode 100755 assets/avatars/0.png create mode 100755 assets/avatars/1.png create mode 100755 assets/avatars/2.png create mode 100755 assets/chests/config.png create mode 100755 assets/chests/miniChests.png diff --git a/assets/avatars/0.png b/assets/avatars/0.png new file mode 100755 index 0000000000000000000000000000000000000000..c37955248205d6f9b1894967077db08d71913fe3 GIT binary patch literal 9453 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 literal 0 HcmV?d00001 diff --git a/assets/avatars/1.png b/assets/avatars/1.png new file mode 100755 index 0000000000000000000000000000000000000000..49023c9fb7e7ae97ab4dd5b1afe3da6a2d385202 GIT binary patch literal 11941 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 { number: fields[1] as int, name: fields[2] as String, derivation: fields[3] as int, + imageName: fields[4] as String, ); } @override void write(BinaryWriter writer, WalletData obj) { writer - ..writeByte(4) + ..writeByte(5) ..writeByte(0) ..write(obj.chest) ..writeByte(1) @@ -35,7 +36,9 @@ class WalletDataAdapter extends TypeAdapter { ..writeByte(2) ..write(obj.name) ..writeByte(3) - ..write(obj.derivation); + ..write(obj.derivation) + ..writeByte(4) + ..write(obj.imageName); } @override diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart index 147d9a6..81b14bb 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/walletOptions.dart @@ -130,7 +130,7 @@ class WalletOptionsProvider with ChangeNotifier { WalletData _walletTarget = myWalletClass.getWalletData(_walletID); _walletTarget.name = _newName; - await walletBox.putAt(_walletTarget.key, _walletTarget); + await walletBox.put(_walletTarget.key, _walletTarget); _newWalletName.text = ''; } diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index fdc633a..adc0884 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -107,7 +107,8 @@ class WalletOptions extends StatelessWidget { await _walletOptions.changeAvatar(); }, child: Image.asset( - 'assets/chopp-gecko2.png', + 'assets/avatars/${wallet.imageName}', + width: 110, )), InkWell( onTap: () async { diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index 0d5e69e..1de430f 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -9,6 +9,7 @@ import 'package:gecko/screens/myWallets/chooseChest.dart'; import 'package:gecko/screens/myWallets/walletOptions.dart'; import 'package:gecko/screens/onBoarding/0_noKeychainFound.dart'; import 'package:provider/provider.dart'; +import 'package:assorted_layout_widgets/assorted_layout_widgets.dart'; class WalletsHome extends StatelessWidget { final _derivationKey = GlobalKey(); @@ -57,9 +58,35 @@ class WalletsHome extends StatelessWidget { Widget chestOptions(BuildContext context) { return Column(children: [ + SizedBox(height: 50), SizedBox( - height: 90, - child: ElevatedButton( + height: 120, + width: 445, + child: ElevatedButton.icon( + icon: Image.asset( + 'assets/chests/config.png', + ), + style: ElevatedButton.styleFrom( + elevation: 2, + primary: floattingYellow, // background + onPrimary: Colors.black, // foreground + ), + onPressed: () => null, + label: Text( + " Paramétrer ce coffre", + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.w700, + color: Color(0xff8a3c0f), + ), + ), + )), + SizedBox(height: 30), + SizedBox( + height: 120, + width: 445, + child: ElevatedButton.icon( + icon: Image.asset('assets/chests/miniChests.png'), style: ElevatedButton.styleFrom( elevation: 2, primary: floattingYellow, // background @@ -71,11 +98,16 @@ class WalletsHome extends StatelessWidget { return ChooseChest(); }), ), - child: Text( - "Changer de coffre", - style: TextStyle(fontSize: 16), + label: Text( + " Changer de coffre", + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.w700, + color: Color(0xff8a3c0f), + ), ), - )) + )), + SizedBox(height: 30) ]); } @@ -105,6 +137,7 @@ class WalletsHome extends StatelessWidget { List _listWallets = _myWalletProvider.listWallets; return CustomScrollView(slivers: [ + SliverToBoxAdapter(child: SizedBox(height: 20)), SliverGrid.count( key: Key('listWallets'), crossAxisCount: 2, @@ -113,92 +146,112 @@ class WalletsHome extends StatelessWidget { mainAxisSpacing: 0, children: [ for (WalletData _repository in _listWallets) + // if (_repository.number.clamp(0, 2) == _repository.number) hasImage = true Padding( - padding: EdgeInsets.all(16), - child: GestureDetector( - onTap: () async { - await _walletOptions.readLocalWallet(context, _repository, - _myWalletProvider.pinCode, _myWalletProvider.pinLenght); - Navigator.push( - context, - SmoothTransition( - page: WalletOptions( - wallet: _repository, - ))); - - // Navigator.push(context, - // MaterialPageRoute(builder: (context) { - // return UnlockingWallet(wallet: _repository); - // })); - }, - child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(12)), - child: Column(children: [ - Expanded( - child: Container( - width: double.infinity, - height: double.infinity, - decoration: BoxDecoration( - gradient: RadialGradient( - radius: 1, - colors: [ - Colors.green[100], - Colors.green[500], - ], - )), - child: - // SvgPicture.asset('assets/chopp-gecko2.png', - // semanticsLabel: 'Gecko', height: 48), - Image.asset( - 'assets/chopp-gecko2.png', - ), - )), - ListTile( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical( - bottom: Radius.circular(12))), - // contentPadding: const EdgeInsets.only(left: 7.0), - tileColor: _repository.id()[1] == defaultWallet.id()[1] - ? orangeC - : Color(0xffFFD58D), - // leading: Text('IMAGE'), - - // subtitle: Text(_repository.split(':')[3], - // style: TextStyle(fontSize: 12.0, fontFamily: 'Monospace')), - title: Center( - child: Padding( - padding: EdgeInsets.symmetric(horizontal: 5), - child: Text(_repository.name, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 16.0, - color: _repository.id()[1] == - defaultWallet.id()[1] - ? Color(0xffF9F9F1) - : Colors.black)))), - // dense: true, - onTap: () { - Navigator.push( - context, - SmoothTransition( + padding: EdgeInsets.all(16), + child: GestureDetector( + onTap: () async { + await _walletOptions.readLocalWallet( + context, + _repository, + _myWalletProvider.pinCode, + _myWalletProvider.pinLenght); + Navigator.push( + context, + SmoothTransition( page: WalletOptions( - wallet: _repository, - ), + wallet: _repository, + ))); + + // Navigator.push(context, + // MaterialPageRoute(builder: (context) { + // return UnlockingWallet(wallet: _repository); + // })); + }, + child: ClipOvalShadow( + shadow: Shadow( + color: Colors.transparent, + offset: Offset(0, 0), + blurRadius: 5, + ), + clipper: CustomClipperOval(), + child: ClipRRect( + borderRadius: BorderRadius.all(Radius.circular(12)), + child: Column(children: [ + Expanded( + child: Container( + width: double.infinity, + height: double.infinity, + decoration: BoxDecoration( + gradient: RadialGradient( + radius: 0.6, + colors: [ + Colors.green[400], + Color(0xFFE7E7A6), + ], + )), + child: + // SvgPicture.asset('assets/chopp-gecko2.png', + // semanticsLabel: 'Gecko', height: 48), + Image.asset( + 'assets/avatars/${_repository.imageName}', + alignment: Alignment.bottomCenter, + scale: 0.5, ), - ); - }, - ) - ]), - ), - ), - ), - addNewDerivation(context) + )), + ListTile( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + bottom: Radius.circular(12))), + // contentPadding: const EdgeInsets.only(left: 7.0), + tileColor: + _repository.id()[1] == defaultWallet.id()[1] + ? orangeC + : Color(0xffFFD58D), + // leading: Text('IMAGE'), + + // subtitle: Text(_repository.split(':')[3], + // style: TextStyle(fontSize: 12.0, fontFamily: 'Monospace')), + title: Center( + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: 5), + child: Text(_repository.name, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 16.0, + color: _repository.id()[1] == + defaultWallet.id()[1] + ? Color(0xffF9F9F1) + : Colors.black)))), + // dense: true, + onTap: () { + Navigator.push( + context, + SmoothTransition( + page: WalletOptions( + wallet: _repository, + ), + ), + ); + }, + ) + ]), + ), + ), + )), + addNewDerivation(context), + // SizedBox(height: 1), + // Padding( + // padding: EdgeInsets.symmetric(horizontal: 35), + // child: Text( + // 'Ajouter un portefeuille', + // textAlign: TextAlign.center, + // style: TextStyle(fontSize: 18), + // )) ]), // SliverToBoxAdapter(child: Spacer()), - SliverPadding( - padding: EdgeInsets.symmetric(horizontal: 30), - sliver: SliverToBoxAdapter(child: chestOptions(context)), - ), + SliverToBoxAdapter(child: chestOptions(context)), ]); } @@ -231,7 +284,7 @@ class WalletsHome extends StatelessWidget { color: Color(0xFFFCB437)), )), )), - ) + ), ]))); } @@ -285,3 +338,65 @@ class WalletsHome extends StatelessWidget { ); } } + +// extension Range on num { +// bool isBetween(num from, num to) { +// return from < this && this < to; +// } +// } + +class CustomClipperOval extends CustomClipper { + @override + Rect getClip(Size size) { + return Rect.fromCircle( + center: new Offset(size.width / 2, size.width / 2), + radius: size.width / 2 + 3); + } + + @override + bool shouldReclip(CustomClipper oldClipper) { + return false; + } +} + +class ClipOvalShadow extends StatelessWidget { + final Shadow shadow; + final CustomClipper clipper; + final Widget child; + + ClipOvalShadow({ + @required this.shadow, + @required this.clipper, + @required this.child, + }); + + @override + Widget build(BuildContext context) { + return CustomPaint( + painter: _ClipOvalShadowPainter( + clipper: this.clipper, + shadow: this.shadow, + ), + child: ClipRect(child: child, clipper: this.clipper), + ); + } +} + +class _ClipOvalShadowPainter extends CustomPainter { + final Shadow shadow; + final CustomClipper clipper; + + _ClipOvalShadowPainter({@required this.shadow, @required this.clipper}); + + @override + void paint(Canvas canvas, Size size) { + var paint = shadow.toPaint(); + var clipRect = clipper.getClip(size).shift(Offset(0, 0)); + canvas.drawOval(clipRect, paint); + } + + @override + bool shouldRepaint(CustomPainter oldDelegate) { + return true; + } +} diff --git a/pubspec.lock b/pubspec.lock index ee51741..0f54e3b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,6 +29,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.3.0" + assorted_layout_widgets: + dependency: "direct main" + description: + name: assorted_layout_widgets + url: "https://pub.dartlang.org" + source: hosted + version: "5.2.1" async: dependency: transitive description: @@ -584,6 +591,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.12.10" + matrix4_transform: + dependency: transitive + description: + name: matrix4_transform + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" meta: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b3ffe6a..3d75118 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -53,6 +53,7 @@ dependencies: truncate: ^3.0.1 unorm_dart: ^0.2.0 xml: ^5.3.0 + assorted_layout_widgets: ^5.2.1 flutter_icons: android: "ic_launcher" @@ -76,6 +77,7 @@ flutter: - images/ - config/gva_endpoints.json - assets/ + - assets/avatars/ - assets/chests/ - assets/icon/ - assets/onBoarding/ From 6b146d7917fedf8aeac452743e191f91670921ee Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 11 Nov 2021 22:37:27 +0100 Subject: [PATCH 03/20] Fix: Show keyboard when renaming a wallet (thx Boris) --- lib/models/walletOptions.dart | 7 ++--- lib/screens/myWallets/walletOptions.dart | 37 ++++-------------------- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart index 81b14bb..5b0f832 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/walletOptions.dart @@ -125,7 +125,7 @@ class WalletOptionsProvider with ChangeNotifier { return _pinLenght; } - Future _renameWallet(List _walletID, _newName) async { + void _renameWallet(List _walletID, _newName) async { MyWalletsProvider myWalletClass = MyWalletsProvider(); WalletData _walletTarget = myWalletClass.getWalletData(_walletID); @@ -176,18 +176,17 @@ class WalletOptionsProvider with ChangeNotifier { ); } - Future editWalletName(List _wID) async { + bool editWalletName(List _wID) { bool nameState; if (isEditing) { if (!nameController.text.contains(':') && nameController.text.length <= 39) { - await _renameWallet(_wID, nameController.text); + _renameWallet(_wID, nameController.text); nameState = true; } else { nameState = false; } } else { - walletNameFocus.requestFocus(); nameState = true; } diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index adc0884..aca0df7 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -127,6 +127,7 @@ class WalletOptions extends StatelessWidget { width: 260, child: TextField( key: Key('walletName'), + autofocus: false, focusNode: _walletOptions.walletNameFocus, enabled: _walletOptions.isEditing, controller: _walletOptions.nameController, @@ -223,36 +224,11 @@ class WalletOptions extends StatelessWidget { InkWell( key: Key('renameWallet'), onTap: () async { - // _walletOptions.isEditing = true; - // _walletOptions.reloadBuild(); - // _walletOptions.walletNameFocus - // .requestFocus(); - _isNewNameValid = await _walletOptions + _isNewNameValid = _walletOptions .editWalletName(_walletOptions.walletID); - // .then((_) { - // _walletOptions.walletNameFocus - // .requestFocus(); - // _walletOptions.reloadBuild(); - // }); - - // .then( - // (_result) { - // if (_result == true) { - // WidgetsBinding.instance - // .addPostFrameCallback((_) { - // _myWalletProvider.listWallets = - // _myWalletProvider - // .readAllWallets( - // _currentChest); - // _myWalletProvider.rebuildWidget(); - // }); - // Navigator.popUntil( - // context, - // ModalRoute.withName('/mywallets'), - // ); - // } - // }, - // ); + await Future.delayed( + Duration(milliseconds: 30)); + _walletOptions.walletNameFocus.requestFocus(); }, child: ClipRRect( child: Image.asset( @@ -262,9 +238,6 @@ class WalletOptions extends StatelessWidget { width: 20, height: 20), )), - // Image.asset( - // 'assets/walletOptions/edit.png', - // ), SizedBox( height: 60, ) From 6bc09fa79a24bc3d424608aaae7f2236dae708e6 Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 11 Nov 2021 22:38:28 +0100 Subject: [PATCH 04/20] Improve chest screen --- assets/avatars/0.png | Bin 9453 -> 5715 bytes assets/avatars/1.png | Bin 11941 -> 6813 bytes assets/avatars/2.png | Bin 11431 -> 6791 bytes assets/avatars/trunc/0.png | Bin 0 -> 9453 bytes assets/avatars/trunc/1.png | Bin 0 -> 11941 bytes assets/avatars/trunc/2.png | Bin 0 -> 11431 bytes lib/models/history.dart | 4 -- lib/screens/myWallets/walletsHome.dart | 63 ++++++++++++++++++++----- 8 files changed, 50 insertions(+), 17 deletions(-) create mode 100755 assets/avatars/trunc/0.png create mode 100755 assets/avatars/trunc/1.png create mode 100755 assets/avatars/trunc/2.png diff --git a/assets/avatars/0.png b/assets/avatars/0.png index c37955248205d6f9b1894967077db08d71913fe3..452efff283e4353c46658ae50262fe4dad73759c 100755 GIT binary patch literal 5715 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 literal 9453 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 diff --git a/assets/avatars/1.png b/assets/avatars/1.png index 49023c9fb7e7ae97ab4dd5b1afe3da6a2d385202..26b5786e5a0c62c64ca86d268aececb7808821d0 100755 GIT binary patch literal 6813 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 LNkvXXu0mjf4-(F+ literal 11941 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 literal 0 HcmV?d00001 diff --git a/assets/avatars/trunc/1.png b/assets/avatars/trunc/1.png new file mode 100755 index 0000000000000000000000000000000000000000..49023c9fb7e7ae97ab4dd5b1afe3da6a2d385202 GIT binary patch literal 11941 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 @@ -146,7 +147,6 @@ class WalletsHome extends StatelessWidget { mainAxisSpacing: 0, children: [ for (WalletData _repository in _listWallets) - // if (_repository.number.clamp(0, 2) == _repository.number) hasImage = true Padding( padding: EdgeInsets.all(16), child: GestureDetector( @@ -199,6 +199,7 @@ class WalletsHome extends StatelessWidget { scale: 0.5, ), )), + // balanceBuilder(context, _walletOptions.pubkey.text), ListTile( shape: RoundedRectangleBorder( borderRadius: BorderRadius.vertical( @@ -213,17 +214,21 @@ class WalletsHome extends StatelessWidget { // subtitle: Text(_repository.split(':')[3], // style: TextStyle(fontSize: 12.0, fontFamily: 'Monospace')), title: Center( - child: Padding( - padding: - EdgeInsets.symmetric(horizontal: 5), - child: Text(_repository.name, - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 16.0, - color: _repository.id()[1] == - defaultWallet.id()[1] - ? Color(0xffF9F9F1) - : Colors.black)))), + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 5), + child: Text( + '${_repository.name}', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 17.0, + color: _repository.id()[1] == + defaultWallet.id()[1] + ? Color(0xffF9F9F1) + : Colors.black, + fontStyle: FontStyle.italic), + ), + ), + ), // dense: true, onTap: () { Navigator.push( @@ -255,6 +260,38 @@ class WalletsHome extends StatelessWidget { ]); } + Widget balanceBuilder(context, String _pubkey) { + return Query( + options: QueryOptions( + document: gql(getBalance), + variables: { + 'pubkey': _pubkey, + }, + // pollInterval: Duration(seconds: 1), + ), + builder: (QueryResult result, + {VoidCallback refetch, FetchMore fetchMore}) { + if (result.hasException) { + return Text(result.exception.toString()); + } + + if (result.isLoading) { + return Text('Loading'); + } + String wBalanceUD; + if (result.data['balance'] == null) { + wBalanceUD = '0.0'; + } else { + int wBalanceG1 = result.data['balance']['amount']; + int currentUD = result.data['currentUd']['amount']; + double wBalanceUDBrut = wBalanceG1 / currentUD; // .toString(); + wBalanceUD = + double.parse((wBalanceUDBrut).toStringAsFixed(2)).toString(); + } + return Text(wBalanceUD); + }); + } + Widget addNewDerivation(context) { return Padding( padding: EdgeInsets.all(16), From d6cc44f623c787e102e572fba12a51542c25cca2 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 12 Nov 2021 01:29:10 +0100 Subject: [PATCH 05/20] Change launcher icon, remove shadow --- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 6590 -> 5699 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 3902 -> 3722 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 9210 -> 7707 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 14914 -> 12066 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 20087 -> 16708 bytes assets/chests/vector.png | Bin 0 -> 331 bytes assets/icon/gecko_final.png | Bin 41489 -> 86516 bytes assets/icon/gecko_flat.png | Bin 0 -> 74272 bytes .../Icon-App-1024x1024@1x.png | Bin 235626 -> 179756 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 1292 -> 1555 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 3058 -> 3072 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 5209 -> 4731 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 2066 -> 2271 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 5022 -> 4568 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 8201 -> 6986 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 3058 -> 3072 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 7451 -> 6323 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 12012 -> 9891 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 12012 -> 9891 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 19115 -> 15482 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 7008 -> 6009 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 15495 -> 12849 bytes .../Icon-App-83.5x83.5@2x.png | Bin 17621 -> 14222 bytes pubspec.yaml | 4 ++-- 24 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 assets/chests/vector.png mode change 100644 => 100755 assets/icon/gecko_final.png create mode 100755 assets/icon/gecko_flat.png diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index 60901ac703136fd548dbaab7c1c88d5aef532662..8dae5e06ea768c2ee38981aafc97779fd089f1b3 100644 GIT binary patch literal 5699 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 literal 6590 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 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index a15ff51602ad21253f5941df020589972ba91f0a..5966d5e8a68b91799fa40135c3fb7c69a18e591b 100644 GIT binary patch literal 3722 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 z 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

r`4M$5F?#B9$W@&sSw1}lG%fC3h1MbwiqpYf) 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 Qa{vGU07*qoM6N<$g73>9#sB~S diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 46d85b582191ead5ac9be3a3816be3ded2659133..51afdd65b51bdec69d5400f21c6967f68b64a88a 100644 GIT binary patch literal 12066 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�+Bfb-yWMW+NJOa#AKW8mt+ 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 A6aWAK diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 66209346111a5f21b80e2d69bbb164c0a5e409cf..4868adcb3b656b5bfa62bcf3139409355de26223 100644 GIT binary patch literal 16708 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 literal 20087 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 eu`fSBbND~?ViyLP5%5<40000 z9OUlAu8-`=o0KVkX#;zno9f;{V8j literal 0 HcmV?d00001 diff --git a/assets/icon/gecko_final.png b/assets/icon/gecko_final.png old mode 100644 new mode 100755 index e76f04911ab73074aff671f479e3e83b5cdffea2..553d314031f7cb8d935012147076b714d1dbb34d GIT binary patch literal 86516 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�kbGu+qNkL1Enf+H>frf$lOJHL&feKE(@S7S< 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 literal 41489 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 diff --git a/assets/icon/gecko_flat.png b/assets/icon/gecko_flat.png new file mode 100755 index 0000000000000000000000000000000000000000..54804fc1203393b6326deed0b8eb409013af2765 GIT binary patch literal 74272 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�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�iQRoTLgo+=!}%D!^DD2y|JVpFVfTbB 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ⓈC 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 literal 235626 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 -nJEu!uv>P|;aV7)2s2u;x9u`nzc&oZ6; zLGDwj1<8{|>l%HFXNTJplCM2wc65!N3~<$6OHlPcF=4=K<+HmK^>~ z3)acdI|`3J6@@dy%&tWlny8WVg>#y2`e3(1O=gx!?`*btZ~2Cem@(+Ul*>p;1!FlY zTZgdp-k$bk293(E#BU|z*#Y-5*6cq_k`*c(8Qz+IXcxx2LP}un(#rQBEF0HTgNs^a zq#g4q-ng;=-8>zE%C?!H+|shpfKmo|wos)NPh*CbmEO^D!-oPmB%)bxl#J+pp9~K%==s1mH5yLr^}dNBgVN( zd+!S$IB0pQV!z>Vc2U>UZA$ z>CA93%fHi49QQ<+rHyNb_Mi(<2t3Fw$KQ|#?nm!J5P2A8Y97jk%XwLH!g}P)kW?A) z5=CZhfW&?>FK1ck`20xvNR?=TA2vnRP1QWe>7?~r=3-ukuslYzr|@*E*H7=rWD zlY6o}5MV@7BqN@2YQf%yhKzx>`MiX&NQq^6p4%ii#@S=nve8Ue3ra#(##+L*&Yo_x zeYrDL<=m_=St(myQfJV`IrX4WG7Cho+jIzW8-J0cu`4wzQXYQ%Y60GUkar2aQ^9-L zrMWeK?YfSH%2ZQWp|>Vaq#1yC!0!vIJ)^ud`(hCh50$qwm329?)NFjVlDzTeN~tmB&eQC0G7dm#w2vQ2kyW%oZy ze7Sfx+Ms9rbYH3SfXdEcu{8AyxQ&fQ3h^e)YREQ_3b*Ba zmwyn%CKP$=L@PGBXPFu^$Y~@{tf6*4JBm|fb&X}QbJXi|#Sq0{77s6^{Jwz3Vb@bV zv!H-T-uu9Ux-;vCSmX!|E8kJ?-@gjdlNZAYa}#dDr*&&gf5i!ny5D!^5r1w+BJiCb z&|k3MRxkYoS+dJs-d;v(-~t}(|bhM=z^MD(&UMd+{T=H=`icG+rRAp!Ir$M;-MRP?_mN$>NHP!h5nKDLQK#~3_cbm8OFUYu+ zNA~#F^`p_lW&T6YpmXcjYn>gRd>BQVYwqBDVkSDYT_5NgmXZcMRG;Po3x>_*bM!Sc zKsQl|cBw>rzxOu2Gq+lP@Z?J-fr0wQm7~2eM2`U}@ktmp*gdCmcL$aEulN>z(pMp9 z-IkmT#Fv_~uTK2y4&P;o!U%6jh=6GI%{eELESYHXLmpAKh@NpZwGo3?aKS@ey&y94l@ACF{Cko+qUSl=#7&h-Dg1L zc#y5n3)mC?-(N`sB5WphuM;*N?b$e>M2HbG8!XD_ZqXef>7HB(xKhSEq_QA}1(rdA`)F;7X+DM>7Oq!ZWAyxYP*?n~ z;#!JYyQ&FH`CeFo4BxCBXYlYQ!GB!EKDD3q+Ot5^TA#J$C>WTlfxuUIwFrN1rq@dXC=XwyWNqoA zU`t`#hP1R~`Rv&u*yx0?U+;BV;KAp3^tfsb^@mC0($JZZ)D)HKZm505+~>(9D~(Vv zu%&9YRRp}UW=Zq3SJO@oyO{zY7;&U0>U!a=q1;5KZ;8Y}Nhu6j=z>Woj2pme)&t$b zEF%~IdE6Py^fH7y6X4p7yAg1Nd$xP4uk80`P9;i|^`z5?27^$)B`RGCV|Jho805Se zAfMmOS3pP?Nee9^JSSxojpZ(cFqy6yg#6N)*4!@y)ti^9I=Xv;a^ew(W z@iYc{mW+&?$Q6}sl^C`7RjV)|?`b0*->pPD`DC9=a#qcJV>WGt_lK1qhmPUE7i2CI zC?VWx!PTJ^i6jNug9#&!;NtuS7AS_C@oH~s{*>A*T|<-lxh;q*zcb5azQtf(^Q>NA zsy-#P#BjRkxHEy2jO?%i?SVx4Ht6wu3VoCF@Eg0YubD!xa3Gau#wyZcGtSGYUxMX7 zykK}=<2@v09y~E;+xj=%v?hf0@8;L{cg5@?3WFjTbR>fGyEUF89by{7;|Cz2z;Ux9Emh zxe=KfEbgQ1Xxx}QU2#uBq%d0Du-zqTGM%{!n@wO%xd z9ZwZ2y-ur}l-MCo81o8waU}d3N2FSL8O}(h{uI|I26U84fq>0O7}2P&7{dyD7Tc)7 z9YUqu!RCe1m(4jXub!k9$Qx1L`av!`Q2B0k<~u7XeY`*LXcf?_DB<8Y%e|49(KJN3 z%(nPs{U;hr`TZh4h8z~T$0j)hI@G%|OJcZq0V|9a@_Bl5XR)?yjpFkuDxCMZ z91Tu&l&Ta9xYv)?f~I0DJn)8Iki)Xk|3*yODO?#a}@ni-|qV=643#k!W(MLz;u@c+`R3Q zdBr%pv<|4ii6-v{TguX(d3(A$6`agg;wR?4|0qhdh7-&}LJg0EBNA>$e&pJLT7Z^l z1=#UI9xY`hgrIqqfIKsx!z03@~Frpc2D~o*{dIH4^^q%-h-SyB4D~ggm+SWt=o3f71SL@M)rA zCoSCWe6s6fBY2{$esJoz^2aP$A7ZF@TPp-7**=ICcT}NgXbQNKtS_Ur?y7jr3pTv} zP8W7+)QZ`Sn7JR-*%Iz~G<|O~_1x^5nGb3=~@4QFd2;*8V!Q*Ji{&p(ylkuu)Tl6(S6raLEgE6hRV|!$E-Z^(cNC? zcDLWJ)cag;WSzCNJR5;%Nbc@m=0HH(;}hfKs;6z`U0df?Y?3!qs9ERf+m$ZMybhOk zT92ANn_a6aZ43(5z+7G>cP%T*@F?pGHd>ZcbVuplEmB=(!U3!qoRIFhHXm!_7a+_= za@Tj#O&q(qtCgz^d9qPV?i7T;jBQ5?@?D1w)y(=0-LT;-8lt*XM7O#sxs@F}H+d9C zxY(S)X+!zS;bRN2?s+fS&w-U;pl7=cJe2yn^E=QAKw&Lh_1;DqnxmvjfhJ`S~5Qg!7PZuOg> z<;LB%uIm16ghM2e4CNI_*@bd@8EZ6eq;NG@JBFy z)@@aq`~pG5wyN4~Y%cb6R+SrG&dkZrh)T$;Qw6>@D13~{Oaz^++JrzDLA}uT-V*BN zUa=*X&xcTnA~hd8{?@pbrTY}sHqKT+Obs5NJPYv0@=a$gaCRI!Kw_d?}0YXk!RJm}q`Y#mEi>7HxJJe(mqR~oENS(sut(M3H2 z;>u~b!~$NmK`?FJl-HPzKL6~##X@pZ{gw($2Cd*YC|nek`5&{voMVR%dV#3I+C24* z_a`X`L)R`Cieclz&y1E(2hH3AA0ANHht>2FJ^L?7?p;(*^n+mTwxl`)fs}91z|l^L z$i2Z~zoDEt?NtuQh_IJnG~fY8&=U=*Z$;%zPAv2OxP2483Y0Itf{?N(YItI z#zMm2$e~C@2Y@M$^oRA45?OrMV6O~NLI!jKy6NBiF6e2t2x4S6ag@%0Iv+TE2M(1A z7ut6xy3b5H5=%4X*)ij!?a{O!fS6LxU7K$YCzR?q(E1+sDOC-)9uJ-)nijL9t0L)f zpHk5U%joa6gzrmAzqZl$#0Zc2G*oPF515JGZ!fsTpD*Y=mZVY!qXOP=_3P|0%fce& zIOl#>Kj~wMA%#v@U!8Bo$WN;IijLfeDg*vAHv+2%T#JUpFEvC|<+9|4_ay>e8umwv zmB@hsfUVV=X~>!Ew;*FpXv#UdE+ydR^O|cw4^=np9yxTo6q<~c^Aqm&YiAFfqXVP2 zHDwuDZEmvIo4IRfyMZa^#kH15PQvKP6v!zSkTMY0mQeB!;)wWvpE?iUSIhv_337m9 zkZa(mBCdU2B-(q^QDjQQt|_erXkjw1NW~nFjlI78ZW}MM36I(M>E2KT99o@o3(V-u z-Z~?RNd%A)JKtlb*pm3jl6E70UqX-BgZtKf4_rp2PFGU4Dy}8Obqj|h$YRMfX@nyN zfBqy!XbhgG-ULRBX`G|(k+y1Qa=w*+$+;_~RE8`ASftU;>d79z0C43!@Y=OUMta`1)oce#MsXMfw}#DRXDDo&ZwfK$!XR(MOEkJ3?tMFqXJn zXqa2`IsS*DDG?KXEi|;Qo)SC_(W)<|pDP~@F#wl;pv>?2R>|Rm*L3TC9_OpxR0d*x zYIZZ5z4=AAPr9j5th6C=-DM)~?)YFl<4kJhwS=VZ15j@{Kv+ASG8T(a@Wfo8N1Qn{ z6UAuh0qH5SAt@q}x|ZlNTasPZ$8DgKo8Hw|f%9CFdH5)=ul%&w$g%gK1*H`?obOqL z(NWfStl{@P!)YB2Twjo{{6SVeDe?;my2qOQJvjYQ*8^^kcM|}wJc)XAzlt!s-vsTh z-`^db)AyAKApfT!1L4sxj4e4dBojE&Yc9=nL4=%K z|L>RgNo|czu#-iWw-k^?tTqHOy4VEA8j@_mtme>tLv-S**{@yLw;4Xzdw$#y92V-A zyxG}K;$LBJJ|Mb3_bp=`e;)8*eF5tPAA8XBG@d9w9DV&uXY;gRb1c^I9zI;+sQBqo zmYodp5igWlM_gH%aRRqz0AlQAj15W1)(8g-0rRJFI~d^i_+gJnc3(y&(QJX~DudEQ z``RFxzdXI7(%lNe^37$=Mxk_KjNUylE@hzcF;Q;&HCw6mgW-kKj|g~n>zfgWvrR6t zSmF}F>S?9AAv``W^SP4OWv0b&D@t|D9-jwgLxfhKgRYiB(YzK)U<1En)2g2XoXRU8 zVB9E>F(Ea{NKCtttdS=HHl~eejvX=tRV0rwM9W7?mUdKuLKA$}M|yQcH}&y|<3b)^ z+RNMBVw}1B-}!(2$HdSx(7)zs;=ZYBME@z24)a?jeL>1jrWG!tPPz61PBsiDGY7!P zuO{&IN7p&K8}(PiHa>r|W?3o*g+1=g?uejnE}@(x6(KY||&Mw2Q3rW%jU%rO}w zq)?F$smqB6zGm_l&+!FsSv`|zT0ELe*1(67meg8qPG6>n5#R`|mYeNZ_IC0Jadu-F@%1X2H^=66!co$u2i0{-BMvDtOeW1D`8JHzUB^{{!AQ6#_s&7pj3{@ zCHwe#{~T)Hms`d5yw^sOM^i<>5yN$t%~qDn!5F6efs@T~;SB2^{#WJb1>tgXa&YcV zn)!~v%Yr{TU)QpRRXJo<5tvkLQd6dUOH4jCDT#R< zul8#6(W}d=KDRD)-)n<4 z4iVm#qNYYW%fJ6h9A;N?$V3iu0aTbJHPu9UftXabMvcM#Q-@kUWCP`sFUkOoBnkA3 z4u33lNzKxUX@i1zTd{f5S!7pA;#%40xui4uDc1uy58dmJj2+FdA;=C;r5sw~<;kIg z0LYXCHEYHcx&YAKQPfuJJN^`eurc^~Q8e}}MfYkUqBLHw2I0340E*4b>j z;(TWd6t(-QL=1Y-_x${FiAZIFB%^*`Fh6BFyxtzOz1U4dOa!p1zS1t$?YrX%%`Ig^ zfWetdvrz{nG=#Y}aL~hUuJU5WnU<8wlj7y2Ii=svnk`iAY&yfpNJC9KAmFs?hT8XZORgPc5701Hv-k>HTyDa1YT zZ-G0sLxqDU#)dRxi+@VdE)y8}l=kpdMvd=P=S^cE5E(;*$DN&dsc+Xr4CN ziM&1vNs%Ifz+q1UzNX}-SY#M5Xb|Q{em~+N&Nci14$AHTL2Ua&hu)LKRews&-Gi+{ z3ox1px6cC8ptuTx(J$X8Z5bo41FcHskQ5SxM<;ku8+?z2c><*yK4sLo97Ge& z1JIsltwT#;!OO+8dc#87BzKljnzkYPHX6Z3WZ$mJK|)4b8rkxG5l|MaMq^+d%{)6O z`D#@=ywu6Vym9-*h4A3dC3Ww`=1F?YL3!GbEE704$XA#EWOFjpcG4bO-!j!6BT`L* zhV-%Vdl7Zq+{pw$v25>M*9wk+8;@*h#!oQF@X;D7=GkZpjSN#RZHe z&u>+(2-*=Mg1ya0r~rCOCZaYn|Lw;iEN8^`136_rtrnX!a8VqJ2GLG{JSGfVSagnFnL5B-bWWD?vy8@R!a{#J`)Hi=W0WQH zIaR~#u`te*;U!aN^OE9$J$@W)J5)$87{l@T7>cc$WdDOt;J8ac5#^)4(F>k<*z9FH z`+o7o5+__+ULWabtXg1!snIFR1WJ1$Uv$)$$dMzS^Vs}$MTNbFvVR9)`OSGrr?tfR zrfWQP0LZ$8yso^?MTwvQElQpzB`MJox8-UgvT-mHg{Y4V!P*3HO)K219mC^S=i~?{ z-wf6N{)qhp#v4=*f^3$!B?wwz!ntaBGt-4wSK~4%iG}~1+S0SX8Dmhqdi>DmPVmio zDk=b>S2ei1~=8*?(6CLQ)P%Z7QL?CHqTyJ)QeSAp}xY z#fEqXM?#kmf@<)?57y4s>#t-pPM3uh8XfZT3bx}PYwon~0%T=gbj|ohD$I!{B*oZT zgb1-rr^shZjv>+f-|vFM5~Y2gB6G`QubH7{wPW7|>d2Gn$p9#3`^%1%YTpImCLR>zGZkfzTGB zOm|kyLjbSphFkULdv}u$|9u2f=8Hk*wfCaGf>dB}dbY=)wN-))lQ%t?0@N zrwc4(_oKM?L9Jdt+R}h?Db%ZW$dI1k6xaOo`?=Iwvh>LP^a`BV`qB`K26(KNbh$}< zJtP~ovpqpjE~k_~5pOX4`>>d%Z}MdDBl9i?s=r&Q!$(ToNqbR6_+|8YU43cY!jD>+ zuO?w5WI>OU=`e_ThI@`b^CpOS=?J;|41Doo%(bK#8U=7y4MAvXFTwMEb35K1pR;dP zm>G7icK-M#>{)=YP@g?MMZI6?N9dcRahzD$6hXBUJu!}BIG8`|%qd`t+WybqSY10r z9p@Bt1Q+SZ>4_3+CAxS(0o8EdbNgS{i{h3wER%QGUmD@UIj?pP(HE^ppOYT%Dd@k9 z^`hE$U{U^Xm&Y|d9y&yKiT=DOrfE{}?kJS&d$%Ugy{;xJ3vxZ>thPZfte7tuGLQxsTI4sG>y07D_Hpz(6k zQD+*OHhrq6<@54AdgV2k5fz$ZeEB_#bF=^?LZ@;3L`tF9Z+Tk@r_bE~8kG|YCU8GI zz+BD>R9uExUD!l%0`@{(sc0Tva9e}+QQoZ#7;;hMwvL`S3D28KJ^*Q_jLCPd8dU{o$u8OhGIGp@27LJKgdBo7TIImD{0XYpVdOuleVgX@L-v(J zJCs;47e2pjyG*JDrTS*Z$2x?~=@nlqt2s)=L^3wKqBEa3Tq7C+9>^=z-}w9Q9Lx@0 z5q_U%HC~R*;Y`{j#il`QdY3w|zp> zCKM_bK1RCYAGs3fh?H&~ zOQf6P+UxcW!HJhy@tsPl;pY(r=f!e!WC_9FtN*iU8WNz4t(75Lobyz1ib_9&VYc_! zsVad;eNqz@9Q$+GY&j^2a#&DM&|_g~XECVYd|d9V-r9Q}y@LgdKKkfDo`YpQ9S-Yp zq5w-K^fPHetnf2s+7`n28DoeNUU33E&WI^isY}Q$ruIG(Jdx+33-@+mr>2De_BH9K z9NUjC{%vG!);YQ5u7fg-1uf}X0|!d|=O|zP_!S8F7>UU%qq}%LI)a@oKJC+K*6+IH zjR?=8(^6S}`#Yp!Ahg;7M1UMn_>z+G@&{&>ShTMMj0WN6{kwfhapcha1fthGUA>%n z{2s()%;vG1I#kxbtkX^KHgz`ctqB$q(kS`y7V)QyY*oqBo$y`y5MBsb8PV;#zx~$g zZhpQ2u&(vXw3YuBt_YkVGKV9?5Ui{n*kT)sKm>K|&F8;8-PhdN#|(F;c1J<7fI5Z= z{Ua08*y!+e9oO$S0n$&}3LBXTH;#LVT`RE6dN>JxEVDjNVlkJC*O5~go?WHwOT+r| z$YCw)U)bjhb#|7*UzW6L@CRV>9guHV014hr(?Vl>Dkx@h z`HT3LP*l*E$>e0$I>Ns$n>}1VZPpq3QZv}6-?ek_pX)T6uUwEaXyhLM)lisOkS9~g z{#P$p1a&#M>Fh+;Vnl*r;7x(pUaI{gu+P0mv}AuXi|!}uuME;ncKH7#Jy16RzdG;Fm+V9%_ct@+q+2ig@Oe5z~Xg>a^av@0rHnwuBCiwYP(vqg8}I+L<+5b>?_8s%_&9@^?lJk!XlD(m_Bwd%uH`5Rsz+=Qa<&Tv0ZECjnNo6z%yo%zhe$o+xP@=*sO z>PGir;C3nx|K|C#%HgXIIm3YwyJv)S?ijxGlAh{D{m7QHOdg^ZYrk=8vtO*m!X+8; zX7`of$!gt7^@n$~w_xKNH&>=6o}(|L4eNh>-3cFfKr7tBYO;v`9FH*@Xx3pOe7-VS zLS^oqubjUWEN+gDm#d0?+iYw$~6F6 zTpY8YrIg{cEI)(2l^L)(p*aMrsTb?*ZgFdq9a4-s6&!qg5iyy#$o*aD@W~nC!O`TFg5I9 z0DNH-S`lIgz>Cz3FCJQFlplq+(|q%)a&w<>bw_Qs&FuuuoOr&7!offPHuHB^?^f6D zI8aHDzOv%GP_udERwMd`xQ-9-*bOY3bw@4cP*Z|CNmArWY$AToXzN#M8CzaB5x97o z@9htK9s7j^wa=&qT&_0tE)(Xnn&iOPurhGt)#;b_>kn$^e-%^swjK>O>uBP-?(pYZ z0f1yJR!2)S*6ERRD;2QDb9B{|fiQq6_;8vV{eT;YtPJo~^Ay{(+e1V4hKW8s1h@iG zKWG4g$C>Mu^C|Bpt&K^;UWV=YHmb48Z2^s6XU-Z_*YqBEEt1>IX`5XKzz!DLJ-d^x zS(_80Zn{wa&Mt5^Wp&_$e5dRN;0{K^N(RXXb~a`+*^{3Ue2l?o35d@7anJqTTVim& zJ=GhBT9v0-v$%z$wI9vydtZI#TEBa#l5OjTD8WRFCpY7-d~Y}OXMMz;!3O)>h!@U| zZj%h(q;j_)3iJsnqZM#}5Wn-oMC-|E2F__s>*0W>7$p_p>ek;no zQ_MdoyhDZP2hq^11l>JA>knr0TpD%l^9o+akw7DN=V-s}^PTf~`x|=Q^$*~**A$!4 zj&n_82aC0dAESk<&R)J{Gchu9Ir?HMBZ&RZ7+V~ICXW@|;10Vi7{^z(omF-y5mL-m zk%4DQ8*i2xuNI;pZ4bOmo$vyg`S+FI4nOq1b`bL4Lf8x#5O;-%R-+B?NI-t7+|UF2 zm}pV!c6FozVI{N_=(YGsdltyp*~2aRmYfuG5wUfbmyHS{IH^6BB5y+8i_`W?P1z;*e=^zB|%zZF+{AvzU*U^ZW ze?SLwM3u~55`VM*VsG|!d6H8?a{e_dNBratgILsS8EonzAsuV@OF9}|0Y?`O`4+lB zC7_5@?3wctCrX#Sf4}o$#O0U z2-fxBVU6iOO!6(nL#V1I9b75y?n69Fef!SE#{Emom-X9$()t(6Z?jDQ)m-(Ry`z$AYs8ymdTLl`dFTusaTX?LO?X&< zPd3|C{v-?H^Rlt)>rrX9wv|FxaY?JMX6Ej7+N!~CKv)3|E)W+#CC7&Rif&Hy{(ZNq zNdoePk@)FkXDZO^xc!PD0;=2ftaY$C*nyEhGfwJONxFFBzeU6FNpJU}epzYB84-JD zD)eRT#U!P({u%GBWQrA{%`@<*_#XyvJiixLS}4MBSAk*woQD_J;KlaGkSPR;kfixg zZS{;0Tqql1M8qvfkt4##_?$AIi&FWG^_WcZyl|~?6WU^Cqti{XVf-|jbN=!ofFyAM*@K^XHNhN0L%jL<=^j%}bd4NSiKsOa|wIeC`O5mksL?-@go?W=CO$II;sU~%;2Vnju5S91^NL%6DUPygfA(=bz)W1ZIZ zqgU^**No7NIS_Z3mX+369uQomR?tM`9H?w8XZVoW+Z)F5B+Br#8^wbTH#oAkJlETA z*bKhdOS9ccF;TVrqmUIa=(XOub9T5#`SD849Uml#HVLozZDceC;ln@c;K$Ug;|w`| zD*L)Ff)`9VP?-dyMwKH^`FOAoIps$YQ9-347BHIj`4*re91$u*XrMzX2pPC2SJ>NJ zdJphMudr302mgAj>ClYMdF44EO6VP)4lN8~jpj{_G(HRn_^waaLG;k}$*s)kdg}ip z=_(wWexLtFcXziUtx^gM5Cj2fNo8~+2-2|u(juV(iZVh3>24Se(nxoAH)HkN=llB$ zw&(ra-RpI)yXOvOd+Yc(D^)QQ zG&Z4!F0r@1l_)07rdZi=vCYRX+_8M|62NG6d104J3zg+^p2A;s1Bm*g<5gDwC1S?S z7jlQUu0JV2D*hQ&N;fOzvrh4r{f{rX7C@wOT9LDZcD~FmelqU-zaJ8+oVyKTKRkI$5bnr ziJt4aiS(x$8uyM;$I7V3P8*&vVuv!5lq*4RU#tGAFlCnDqr@BUhMVNTV;KOvJ0O!; zxCsW{P*%(7;clM#Pt;I1P+aT!Ylkx*>+^2nJJ1R3?}|FJN`+;GIRI?tUa7%Lz`GSK zSG?1{Ke^z=YmLC9w0el3>{f-{vENI%J4j%qle;Ts=|lmHMJ+ewIvI+QNI!p|rOXV%dD$_XqIkBL4s`6RfyrYl5BG%7fo-M}y?ks$w;YhRJ9uvQR9g5LZZi-Ybx5q5V!f5(Cq@$E zyzUL3d_uF_pGd;7Ls83R>TErE*R39rVu-q*zmcsuE3nXAXGMrrHo`)s} zUK<)a3v4Uc7LOq3#on;i7JViWG55Vwy6_ zMHYxCh>N+%er+@!L#x)pi#y+^ad)+#Fe0rRVmCYrozhn?0lwfG2BP1%S$zGu}W0`{1!wI5UzZ(0ceD(e=HiOYO}(^2h1 zphse)&93L~*8e>CC3r6);tz?fPx}vHu5w7nu^AicP|I|%(M|CUc!`zcgd^jc$meFN z(d_XV_rMLa1+s?@YavV8)Mwbzq#(J6u82E(;2BIj+bI5lJFP^58xLhootIzY z{i}Xp6>y#_Lue1+VIVVOG|U%*YE&hbn&XcCS`ij7@o|b$`5;4I41oB3Ld^!OQEkjs zCwBf#LGlLgOJWvp@ewnmVZ3Vd{1ZIj*L-DpS^rPCU~R+{;g~_Qa>Q)S?p2V0;P*3B z$Acb#eR7UMfGX;3hc@D_HOvk)1~_P=R2i!>Q>2aq%H<1qMVk>R)dPQ? z4^g&6xlOUeG7(n%6TD<3DX*Naj5x~>$hQ;_LJeMjeWpjKANLZEl$DP_gd*dMW5@94 znXl{6;u6yAs#I|x>RpS!Qm!=5aa@ozp)z+3s){%&NaGbZNl`y@BEaG~5c7zl;RZVX zlxYbAN51LmZr?rJgPffo=cIp{4tpvspR?>dRxMysM2_=i79lxsSQFC)Ic~HxHD$%$ z@;o2l$)zPRaQlPQ_-pr<*4~|Kc;fZ={`O}e2kONNdYvE+kXanP-mA|$IP(U&zEenF zcse638M=YXm7-y2bd>POhD7{9;c|cwW-BfO#B$F4V5H#H9*h*CR(?4Oajfye#!8h9 zbA!N}^@v!2bzlelw-qFMBs-nVH9_CE!tp=y>KjP`P-79E`y+SS``Nj97H?tp@Oj8D zlTE0}K7ikt99l}Ocw@Vud?klzO|2Nd*2uimP$PNWs#r5CZ|xC`OsX#dA(KYA=igX* zNy`6yO?Zc<>Hht@$)0>!!60cm>&0vM(+_**1*v(MKzgqbX8kPo6OjeWi{+8OE>=?7gmsW# zN#X}YxU9r$To==EvazgG3Yy#ZG_mYmxv3Y~jl<+V|3WAi1Qk1kD2u)D-uN&yzEh>op@{nTuv1 z%axDk7v;y#GL8Jdd)6jW_)(6?6*w`ghmQu2)_R|_S_!v^W#7N6wLtgGOOPVFog*ub zR#&QD7h=6_uogb>La@!p(C-5If-icm7LqNW;}Xd24_N~rgb*b{P|>f7;^mJ)N_|{B z#Zm-nkMIC%Twz(x8$k8kFf(n^d>`T~4i zM%HmDWv%5yF$8W1BtoeyohOzuqBcADI?g*}P7d0ZVlF6{?L*P9D5UpKN7-AIhqFC< zO8-kNS@WZZ>0sP2b_ZgwO59zEUn}l^NrOmm6!os5^ZSRj;%@Tky7^yt-K}3B^Yj0* zB4>Y&oTY)@xO-v{p5@ep)Z+}Z9ibL{N?+*O$-_pF>N)b{{H%qj>7W$2rx#B?FG#y}4f4qiTs5AfKf8nUQ13U76Q_UNbs zP05g$+0GU$Yza8>80a(7-u5_wR_|E67mQhbVV`e#{|4vSEK{Bx4=#`)VFh-76}^uw zZVIqo=hLfm2cZeE6lb{H(SVEYD5!Nr!V`gB%YqEsLSE;<3wP+P5N@mX9%lSW9CL2vpq+X#4J84IJHarrp|L8VkO5E>gN_=pt=4yNEtpO<{bitWs_sYLh1W z8$?P)%-Xkv)G&#sGaH!@6FuKqy+VAQhMv6s0;xFvTu~>P%%ogGfpF`N0pn9DhNnR& znAFdfHm+_vM1pZUpYZUbUeTy6X84O?MkH0fPd7N&ilZba5?xhmn#jLOwNY@ z8Y$9Ag8uHhRtHHTmi#|$e-jHy+sh@=A73%GtNdwEUE6onrK2hx?tY|I+4>dF0=XN>vP@gp%200pDrlI*fC)8|#h0r1oZH z%y5g1;shd#D9o+=B02yyqj(70LhXFn;!WY=>&6Et=EO0kfL~>Q=xa(>_=oD|IJj+^ zmIgw%i~zZ{w3}UURW67)ow791?g!t}nh0ki;?hymwB|STRK>${PvI4EVb*=qbNE+1 z#I6J0u12Dc)3@KJ=y+sVRJvI|k3;9HILxdb+WgyZ|5p5Fm$R;O?R-PEnCgWPX^Hy9 zv4?W*i#Fb|av2I=HYFSUGJky7W4xamP}8h|0-?;xRt08Ikgr767kIlEt1(>^j|^M+ z%uYs@k8a(SuJ4L7mum<%A??h~Kbn)|W;em+%JvC>{2)E5O|;E7mF{}fkQ6YiE=t34 z#Ghfyw+-If4TGPj2Oz^rMQZ+0jIP6SDCC0A7?)nORc^pJx1FvK}MNIPW6f zFf;MTQ`)KyJ#qg}Iu^`ISlmpY=>qO@Ig^acx(WNo`ut`Qvjn@8LH7CPryDcZd>!uX z3n!tJeW}b`Fx+~ARZqQx)4VRaI%Zt@lO<1l`bQKsDucg7f71(_ZDjOp(@(0`Jyg>& zR7Hs=^KhvMOqcvUs$D+fK<>*Hd=Juv%*o3?etXgQ+DfV$#yp&RODtz_a-m(MPrZdq z=mfv{;0Mi>vdRC7=_tLB$F6?bz}OF8nb{rSiQLwszXff6*?K#vLD&6Vg$S_TCYkZE z-&z{zm(J&Q!1T9zx7TZsCxi=E=p4vZr%@yCNJ^v2zLFgC>5KXZDEVqLMw0!CUl~Qg zSZWesF~bqG(mfQh;kuDM*tl64Hud;0`1-GIQmKt>Z4}i((--g3qPa4^S>4OFQY_{~06L6vzm2Q%`E!fPdoT5RiCHKgbrsa}o-XPZq*jBqn9d>5?^} zdmY2eoA8b>7BRqbRI9+fZ~9h0qGZ9d;ig%CUb%|sr_rmFfJ7IUchVPSkn8U)N9|{} zGDC+8#B1x9-@>d3b!!RaB!1y;&KZuXzT(wCl^C+bRXS@wgw?3iEf+8zb3gf1d`bOb zwAD5Wt&#aT&dvZnz=E{3{hR#*vfdFx0qB&0+Uv%q7WWD z4-df%XZtcRZ28AO9(Z#s%%s^_k>DL}svsLnML2JR-e^=wlq@a~8^BeO&+elvUY(ts0}340uMjUpY_Y9|#3Y_WDutOQ{_nml) zHffa0Qf6T?{mZW*XRnet*KAOzp!?-qYj{7`K11r_Z?BPp(xxlSLsu~Zv3J%6O42Lb zu?*;tHc-PTBRNg<))jFNTyBSspONR#^2H~tMFFwq{xCeiiFDxFG$hi9Rt<&YQk6o+ z3RY2Sfqb+6dH0sn=|l{9Bv}Gx0c*X4%Z1tT0o>TAqXY1S z5kGedFK~sPFKToF+UM^mhXIfls>NNx=MCNx$OE#kKOiQTNwpY$5?j0ED6F*+a(C(T zj^*)dXO;>-${|rcg%4IDo3NDvlJ}8T_x|3oF#~*6XCv4xk&VjtwO-+|dUufR-YI4+5c%|4@ z{RA?aHnjOLQU%7k^@KFSOyjaDS5ND4PT9ls#(J{^qmWZ|5u(1GRj)use!yTTtdjU2 zaK9eU9pecNeL0gFFOQp8p5MnDiD&U(yUslqiww`kFLo%17X`|k~T6!Lwn)ux^u zEjiLfoh6nlWHHKW`tl@Wl#wibVM}zDC;5Cy9N3h(UTfBWj zCraui|E7X!xa7AGAd>l{@;XlT!ps&1fzLkFpQ92wJ7|?R*Z@D|H z<$6!4Q{7^rPE-9Ju+8XHis$cvfBr8#rU!VOLWpTW`6rr%cYK51Vv8P~)<1k`NMD)v zfO-Y;j@e4dBJUR<`Sf1wm5MJ%KxStJ=w|^8$;`4(yP!BsDTmSNPE_K6GTVNh!$u28CS!+e|+KhI?^<$&UiL-sVN;L_m06xx4P`c+^Imqg@tiMD0JxfL+fvg4RLZ z{I(db5Z!Xf(1JAJ|K5zJc;d(e)%FNazU2l{Dm3#a)3smlpj`!z%l>{)8eG0>9u0qC z*}gGaU0+6n#gz7)-uXQJg6s2+z2Y@~X%=Sg)pQ4f&-3t={_*N>sc?fc2v>~7Nc%f{Q@B)AM+;ylr&Mbd^=vsz z+5%cm33&Un97t3ACi}MrSaB~u6Kz))l~3;Zv+zWrreM>{#bA5cUc0mID>jZmrG!zZ zyZQ?h6#R}EXEPgX=u^e9asGGxd%>ty!z&)#7eDb-1C;ekb700wlKRnfgz71r{I|2>mV69Z673s-HbcaQY&zwChwf zuC#=n6BBZ#eCX;G*ku;$&5N~I z5LsgW{G;miAFp7khvd~J!DJD$m+q;1q-T<;-#Al`O1(@)ztH&7Z*oD|6!)l1H{#w{rhI*?(&<=fk1O+jFx=FO=sUU+ z9~yenXVG-;36AwnVLF(_BA?M;q>k<|tA}R9aIamE8e|}UWz#}E4)7KX_z2&Jl?}kB z5xKRP&$caP_9`D|%nmFT#(Pb4?(e|E*u6#0;eT=Z@WeAcU)wiQg5N4Hy18nyS`*f` zJGNFTu0@%J+v$b&8L!GG_9CYP>yk+QUJVuZT~OPc`EQ@r?9Rtms|OOnGmWeFJ7s41)`SM-9HCawn1gS<*JpxiK?v56UAUuQSm4NN`aRmz z74GROT+=~J9D0>QL-dY#&Fr1!#6nWAG(pXWwzN~`nT=@ktn%r>iz$0Vm>v!FQ=F(h z%{XQArU}l0kd8{7*;47tHxV6?D07H`nxz0x*WNqp&rn}~gz2JiSw#_)SsiZDtc(GU za2Kcn2=XY5`GMM`B))vs*D)~cMeV0$n}bexh_9X#P9RI!6!7`ek*zm%8%z>mMm!m8 z7No`ZNzpv~d|gLpRDOI;Hfpe*$m`s_cpGVE+)hl{{?$*Y%vV!4IoaLuAbc0vwBFwN zgtSEHN&5l0@v-MFQM6OG8h^zdfp(U1A&4H!1?IuCo);HhLt7ZX9qz3EWW0fh{5s30 z7n0yTv1v;F3W3vcRm19n9a7$Mv%%a@x2nNAo=Prk)g$sH{Ga_0Gwed`wPeUM+oxmm zdgVrH@PEsCT^kbWL8wrbaISbJ<%U~kexU6X03a*=uICH?HSZz-dVeAIVf3qyr5Poq zmcIrfr!=)*<_2@0X(|%|Y@cb4=om1S_a*!bWn^(-Pu;%f?zY5h-S`DistO(FVrwY? zFEUXQ+Ij%OX!Gy{jze?5D!8X$?RMFIe7gZ3dW{ZCj4*Eg9_9?r&3$`v-MNpekC3{7 zb;a;WZS5q#QD`|q7fb9#8(RuRMh)iIJpNW#hd2VOW$xi#wB|>xw(oLqoHtFdIhQ(3 zYD;F?pGkn;y*%&a&{?7nuK}9a#ZOH?V#7mDJ_#NY@f;)m(DpF$nwUUw!LeLtxB4|E zv$cIwVf8hc@re`i^|_MCP*VA&=ZnWVauSr!5s_wtU6+#tJ%wkpBeooKrtwR)gacBK z5rVN-;ZbwAwt(rs-=cCXOS@XZvPqXe;LEb_N?rQHx4QNM@d3|hu_d+OF@v1i*c3cq zq%zMUSY#4p5eEPDjtj%MA5rZw3%yHp-jNk1cL$-4yuZFgGF5{oZ@ZQYDk7n7k-tx6#O zpF@S&_i_~g=fuw7HlHeDc+Ow#$G{5-MLd$l>2%LxN$vM@GeslyRH`u91 zLUI58IQ;_S=28A0tTU8GAY6T)+=2K3u1}(2euAbOpB$%yG*o!#vCUYh_JdVzPz^U;#^VoESspOlhgk?y^fPiBClEi3$;QC+ zmi9akzHy+>+=9!vLrd1p%ni0XYQA(oT(cmJm<5Qw5Ssk5b)WpiW5v`o)`7yJ_{sW%17gBzEvkPE@c`ajFFg-{qF*64Rvv= zfFd&N_EX|7nna4tQG2;JVuB>LN6CawaO-9Kw@g-g{6X%Aih*rQyf0|^EZ;CIVr*Oh zCAHjxxH6|8=xGdru9K5sBcA?r&I{9?t zfKy|6aB?|wM)b&ofzD-9YE4|xU}F1qITcWOQ{hP(iRsMLQ7ju!qHp=T8cEe8HG$pUg#AZXCasC{ruYA*ZeMPk#mEKifdg3aek{J zwT)cu+M0TG&92lC%wD8bw>r8qi;J$JjiF{<4VAm+_n$+lM{C!$HlV2wXcD#@2OQ0Z zPX36s`{5YapeAa%q=z`@SdX4dg&wAId^r^9b6%*hXNOt3@hjJa zio7Jn?V+VN0^CZ4y%`+iVdJm)$ZU~dC@^;Hh1lv5DNh=(t1H9o?WN`p#if5TIe8#5 zP^48Uu$jUOgi3d4It8#GQ)u2&e z`Ak7e5ldoFPnQI?j1eD?9`k~9s2TR*%@jhbC(NWJ>BtFbR*zR5!Vz^v-`(5EhrhK_ zY1gsG)`*jiPW%>}M@#F*JA7t>w?o6?m@h3lEsDorAbn$Qt#HuP#;Anhuid1yjq+DR z5*GasQGBQzkq!5UE9V88-kLhoCQoynIH5n;b+L@Uo@>cW847WE;1r~8#z=)1OLfg( z6s5m%l?^eozY{V5!e(u9CocB+jY&0bxHO`q3?D4vU%mtOaN= zwWWh4nHBNV!nNbmh!!~`(QVqDT(?^ssv+G5y#4Ke3vLan@;=Lw%lM-NQ0ZnC>i))@ zCH8S6=D|C!Q5l`#Cz3Mq)b)J@lT_B_LuTz1gds|hh`%JC<5+cS`Izsv{OUFnRYuJxj#JD_4YcE%)A;gNe0 z0h9mfB*L>z#SA^oS~!x@F1rk;T2MP2oAp%|iBJ}KpnP>(+zW7cdaKO9k7s<_1VA-H z`$+)4mOAufI;13Rw?7lOun_E4{(k~}t7oe|=yBhbNcS>j<$+P-z^hxSFqD@9s2lv!otDDpsK=9GxY~@JMK9=!Z+GE7vyJC9a{KqnM=u-Yj{-|=MGUbYk^`43!J%J{N zdoqvaxn2bnt4-q$B>>_PXv#Ftx+gEa^s~F?b~4KqtZ=c1Li2`%PXt093V26GXuk9H%a`uX?5n~_R z4_e!%<72wh&_(JK%iq){INw)K=5q!pe~G~t6lB%+b89K>+_VCRZi9UytD z3E-0}``v1U{UmqbR#RP`#cvXmD0lEfElrArPKD*aqcKj>jE&8y1&MF&J*wD-%~#Vx ztJ1#!4A`LNT2S*GWhFiUStyHQJN#bcia8WQ9gr1uwMQ8!_Qm+hG%UzQ@tcl=?8(bJ z`k9d%g0{1P{=KrgrU_|X%L4VZ140;~O7b&2%6BB^?+xEW56-Q$qjH5;hJy#SWlzM# zL=mb!aFn}JW!<;_RBvifOA@{9`nLiQ>D@oAj%taaiyiflzkuwo?Br?}YRhQXb0k6& zs`VWD6La2|>sM>{)Np0ln&Hlk(_OX>_MGMy2g)>@L)!wm5Ibzc|3}j>!Lv6mbr=+f z7v2({&2|R$w6R-nng01P>1W z(J9+HR9;AMBC?dY@_S4%CFg!+#tl%R!94_t-kRLGaDBj`9hGLnU+gn@umQQ-UTTDe z$hAJNBMQ411BvtFi;K8b z&wM+B-~vq1JLxI59?V@i#j(FIfqZ2)5FlSS>Hj#H8MB?Rc}=avZv);f6o1Ab+>VLw zuC90vHNL-59N{yoz#`b55UN_o&Y^X2d6n@l97JqYBh%WDa(4{5Yt(~B%R+WM->_o~ z;8*#~BNR1o$J+j%cMfZBfwRjkjsw9y?jc+@BNbDrCt*` znoMzCGAk@1$9E|bBQwz3ov2n#RKiF65N?TU8}4Q*zgE#AC{!tBH)f+RIwgH1^?Ge2 zuZ@C0e)@m^Uw>TGQq2BxaOZ{i&k5TDsfXw@J3D9U!85Cn@r?U)&{{+xAbwytrBObg z1km&ha8<|bSwxpHI1+gUd=Q9z=|-@7V5xkcXX)WsA+0hc;dk4N^IF-J%-4;wdr6bc zKkMPhr{Ko0tJgQLOcT*Hm{(5)K59S5T~RXK<9elZqs|;>*RzevDB_clC-p%G7_ETi z>TfT8dw&;S4CEal_g2DdmrHYqiw|?=xSx-otf~c`OM~_dV5XvP6DaU=-RJ^Qq_k=T zULKeX<3LeY)2DU(Wkl(I+qFKwDw|m^(6si%V*n_JTcJ?CH1K|zknCRvZ+qW=#rbxB z@-#_ttsJ@X3J>PqDy$Y`y24V%fo;~~%FaB=@i%WV9OPzt7X-OdXvTEGzca=sI@sFu zXnfNV|0Igb$5&I+v&d4WMiuPHnLn z{}o2f7)YNcSZ9Dhip7pge5hTQ`&UvNZ|6_Cnkvewt0St{*Fphd@973d->R?T-gN33du` zK<&snr9mz+@8jK>ZyC()CowNLr~?G~{(S!hBG%`J)(MUXcE)4BMPHbbp_xg;QpR@F z;d8zT^L(Dzlwg#YOoGY6Yp2aSSzp-`Ct-rXZDoAG`Q*Fn!JW9$Ufu1tFS(}#V?Pq- z?gEYSRHW_!eiO9&SjPh{cdHwjDt^z^O637UI>_@0qc@wAOs9}Wm~2sPcI>L>>&BZ> z30UayK4MwIziw)2YzjWHsfaT+n$7MMBZid-{|k)XGDP7TiQP#k^b|{b#qgChaNHy; zgh2UQMVdhF{*B=)gW9T6w18KeiTL8&blA{=#6z<7BY^r$Cp%zO`ivLbl3^NWHU^TS z##p^OSjWz@%f?Q47{H^)S*0$tl&APBr+U2MY-srh-?;VWizz~DyIenM zVW7JXA-b2Gfp9XO7g+MLKW%nrf>4bpy2=<}XhoB}bSP$xRviFvj&UpQYJ;Z3&O6?t z5@MFm){MkDR#5Z1G3n2nC2ss=tP0D0fBY-3kYf8U-pRY{;(@YsoLY^@-IA~?Pd5g+ zlf(!k*w0S)Ekt3%!Yw2*eIMMZyPPhB11-kk`VmgrHQEd6*t&`^{qPlcD$rZMMAak^ z4faE3-~30{R`l0gKL7m%>7V>>EU;6&&rlObd9(y`oH#Jb(t4d(+nbR3;#b^Br73x! z%qL4NWoZ^wc)%kjTzhT;MLY%Lm^0w>%Izc`>5wqPy~T$lW(whjMR3)NEd9p}+F~#+ zODec`{>sh%6ecC@IrGw!iZ0jMhU;5-+W#)9UpN{$!54D2>bQvXnumv6ELS->NVnXM z&l(0ey6`{i<_f$2OC5pf4cWhvc)LZMNSx0RHvGEX^f8&2$8whh+1b5_#t<|3t~vo^ z_!G6*=E|C%>l>$L($Ft1$8NldZ(btJsZ_FDa8W_w>e5Qi!8l}C=#d2pnj!|M4sd6u|+&-H$H8Pp76AFIy895o=Crf6o@q zxP`ZRiL6gve$ z&F#BNrVV(Go;fMolq4TT1MEH-&ra(Z8M7VfMYWmGp?~SGCLNU%C*tKY(_XqP2ADqq z(vo9ScklhOJ|TXEK^*MBXk)X*_Cd+|7}q_e6%Ad83qdg*Z$B`c2(YQ9e1O+rdCjPEKyL!~2PW~<$r4pX<^dS`7Bl}8HnPOJ>vE3D^8_OUZjA?f(w@&07WXc@iAIm( zW(Dx{OQ}9$XiU>_ItP}6P`i4|Ejx%yjJG7iOOHFeaUG$8O;RTT;v)}BM2DUELk0BX zMXy6!%xkXarwY-s z12z^&u2rW6juo~iKnxNAyGP7Rr--vE2H@Kttb_xuG()BCzpqUFY?WC4af_M+%^%?7 zLPwfa>pw_SAv2s>I%|&{-in3|1bOE$I&+QnNC2E z3;#=kT-F+O)gKjhe|U}=yC%T1BT04SRyPB@m?$>DmO5|^dCIpU+6TKqU4#znLXEZXro4i&L4wRIAl|dY*7Mo-;ml@p@XvP;r0{&F8pcFA>pi{Y5lJ8 zn!6oO#s0m%8>^;CS}j=KNr6&H8L)gZ4O+l9C@t(*-bHp-e(R(sRyE4 zcq2%92bJ&(&$`&9aXemq8O?ujJ0sJWxYMw_Ud<7~Lrl#ENTyFH?ocm7-T9uM9t8`? z?SKZf*YXI>xOu-)5(;*V?gJTo?#$u=qI8;?jk2(Os?!`SN*7NsQu!<=+(Vn>hUB;W zNB127>+6bZ#52A1<<0$6QSCMe#vgpQn^+D5fo2y_7Dl1N7fcClp4@BwC2OHeEE~WZtM3QhjiS&e0EWNAcaMb;Z}4 zYdeZ)M_ND&G5FF@no>zM<2fN+*~zT(g#2je6`#w#i_*TfN-{m=e+MJ4{a|@y^6YPH|C*#T6EWMka1HO4}oETnBW*Il(qy-X+9H8V)eT77xw!zZ(TIkkVT-8~Y29xvE^ zmBh^v#i5(^c|2QO??l#KPwij$?cTE$^xr9KuSZ72LrO zm~Qyh8cM-};hv5JG`QseePam{`#Xtv?&52`HkR*SzighbEGqQ$9E%1&$-|b)Qs79o zf;RVM~O6vyZm_Y`zXVA3wrNveRnUm9zs~Om+nUa4eAkx*V4B4wyyUXKwkp zcOSps0`V;R@d>HJJai$C*)KsE*TLzbIX&RT?@491{N{KHxAx6IWr6<0#%w4omr-Uc zN*?1Fc;}ddcFe(?&fmU|{OOI3%7R=^K}Y!>5}f*2!*VUR$4)7^gO8w=R&OIu;=3=$E&d2t-YX=5mDH zUwk3;8kR(|nt*@4Kp4MVp1Qg-D%MQpGRVWz_u2dk=?RM8?V}!{s`-eWKX6)_5x-oP z15ILHdpbRXyeZB5>sr|$7&q(Uf&cl0@V_*S!p!)4ZlMdB>$BOy$8rfo=Vv?mtUk}s z$DF9uYs2_hA5>2Jj=DUD1PQ8?15(TK68xRo8>Ov|)v>ae`~EZ`q*@P~ul?GGpPX=F*gTaNUe^y=DL|YCh^4Bj=BnT0KKUPj^#p;$nm~<>Uu-mo~ z-BAt?yRMdP3u{AeiQt=Bu)UFxcb|Uyg0HMKd-Spzm+!)cXDhJa{P*Xyw9=q%!0^u1rGoL@Sprzs!Nemw`r?$vufxd_ED7qiE(U9gDfQq@gO!1^f>-Frl%Kjf!}ugx$^3?G zAnFTuaUWU>hr!^v9q0+65<8^4OlB13dD3g6<=`0L4+yu@rO;O%&roslj zo&di?%L%{eX4Z3*aZHzKITAZwPM5g3qP~{#mzkWZu@Ljt{tDy%FMQY(7Nw1BpQm_< zw)zDx9%R0;xX~3W3kC&O)I4lvFtqzC+M;o$n(5_X@CjnD=s9>MJGjQ2_-$C09uYzS z)x5n3?R8q~L=S%ie0a)q6?c5*=;Qy$gt4sGqST{eN$xFZ=>^-<%2%g~o!26Nj z%p8|(t@#U?Z&Gi)_RQip{{=4#Lpu|K#~bE80a1Z`&w$)2?HVL3S)qScWuR`7&wyYO z+{YzJB+d1}7iPM}v_Io5;?+0dhq8>5sfFEC2aX2AhJ)RH$Si;`3o|iRtxqJq{VLGz zVAHPHCC7JjB~0n+X&h$vaN%-uvqQaV=ZgK=lWzn0c&3IDyDf<6*`?Y+e;8|}m?_lozJw)Qa0Amyp z2J1g?RbY(&z1{1CPN?T9xmDt_TqaRZO$pSy&lp#*W)i0F#a<9u*IBFWs|F1KuQ7kbyuLHG;lRo*$yCa zzNQNdp#)-rZeK&%gp~8yfbWMouh>smL+uL_pzL!wtukz6vhU*H zlCiGe(D>y0ZDM)W0qV$85%h0m>G9(DI+sg{Pu;ZKQLRj|P9C19naF=$dE2fq-?Trv zeIB2(azgnWy=-lN-7&d8H0r4<0l|zFbkmvJJ(;6Jl~A@~9Pv0mjRz-ceayuOmP1~s z`Sb#3|m=W*{^UJX;MvI{-cfG zbbGRRg7Z!V-v7=lv@83_`;0w(H;=#^OpzMnx$<;hyNJNkj7FXEloqd-zWqxXs1R5G&#ESOBjRb|zk9%(XjeR3)#Xm0@`>(0ZzX-)vbcT!&|qP4Mk@=s?ci}e;gT9J z1hW?aaM*1);sio4bI>lLQ81jkTfRi1{VqdFd1ISKg*&)k9#^wWB^a4PZtCb7T$x&( zjJ6?`?f0)6{97737`{E#odZW_Q^SOM_p4Z6_Bf`?8vfDY3cB-uGX;JSbl?&Omnw8~!6UnTVR=J$N4K@l zPK3{Mr#?;)k_hw@)dESnrI&GEifio+ z)7R!BIVVuT2SgZ$PaFww^1l)Itoix9XlZ`#i>f-Bkbltt8F5^IawM50Z*h*v!9LjC zFd`1vz*AWEOa$-?DnEb~S7Fq_W^c};WUpe1XgEz@dHA|_){m_$OT)J@z zw_jW@P}2K*Gx^oL{nCa^xnQ!R^g3_Mu)=NpYN!s*WH(UY@hiG9At5_dWnmIj2G>zb zVm)m-JX_{fKj|{uD%Sh%##zE;*IA(uCwT^T;#6vtqHf#T#ap4~an*r~Y88Om|SehM3 zGTD|D&(8Kb~4- zh$UMphjN6O6)+pzUPzd-%A8Me>XFi+OvL?xm6*aV+@hsz%32563PSOefG?Pt%-PuY zJ^Zi>kTa2;7`|z>5v5frm-^AMO{w#oVn}dKq&F7>BYX z%2<~vhgQ022-tMnWI7aA?;=)Wv$W9rT_pvUWV9`Y*tzIl7Hc_e#rXu7dgZqFhonWu7~ zoH^~&HY)d9m!_CgkRU>#bQNwzFvp)Nu4t)S%hq>1E%!IS%ED_|?_u1K3LDkqEDvf}2H!LEZBGTO; z-OVDPfJlpgq=2Xememd&Q>(qO(WW-10^$+)d^u84ltRh#>4<3ZRIXYZ}9nGx41Vuj* zoKggwMMtCMUfq&Ly(W$H!es)iPW|3GH3>Ndd(nSBKVbTs7PM zibs#LL@Mf^UI@0&%)FU^FD&ocJ9^ZM?(1TgQ{;A}q_`y7p9C}Dgk@6BKrfN^wX??3 zB(Zi$b-C~WwrbwS8tKc;z~m)5)Cu2^Zz=QDwYzj-hm&!V{Zq*JX=O@mipLG^>^FF2 z$}on`h5C|_HRtjK0ef_?X54^G3`S~s{jPyJ$SQ;hf6)pJg;wbY!1uE__u;!TEd zeFqyKgyZpMTa*2#S+fkuKV?55>q%@;+cYZT+}>=o`61CN@85@xm~6|GP&z^3qnBu$ z#G$WVb68A*zA*A`I)1$VC0s-%Q>o8oT3Efgh?|34>^|4IMZ#zxBUgbB^h-Sj||j^T~+{_B;I#!Dk68B!w9R+Kb_09)r|XpJE#7ayMx zZ*M~F{iCst^vpaPrkC&g`^IH4a+b_S$|IAbfe1D0`MR7&Z`9k@SPVWfWo$OFQQ>_i zzCUG4O(p|?*ldq4gb;OApkKWwKy)P#IMn7A^`rORjfFC{M}SC^p4iMZHs31x3F*=i zl;JaIIc77(f7T%cOm@5btq>|`HivgT-Dwsw2<5MY@WDbvXhVJvuRLl`KicY5`sn_f zCT6ZG2d5`)Xm6CVEyQq7a$fy8_t59p3CTFpLyUbSp`V7Ujm1j;y#LDcbOd|bYS>~5 zJ9KS~(0p?Tt{x1+D@`PK9*sRUpFnE-Y_9#L5{$ zl<*}d=|0g7W9}lvdXp^u zf_1fEa+2w|*dnVxUYPlLdRRCI3nbyGabwR#&jx2a$cUCf;ALu&oKr6HjF zM{U38A@u=+cey?j#VZYV0L>?`s?E!^TF7h4C&}rMa;1(WI#(VzedqTBAao5rBaU2YnvSJgrjbnUppG}5&ul*1r&a5U?c@HtrY;EGcb=mj3Dz8e8`9YH_5|$mm|J(r0eH zg9;-zAL>a_XkixvHJRA*yCof2NR*G_@mE^{WJ{C)6OqbwVJ)Npy5w;EhYA z<4n9BwFN-(z;Y~RRgTt6k5KfVXx7QpXl;BzvHpr4yZ!dX_(;9{+M^#G^^Zu@D9pDg zchIPL>6PgDL6n%xfRgvx7$iA#?@NZ+}U?3msng_ z7GEo=zT7@_{tcY(O1SQ(MXD2PQ{$fl@%#YXYs8qjI5MWG6%E_C+E@3=mM zd75NR^IQmtz^1*XVdAZsPaR{V;c;3I%&)^4yuOTk_vi6DA0blpinvkCsb1Q^KWnvn z(bnwGOibeC+de4qH>IzCJk-t>=f1r z)V~}4i;?_?o8p#K^$BYHs*`Pb-6ED=)1iOVaF=_Bzo1F@-}-v0+y1yud5k80}Gv+D)-}02jDC0=te7h&qmBO6|*i^zQBVa?B*2rtFL>Jf<~2)1HLaTn z0nj3^K%A%rYViFJ!T1P3IlQVXfm-FWUgy^|P4#qPl0P33`?%2W0Tg1F$VY245-UH1 z(7t2@u_UsnXo%r_=zDzmzE_^$nP#3sD5eL;kFm(p>nJoWB*+y6*o+(3H(Jp2tSu%e zEaw+CA$}W=IsrX>Sm@OABP^?zn)Kg7wl+~MOG2tI?v9Gdr@=Sn&kC^vGFrtAcQu4W znvjMW#wJf&VJ?jZW#lnVu)^8dO90Ki5^doBuB4$;-^Pvf+)?AE_*}r$GG-RjJ(1n1 z5VX=ur}k*+)=9cyHJ+D1n&(Q0Q5e*DJ&y@Vd}}IIx^9M2xAwn%k;sXbSmDby=QD2F zBE0F1ZIwrg(R8PAj?GR*h%>Ed9tWm4>@Zp}Q{JX)-nN^`6fXbOkz#y>Jk_-H2jUjv z17KHF>vgm1#{(Y^Vp}^i`2E$Z!)I%`4(SO20*0|Flm%o)`38M2W#c@VD?BvamyUMO zoU56w)1XE6WvtBncgH%h@KE<;Ag2BE&A0-3T*bSe~owhKM& zNm)Amla)2eHa4|?SZ@SyEah1&aGo&ws8`&TW!=dJh&kH@5#hu1`G{BBV*2+3Ct}Zj6R|3}px2%xtH)=Lu9#e{KyZ1M0B``z& zaT*n&9HSZY!r&B|*xkM%y=`7jVUi4larKsdyWQ{e6Jv?s2imQV51{dJJpSq*=&s3A zwMnb(3;7I7tcWSSYJ%H`{;449ti-1S$)95m#a-Kj{ET%4WH_Sy#tm(-Fk)3-Cd^y| zmoGbFjWv|m3#!u>YV!A3Myu@-Kp_%KlgoxBrQS^vh6}Nk#s_<}H1>}B?@L{si%NIA zU^7PN*e;EC3GYR&p#V+PwcR1#(lbT8+gJ}J`UJqa+ z%06|noqDaDm}VEn2=W^rn)x;{IyW}2*&vCc76?P{;yHn)e%yJC*|GiI&wUgE&5{F? z9{uu^(Rw9N3GK57!oG2i!Tf%R|8_Q{r5@f{|6|o1BN!^W-3X+NF98}E$K#9rt^;>O z5P9j#NXci+RLau0R-GC`=*!OqM(>h~h&mhPSMDX+aeSW!(S-!FZOap3IAy)<1HX(H zUUq!a`5nzj9!H3g^{v>!VSdixJ!Jt_7}7A(xvQ2Bf_xX#TKlU4*h;@&ud#`4`*}eW9FcZKwp#m&ddySq-qO65BA(=FJ~ZAG~%7+$$At z(3PWJlhqwk9>MgT38|q(wsqv$M;oV1b_WuaCvu)pgoZKpDeKH*ofBC z#uw%-+t`xnG!m9G;eKjEe<$*{xxhGbvT&!7J*a6Ef=TQ-)%k>S8rjV9V(H`FBmtz)6sgqcWNS{L#Z7Z&l4gPD ztUe=&W`1pm$x&rRMK|h_HMsQt8nS2@-y@)gQwt|HWj>9P6Mi0kP?H(*X#KeK`_5Fb zf)R(AYldAm!Rc0obK!Hy_*}~7G0{_7M-uJ@NaJrv%G`P&blAtpzTx{3^WZdV&x zz|HHv34=^H9%26l469ErPm(`ygfo+=CStqBCVEK%R>X|{*#io!ffvYCj%|IJB74?8 z4r(a*DKBeyiwR>$62;p=M~yGY%hD2JPoEoL#7+HTIb2MYDD)iXUE(X5MHP_*Zy_0Q zriGX}-H~0+P(?c=kk7jI-yB*Ej9qnogQL(8dV1gpc+>9zhSZL&?@cbaTVb-QV)N`l zg#epNXOGtLhCSH`Us1bMbtwU{R^7b}v{}e+>dK}YoA$GR{yw@%`r=!k%m+;f#mV1= zR?R5=gx4xza7I-df0VICM*~6EXoRq!Tv`?fKbDhG#?6pzPCU;pEAhn>f$`DN;=dmP z_X$30r(!E1K1%-~js0;4Ff{1@8BDdrc}A1=edKOc;`lVr7!7(|f@`uLEjRc;2;H3S zBf&IJ=_J8V&}RvpqWlF)^G#S}a2^gi9_dL^|FLcy#J@e1e+>jS!zf0x9;EMlkA)M1 zvy1*p-R|V<1NbMobmO;MONJe@c*VW2vST}&|eMy6)DQBOyX+&mA(x3 zftqUwU85v|H&^v4qc@4V{PPfgtgkz(&yd=j!ZE^Uzj+<#4jD&UzK5IA0!4hBha~i6 z=%+L9Z4uwkrPbfo1^k_Z`IJs(QLiE)h;Be2JCzMAAkwj*jOijeuD0nFnHzce@k!q);JjImXABN z@}VSdQU;RkT2mJP%(?uUlC1E40;+_ZZfD$LcR&{X?soO-0ua9aS%DihWJjI;c}&Z* zI%nA_=PqhsvjXD9Je`}O-%={U<3Tp7IhBKrBq{y7wS9ks)3)_Y;*D5^CpZLrLK(pm#k^0knen-fj~DA#eGyJWP)M+ig_XChcfnVK{`{oJ zvuYl;B?&L{lUgjczgIZmUT)M)tZ)InvaUIPTQ=Tnm+I7i;7;|!Ybv#d6~Y8Y2N#ET zTDLF}*QaJ77uy?q9oMrz+Y9G!Y=2Fi=q_DThA@g=R`g>+YeIax;U^964)S*{t&W3N zhMKO77T-I;rPkbC&QYH`l-6r|%iJ#GW|<*ca^Rbh0Qx>mDX{R30Z|1l(d1g?$COga zmZQSb+hV6VsimgC^fG9z@IC_wL;<1%fkeZ{uArCqf21sp$Y=eLpMtJyZ`QK^(H~)< z%{Di=Z#j$!U;%x2rh!X=p@i;!AdX!fbTe}9Wf)&NA=+iYG(EkOqpAm1LNYJfrF7<+ zoQSU8-je=rq9aocw3rrx#yRq9*llWL4tPn-C*rQb!k!?jOMB!9d9LbteUD0R9TchL zE;9SWj;AgS~9v7w17{VL4Y*IZw{bLwq}W*h0X?L+6~lXy?kxz!}<3%d#&ohGxC;sBI8JPavabUwe)2 zhX76elxYYI-A!|5_1M|MM<*9x)e#Nlw3As5*(Ztr5Rs}@)jAleTI=vWRskS0J#qY; z;|I=fJ?g7Pvl$gJ?Ze&}3lit$^43tHQE;$GNYkZCSlf zF_sxuqEO#Y1HC6*j3P%6s@Df0HutlGx8aJK@aN#58YAD3_<>m44CwBSV*Ty}#SJXg zb@0qLHee!(|5V!#I3rkol6xPGPgUStp!&uu`%GkhcN2e`=w?wv99>$J_8u>0N3Y$Q z5su(kH@yx#6f))Q!RapP*v>NRig%<;E7G~Q7Pc|FzR;OI%E=gLrVRywcyV|^Ah(`= zaRN+7?JR8c_moN${0+{A>j%>k`8uxZVSJ$-1pzXj>vnlUhpFgE4jFwRcP%Uqe*&NM z4a`L9`>4J$*hb5d;(EO`Ng1|w8KUDgG>bodCZ`gm}(F+Ov;+Vd(Yoz5V0m=$t@ za8WaXXXeb!rE!#TeJglkVl=$mXq>#%Wmc+9MuCIDx$S(J$Q-`nk)C0}^~F)s-R^SJU4UIBYBM>K=i=@XdbF&d_5P7nO+y>nUd=r7ph!1uAez2>EBruXW_;r*~GCO&$0V24sZb`PSWFCrmmi-Es=#mv>eC3Qv3*yOhm;9}JWz*|kd9Gc^li88)!=CDckBrev?H{IV zlPLKCI5pA-rxv-boV9?Qkoe2bRdZ>XDtWbIx0d~u)X!o#)&J-dI;^>saYRb_?T5M8 z417w=E3qhDl)N|24xHYcPYeS`FXvLlZGOIe1?%uCI{66H0am;^^CJ-@TZ{-hn*k0s z=(-v;o|h_`yWeo7J7mERh7%#h)t@W*66IcFE_GDvUyWZj*ft7ps;GK)?=YY)cW1+L3EmrxgZc-dsA=RsA2q>BN<35B_ z>@%jKvUM(^!r(0JjAol?xrVb_k08sn7MNfOkwe|^oR7I`J|hDBUD8hW!uJyQ#~8A) zATMls5QtLvY7o6sEP|UoPz+s=>y^vx&dtSy8Tdyl)|Y=IoiyUW;g&Kzc)p1uAdb%2 zlzkE@ZIO&GJrIl_qnBU}^Hm`Y4+Zv|O`GnqbgkZ;YzE4-9(2l+gg*- zDZ}305#N)eCf$(pizejqr35Te)2HN{4Q#Fe=F~8xuvn~DD)P+Lhr_#2WAEVAFi8~( z{@53Xk^Cr+%pF?pOG~)FNO>2EmRsuMY>6%Jl_wIH1GHep%k!jMeo#T3dS6{=$pM^Q z&H`O>caFh<9asVihVtY!DKMYE+p?Jc`Hf(xCrkBW@}D5zKdhG{sm8CRL7*?_56Zb^ z{n?<#$1z-x1OKg5*<7qjFljWp)G8&$l{o(~Pk@r%$Hx)F@xGd=xPId?IB_~yXyjUu zAmUf)BH=}}2nPDy48ksbwN;s=85vd1t@}2MP9gd+AFs!K{ zkAI=mUK+8H6`|2frD*JlnM`|j8<#Y-=yP%nlks0Wsc62y|0DF&9{2Thef|%}9hW#X zj31a37-odT|LPosg9r1d&a+Y%3ruh717cW~9ci8eJ%ShPu*Go0W-Ab{Bg}9@2=x5< z^kAh=TnRyTTd`EoNduKI3sLL!>F=4=o^Sq`avpi7t!pX)M*BpB_J}Fm&k!g#SYwjx zlFj?-`jTW~6v9&Dp_8sQ32Z)MXMk636L7@5l_tDS50k2wJfN*yGGv_?6!`i4DF|e2 z4gxKs=K@=6k?qe8kMAyMi}zC(BftCnR6l+6WsWj;7hEy6wHMX1TzPyD&auU6T3DtC zn%AH>dnxeL?;y_)v#NI~W>kGS@`;z;{dM&(F|4!<+hlYs%#Pt$xH=~#;kjBL=sfM> zgt*FHEqJec?`OkliCAxIUZ9Bq8zsD>G5h8)Yq&Y(<6GO7w0=#p+L)cMT73nvvMgDd z8q~-jVXLu-2!(%R#FOkY#&+Z)RZ6iT9SUcM*1N;LRFG;SG)MiDqj zD?L0P(bYOP}8IAEfp`kVpmy+yz-&Xc60XvWbdyI1MV(h-6+^_GisxL)|kDR zqBh-HI$2|rUs+1i^C`2o!uVL-TakQvw++imYE~XbjAT*u+IC~ z-4T}!b41nKz>}cLix{|MrS#%brJiGXLu-5cMo?i?PUmR8LYVEK(}ezQ0^c9YD|uPI zw?p8J{L%ft2RFe6U8kX;nr>Ud$BkRs(ZL2Dk`0h_cNy}IN@5iIpD-t<1}X6L;qV;F zj^h+WSblQ4)<;=vPA7bwj_!Xy3Z_?h%c>wQcDMt`m;NC?>dJNh2xJ6-YOgUqpT4+U z*(ue$lVK0s(86IG$Agw++Y9A5SDxUQk6s6qiP}|GZ%J(|X`qK)5453OL7n@>BnsHE zLG#(841|<9s(C4dbsOLq4J8>w5X$p|`||oigHWTh-Mc9hxJjOGY189eR_Et@N&_&K z;QFROd`g3o`hts{pL)eWx}?Ky`@}>wKl6TEujUzh!oO{fL?to&SOV8da^Y{P4&O7( z9iV9%FV3CV9jxEJlsXV}Tf%>@uO#m6kYSy7sv=gKALzJqL`yiaC|tSICXz|#Ij^-Y zsBJo!=&ep|j@WirOwNc6Xx9OAP7iLV{Jg%%{TFn+TXnZFv8dZV?jq)F6er_Sr>@uA z`1}>zm~eCi@&O?a`Q#+m(GD#rmxw;B*MryP?`8MG@q(Lt@r(K$k& z#2OFoVchkv1pg)sstCHw2jq#M2e!)N9 zkM&hJT3{AF1wHdj*X<99Q@a4&^cV9?wW%z|jDC*sMfUNVptjK- zk|2xHdF~5kR8yo4NzauP$;1VT6w3mcSIbw8QMExA?{a?KR_BJrU5#MH%*G7$yBr9ds?R;wQ+niw1Pe;1TdCfEz4ShBc8Ia5yQHG_K(I$S4 z?qNtm%DHojrnSz}ln7um&~nZBxX|V8_Bq4# zS*~m&Vcqa%@jA{?lqKOCf9#_^IqAT~z)Lww@V7puPOuMwIEOjoD~%@KL_&&`^S>*} zxi?@}Lc&c@!ceb7W7;AC&IEL8;gIXH@%h>ATzfQ`LsjJ%D1n}Jp75Hu?cz=x^9 z{3ly8ZXY4y#aqP|onz;6!pUmmma73ogw*59t{>92_m>hZrGwR(qTe;X@#WTj9Wg$8 z8(Wu2RsZ62Q<}8(Ky9gV4@GKJM}SxuM^?xnvZtQ^SaNEZV`*Pg805^LX+-+eFXcB= zE44bq-pA^mFBeTMfy;z1;@-!mO7zC^(01_Uw9UAR=b643({Vr1!Vw56LJ~Y{?X?Q^ zUSrLY6;^<^Gk>178zezby>r>9dX5g&*Yw&XoWY70i%-G`&B`e;erNUqDW6S>Msc6~ ztWiE4C4Wksay%WiEN;dvp;v#^`#tklmkHUC16M(oP->X1lRj+ z-^IfGgPT#DMd_nV27bxDFGLONsQlUy3|>b<^G2%tC=V>cg4iML&ee)&pfkLbE(&fp zLSj6R$=ZUU5Ow%1-1M1i5SZ>maMG(q4w2TZqffZ9q8K04Q}e?C#NBl$3BCbR;xCKq z;rSGW$yPmDToFFY_bpw{_zqHw-G|G1_=g5c2037eWbVVjvo&5PuTk1ndU*U*kH zXH2DK8nU`BV1YZ7bsVxCvUI1X+8{gkT95zachYS|RW-foNqd}9z2-%x-G$XpZ~M2> zmp0>Rfm<;92IW$l>f4rEzEit)X-0n@!e-tth9gru*KGlqP#V%JpWeAV72)2;L9U%7 zsiJLQ;^*igvZmM<1Kf7 z#SaskH?2G2+11?qOe<;!M2+iXS@>p!mR$PXweXUdD?Q;N6UP&IG0;`u4h|~WE(qL~ z>quJF)bb$#qgCWdt{tbsaZ3;ApJSbpewq94r$dN*Vs*-y`sRd@lJea^CZV=5qw*;u zF2*~5#cOEH6VWxsU4#Z@4O~Fi`UGw<%kGxxk7IT6vaING*Dwrb$E^XEVqHOp4?+<% zB#h)Wc`2Ub*UDzB9cmVQs0fL;eRcY0M&pf2sGBe|!imu-lJgfFdpl-s?Qln}fz?SW z(wmb=qmhoRM@b`vi;&lex|kr|;s*swkhP*{zml(ou_)GJ`;?Be1dhW05q{8;S}c-- zmeHDt?0?X-A&mNG`iLW;4dy>~r^9xpl^p}0}T z^WX4fOznx4?}O;_U@nOnfobOCCfZqn)9-L^uEh6Ia-QF^29bCfJo6N0W|NU+nmWND zWg#O!znyEl(%Ta+{x4ZUX4M2(SQJZ>xGeuaI&%&9(LKV6Ml&$dm z8oFASHCYD_?>UY^KE}sYvX7?a$b-!a<=JuTy0QexGFxib{Du%?5oQ*uSO>y_KP;R_ zXi?$)wmj0|L*eg?f7`G$2kec#G+JYvv$?0*9 z_j7^I*8jD06bcCfoX8^pAc3m;)HnLD!PgBLPj5C{I~X+Yu8*4v1>akLdIZB@b+tcQ z5*qoXOVTtIcp$_`n_&{WHBUr5M9?{v_=0SG&;J&84V4bnutWu(;(D!ZY6h8;;bPAQ zuHs{&jKvo}KSB4vkjZPclZc-*?^I*|k+sgW{d6L|(NQLV-w~LQ$UjME(IeM;ZEtj6ppwriY`qdj zJ_?vC$s&Jop#J5=nmdsdvP>y+jh$@1-0(NvXQvQGp06ov;n!a z====xWcR_9+pQ#YRtdZ&)~QYNiifi7CkJnSD79?li82DwV!Dc+`~rn14UwY%mY(k; zWs^z$l;qke@Xq*~bpitH^fBAaJ9V-3$n*FKbs1l{$-x#f@tjLwy(pyT)(<4d^(@~7 zZvV;F?9My}fVxR9ZInZ>D(*m`wT}VDD-`;2h-{JKqqM%Qs@T27{t*nVm_~<{PcpQe zqh$#pq|;F&b}Xw`XBFzEV|2vb(gTgb?64%Gm1>aHnr{@MmAW013UOYj$ts@WTS z!j*?aN!m9Tv-#eT^CTcQ!kf-wHbds*h8K8#Z+Zw}4k%#~rEQaq)-)IE{`jL?BwxB) z6C!6R?IdJew@RxUA2AujdGg|vB)C9Jx=}RGcuMapQVU5}2h?1+G-fB4%UQi^E|v=R z(14`Fj^;ro6uSZ2*y|>{uL-d}U8y|x z!@P=ZRzoeqB$MZDWWKeHN^Ig|S#5PM<*@mf+J@o`r3~`r zzTd0gI>kS-K`m%}`pmZL?EW;osOcJ;`Ea_hAGn)R?(E_NWzfCl(Hk4Jgp@~ef{ivb zA`yrbMkkKu0z4qN3-@i(DsGp`)qxx3%;#S_U_lyaB%a0(0GGv1{cR@y<&@BZ@uTob z#$m)-wfh#afo}w$lbNjMz^8qQ;DAF_rr>bq;rGc4_pO@B2Svh%FYzDi3dRihS+C}F zZ2Ds!HRXNx|91Jex*Uh(2(#6`qO5ZhpD=>M>SL4g-#nvrngsfGS<@8eHx1uMT~%ka zHwh?*L^_|z&Rj?9-rjn&HX4i4Mze%4JtJkoHR5WS4Up7I!u@oc63I#(b^!K1l> z-;eydDv^hHCP;Y>_-h$!eJU1ry-(LZ13K0kW2bA!y~28$!Xi380g2->_5Zl>sG|NU zOm;YNqrA1mI4*9*8Qf7p2KhPBd1}JCUjwuTv5F;lwN)oBb`QKS{d}C`NNr;Z#Uz0> z5eJYWNa1s$VBf&7(B;+ghV-KFSa6fXk{BZ_e88bwhTso9JqL+N{6u_NEH;nitmhK% zvWa%|d&ZaXmY4}tAnVh{<^YsFbj-H{yGHEO{+`zh^jHxMIKk4hFpM(H+W#g}DU zkGI>IqI-tk2u2=DC49-2X9!DGE2|AwG+9Xyce$hN2Eizv3$#wOz z<;T3hGtaX{qT5>Q(~*sdY;-_<@E`1>u;*;xN%Q3z!QvYHc9qEA{XV_*o41M>y1w=A zceYeh%Y(lMq*ga^ z=o$E~EU-dli0`GL9W|rOcz^WI^>9rXoXVQ#Um>t59X^UNKh2TXt@tj%lc)2kzDfth zb{qY-ap0GkXdIhWhwm%?`=(RkVb+RJx^K&f!n-$aRw(b`;dRKK<`V0yrO)#Tz%5my z1Nvjm>9o|Urn_XobfB97=>MpaO{L`F%UHY+nDM(2CIOZ=a;0l^*@6%d?kd?wWjdo^xs?SiT~LT41yg{|N}Lh0A=laC8WS%AR? zIe+l5Mb#@)MT`FOnrTi6s|1_Qe2S$Y&lpXWH&~$QxQC0*U!8~xUHi&XML)M@jue^SoNFIMaT9N_!!%{jhTByKz_y%Q6{ zsVh-`J6kz3Y#6@piil+r?6e{b4=vFEW1&&yHI(etG*>fV2N|WO#cRjs7=87Hsz1jF z-M6EFnRiY{Tj6Z`dPBa#&qFYcfDMOQ5t4AoJ2dJSVmT#rI(af$w?&>`TTs5qSJBAi zVJ#c|H&h~W)2lc)o(xwnn|CrzG7(XC=kw331H65VwSh8UH0Fcnkb8xX?llb>Sc)+@ z*@4`j_fOQ?OfZL?9o2n752wbIb4Ci`%&4UoWh+JX8o&yoEZ1fe&>)i0zA|4k(VcQE zOwpt~*9L5Y6{E}JcTYwyN>AQXel0pZq(GihUc{jVL9}k-#VK@@WZsQ)mOLwjdT^I; z;gKERXi1Btti1A)s;B~sgyqOWo+`AQDz$nArz~vWJp&9Ym*T;&NFIAHqP8ogFGk~+ zo+sUaZ=HtXzZZrz;?e!0jaNZMG7R!8celknAuDt5WZa$c)ATz1&GC6zM7b%kvvp(( zo3LKXnUC^O>va*~w_~NcdtaIB3+rr2b&B z(zkD9LZp!9HO({=y-J4Y;Z4b&6XflW3bxc?)+CV+olLn~nJhH>cm-?~r+MW!a<`Em zDTnfV>o{QqbS(}LZfax>e3g;Mty<>ovkmc=KQ){VQV^R6Qu=Kv9Mtc!foTw?jMX|GJJVnA7OxG=>B_`WKI(^ceAgfcU!CvHPJhalG*nYL1@Y5gt=e- zsmkcEkdSD3;2dp~WTLT;uYt238~?)4JX8z$P<3!Vqkr9mMX9rdrgPJ@3RY=Xwj9&h zVY~epJztdxV(%(-;)tHOjQ@FcoV>h6=v{H^ClLXQF(fY>;ho1PG18>IV+U^_FI|&n z&zt!)a6zCE>4y+AA}Q#wJf%2|I#mQiWG=E1aqbFspV&(GO9JvT(Xy=*w4SlOqHTTQyw?|@POJda1 zC63^{svKUl2Ga%p@gQqUZq6JK+$=4TLB$CQso*6&Gd{I!T~v;E_E=voq?=t6XZAVL zCKD_46*8$DrAR(#f)O8Brk_qh)-9waXYe7O|FVge_@~z*c(C-=>leJh<#zV%C8GIM zC#|(^`BMnMB~jA;CkdJuBh?R{gEb5JTDB9+H}HL;!MdJuOQTI4o?4VWqa2*3W^wLK)tWQ@ zl~%Q=u-_{1bdkIVDnl+oK++XDjs{rL@`C5apVA1?%H3BVgHA;5WvNpFe0981O2$d~rP)6cM=g19PYoIJ#vv>R!#Pe z`!k^OF;N|xjm*sKX5qm(w^S_J)E^aIUlv51j{lMW5+(n(0j zN0h0UKe?8v#Zba_zz~NP79UF&A)T})AKMuJ&u&{k_=2wtS-1#qUP)rQNOdhkZaFkv zVSqY|A7btD?_4VJmm_4ir#?)I6~XtPPM3V>rsju*{qJV=@(mm{eyccxEzoNk@-DO% z?{0twfDFA!vil-So;a-!-Sb_!bk?+loHap@m~8r9KeamdCp|pWwUx z_ zoy^pjl32K83H9-o&$oMdbEyTKjA4?<=+XFHKKd{k)lGcfL`$crC$CW#9Ghz+Od62e z$sN0=TW|NZKR_xhAq7mc-3Rx->>Sw(_(93Vr zJCt;q7v`I12|mll3=i$iRX$v027P%8exKCIcB5V3MT-{^Qx#j1e{ z`Wo`PqWgeJ1DyO^m$zCL{(3@4qU-OO+1(VmL9lP|7vPdXP%b(U%s>g|`S>SG@rUAh z9Y2qUbTcGTH#`sd%w~F)!|Enk!a31L3qR_JbBSYg=f7We?=<&3+qc0TA7+sw=bdATwGU$!BS$Nq=sSiEnWZ*I*FDC(-4t%XlLMcP*Lcl{8Zc-a_`r2DyKM^FMft9E--%x2d1OE#i@JsnpB3z&LA`=BgdaVxu)=2 zVPJ*pLc5&GV{NN6B484C5MY_0Oh&=%Z(FllW{L1S)DIp(r@?~CT6@AHO0N_MrPZ0l zW)UVl|6Y<+emna@l4S!LsTnpSs2SaRHXwLC1woEbvSI?cH1PvP59%5E2P1oHC~5E^ z@bpG+eWx<#3$QAowIdH8;aZVZStYr6{Xg(#{`P+Z)Wmaq%xJw}BTB3o9LWa?F>P0? zR1QKc9x+`_PbP*TGgfi$pKkg7YED&do>orp?K7A$tSMf$`{8~I)QXeHfroOl|0m{% zS8MLqX$uPVE70#L3Nn*lFXNPNn?h*6pfj$zJQl4Gd-9BuW-@d72JfTGxZ>KC_iF-U zvyS#x3t|55S6X&nRyJk>NzdT73 z#X-o=S5{X-Ty8H-`VuZfyi%(S04fg@D%uIm1F}m~rE^M5$#DGOcr)L+ehikTp7;U+ z{V`t|Af82T8!l7h6XZQ8D=62@9QX|tc(PcT0k4%vS0>)Y>@=+ft{Q5(&jf7E&f-zf z*C#D=LE~UBk$x9lLP|!dj|G&pN!M%Sx+w%0YyRfH89Wt23dU+Z?9<5|U`F}CUGjvE zus`g@G`bA$e_~WWM)oLC`8YUyW+v`3YmSvj?Hig~NV9ze_+`e2pae1o7401Xy1nRm z+s^~pYNLHDU+&zTYVjOI&k_gp%69o?IBqQfn>kAmf=-S$Cc!3 zIgDkZOZ9wE_@%)fXhVtB*-W3Je$Kpg3ILJuT8xLs@$Pg!jG-s@vN>If2a|qt1_x=- zqRu=W@+5sd(Jj0LK~`OxBq!BlWFfP@G{9d)WBwaqZa-vZ%1n0)>-~4qPT|^*xZgQ` z2{?AK(^T@lDc=g!!Q|QXmm?2vL@D(k0uUwjj`3V@zml!-s~6{lMYQkwM9f_Nyaqk_ zSp3T&(85v6&@_`LF};3PI}@-u5U;8E!zj1+K%MJQwP&Ri<1NqhFD&%}+K#)*4(3)fLzPH`Rw%xt4cX zbW1GPv$FOkOg0G-SVlnW1!#=m{|Ax2FskjhpW;qVuWxRm#rXR^!}@0B@xLq2QaHl6dNFYy57=Z1BUYnhTCSSGlL-(!Y>C?Z~lxm`GV(L#{&BJna7f D?{V?| diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png index c40dfa7398475b55330b2147902f4c9bfbbaced9..c081abb0d8f30c90594d42feda1a0e9771ea6c9c 100644 GIT binary patch delta 1538 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 JPDHLkV1l2OL)riU literal 5209 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 T#3YEX>4Tx0C=2zkv&MmKp2MKwn{}S4i*$q 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index 5c7f3a5e5e04cef018dcdf7b8d59f61658f2215d..bdb5fed331b866baf447be9eff1c8173048bb712 100644 GIT binary patch delta 3067 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 literal 7451 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index b05ef173c377be1074e0064b04f607e8e12c933e..9ed9156eacf2572af0fe2f34641024728ef3a185 100644 GIT binary patch literal 9891 zcmV;UCS2KxP)EX>4Tx0C=2zkv&MmKp2MKwn{}S4i*$qh)|s@h>AFB6^c+H)C#RSm|Xe?O&XFE z7e~Rh;NZ_<)xpJCR|i)?5c~mgb8}L3krKa43N2#1b`6 zkz)a6sE`~#_#gc4t(lvgaFaqYp#8N%9_V=-E*H3`JGjOFf{pA`k^GSNO zsYQ-}o^9abx~a)~z~v6m|D;QX|LZtRlq_~iXfmMy~97VSWqdq?7d+A z?|q(q?!9|=XJ_}_nK|doIcLQ2AAyESa|!dd>c)ENEm~W*(=t|UE~96lqohv$QZ_YI zZ6PBi(F`JxL>1X1f^za%6dLn7m;8E{ol}&akdl=Y9iJYb{3iFs^Th0DF|n!njeJY2 zK)kUlzzYbOQcjk7w)Pgf_U5hCEzR3#v{zMTZgrx`5lmXErXr>{hXH+ID+8lB*_ z`pV7!SkPw)X$kWn*l|_x5Mf&NB(k}Ox~H6&yWY?1e(0;@#;j7K5v;8$FXJ`UdESgM zPV-PzuGCod5D-MH+i8!vcVz0&tNt$z&Rg%dJSILPqcJKXbb`qkD?WF;)A+gL9hVVF zRfmu(>?#NoQZA0Ir-z;~7<20CEU4H8F_Yk*J&#+OuTseX&BoV zs0o1*{L>i6-Wz{*IZC=H?)pm(kY8Aeb-VqbS`my%PG9~fLVDK`9ZT>k(--r9xd%-H zYv^gKFhtXix2(JpX&Ko_Ns5DPc>*TcRWav$gsw6$L^c+`tl5sCLx!MhM?^XSm{Np;F1w*WhAkCtN9iI+dd!Yf32}A003=j}RP?eEJl zl1o6Z4%N~#r+A$OoP8t-oi+|ww!{fa3e5ypVNOB1>+{>jUa%Rly+cfV=38Eh;F;im zHje(2kn7a&k-~$OsTThJV-iB5U&HrS1oGb{LZsvkG+R`lg)GP?A)VZDWhL-74|tUc zr02^(N?scV#wOUf#=L0|TLUuE5}KzrjXBlTeV0~tH#{rfnj`@TKG<0l(1WOTR^62^zdx)^o zWV+@GLY#kCB5wG{AnQ#$#L6?#TD<}t)c{v}PD{x~S@|ox%m~F9Zy=*U7LqMm!OWx$ z`gdsyHDx(L-U7c6{mZNW;k!WzmMQ5u1@#@+Ai+P4wjX9~sx_Rwy77(|uioO&zd=Y( z3`cv-Li9BzFQ5VM|~39-Aowyqp3krLB^P< zt4rOyPA{qNxO!_YEhR4c>$Glb*sU7(c=x^#%l^8G;*1bX>{5kh#)7#H_3EJW#=6Rt zgzPwkJ&(hvvkDkJv=4^6v}bheri5|*E$3|Y4%!+Tos?eJG4&F>XmXdaBYZ$LHa`DG*U$l{p!nCf9Rf}q(e=q?$w|#@lR}R2G^am{V z=*6mAEk79EyZyBOmmhEUy%8N(+y8YEyl!sq1qyP~tprxHdT=8k4o8li#FQ?DkZU3) z6-snp%PPdC-G%$YmsqoK4760`8@pN*Qd<}G-bM(n)oZm@f(^8l_0u5V1l~Xc&6a(L6ugF{b}@h15>thC?5 zu?x_36_MiekUydr87esFAyV@>C{1&*(xf!*(3XyV^}XU9Pz=8ut0nrF(lYZ(=omv`;pP7I zQ+OWlh*fhqQx~=$4}gN)480hdlj{l6i&hhtlgEWX-m@-VS=C3^qMFm-` znd@5X`P9qt_U)Vabs&E?apb-@W_bvo+>fBnd>faJg@@M;Ea>@`^wUkpS)hl5k@Lsz z48c-TVz4n)=g7yIPMQ5Oy%$k$?3tU~eE2@2FWwG)f{>69MxuQDzV0Zz6Mm5xV8LGo zK%%|C+`d07Od5yWkC2y>g4e9k*mdX}6g5;EwJtTGC@*7bYN)D2^!hA@V9U0et%%~U z)6j{fW#u?|`3Z_iE9~iLjLY|*Lq7iwEQoAl(drdW2ZRIdgbnFcb@W=EY zc&|K-K!_=@!1kfGycfbEI<(Qi?zLRID+?N;&UX4vgkT?r;7%R%IC6CP`&=kW6E8qj z0a&_%oM#Ml{~);1$oWiB3+$WOr_S>upTB{wT%B{%9O3+9Wo%nBxXDevH#JzAXi-k9 z3AQj%=V&T@WN&jU-;sgjTv0f6ZHcI0UpTd`7B1-HE-tFylk@cDF!bX?lL?6@<4cbo zXjV%YAx);T{4YQ3ST>xARieg;Vj>fab!9zc({};Owi+GiCquBAu?9zvoo1Zbve*?w z$HLm(ez4K6Wa4|Mk)BSdC{#Q{X!Pq^!!2p|oRRVrGDf^tIw(;dduO+=^*?GycGiu< z;d75LeY7Jk`kaTjg5m#Lg4-FZF`P04n;NKa93hyQU4TU^w_{+3JorAAgToI!;S&&v zDIF8w?p%c(hc9C9+Nq3TpeCZ@GN9jr_k7xP2FSF7L!I{CA8hoo#8(tj^3Sn$Pd*tl zim+f(cVy=j!S~)X^djR)6Ze#471EO8Iz(re7uVHjAxQ)*T~1FdC@e+VdkH*z*9jX} zb!VdSdUi6x#?71I-lZI!w32X!s86&zuZf2diLl@!H0V+ouy|4Jt(StDCoARJpqu_v zn3N6al$0eTUa!p5(C=3!Kz(1 zux8F@iMk*sjc3bM(pw_2+tlv1nw0h)TMu1_LP-SX^!l82M?|Cw`GqA|HFp4S7yS=F zTU}n4cF~+AbZh|BWGSoC7G)JN&?h?ot>_1M7;XxO47J;Fe{rMkF^qAY8! z2+sEH5S#MKA((AQCerb02#<)&uQxlRSYA_lOXy&3VYX2M^z=+FWz+Q#KMHOro584fwqzYTLp>}VMg1? zhK!l_KBW$nAzh{&AG$9Eosx572>tBVQ(Oid@^67Yefz_+o5`o~nR+;mA2Sq-Rv%zu znM@6vj*VE@kZ&g4oa(`>=F43)r6;ETl8(;W&jpr+j^?oXCrk~0{^CX?YsGK=?`mfN zzavYaOf#?i{|3#w%5H*g2?;UmTQe3%e8Tbfqi~{*zQRD8D)8%%M%`YcQ-BAt(r9bZ z6^Ax6j&#B%H#4gMcSBw>l6!f1C6i>lth@pRg@wq=%O~}(tiFj4G0O7t3Ya+9 z7OE`;YJ90DQ#K!BF5$x0-nEx z;@I~2plRi4?y8?A4u-$qZgk^A(4vy`OfuH;LoUT+uY=Ih)x(OJJrEd~ zgd>OdK|#wF8@;&CPC;kaZeKfxNnIU&!R3@-fv>+u1)nm0 z-JV6NdpKS|TkS{VjIn_hjP%u*@7oSsfP_eMc#PuCIV?8uEjI4+g;|Rim@ANl3Rpvl zIO$??1f6V?4T9-<3W;g&p`ygy*qWVNgnsUuFn&Z&j2~zTH5Da1ij2p=Zl;*!K9Dhh zD00~RsJqdh2XEtj(gV2JmZKgKph=*l4Ef^OIYpU*z7X|9d|N=D2Jac`?TyKJ`6vN4 zT)vD7a?^{bLzCuaCJE+PPBCE0${@FIQ)-tH^e%LnfSQz(fh;w6zpuhCu4ASt)c&HLsL@+*#%Fa$cK8`-?9ojkKM(FMchlgG{~*ZhY%V1 zV1tudVBf}x9Qk&I$0Wm50P&WTUqPx!nOXTs;wc%0bO8wJSS3({t$hbw1YV^JT<~6o ztTd7P--Y4XODDADLT{zc`Vo)rp|@*w3{yl_8;l#+5o>l`!OPTK(uMbgfll4MLP2f@ zE5UKKL6FXanePh|Nf(`3Qe0Y|EG;Q6&{V8;=Gr)Xq!}TYqZEsEVx)Zqep!EnnMmL? zxAVH47ci?=F`lOa&Gh=<~POF6y57~t>OsO%-liYG1l!<#^R|x>OJ*bJ+L)X}niR`ZlIl?^M z>VnU$7&x`zufBCbMpkfk=&+}$k@S*5(SQa|lg1f&gsARnW{@@;kjZr!?$Ikg9B@QpIjZ)d{TLR4G^ zvm_5gaO8{hZ_@7w0+a;(Ha1AjzJ*$5`M5@B6FS3m57U21!^(NX7$>`$*y{ZNU5u;8 zd}>LP;3T`s2PCJx$AUG7G0lnpm$5cvtFa(#7*E=LC<$;q`D}m?dpptKU zD@P=xUx$GjJ7v;z3LegRh)leIQL_Ruet0h?or0VqHEUK2NH(OKJ|Fl3E{?TlGA%E! zU}lFdUA>8sws~;pBS5Yp&;YttZSA?Xt8PbX+#mNk>q)H>O`v!|ROCLD^LL7Re66zt>yA%2bmK7b3_a5^}`TG{nRv zB0u99?DX=mjL*1bPT(6UjWxds?hU#Z9CzpA_fG_0^?&KNc(SvAjc3)Mo)|7JeGwFM z0v-AE*ZLaNAmPxOZr_^Nhuf9o$@614{Gi&Io=zeesT19rNXa5X%AZnD0;uR&^PB;Q z6ZqVYx%Bb-CxY(=$G*zUE(ljqloiBE$lqXSFEdQJr3WkhM85Q5Za`ILn(wNvoL9nt zPY5t^sz76#ORxAR-1zw83#IV5Z^Tj3eF}wOYM}6(G!Q#>?S@A;))&5Rk|4u83M5TF zt>YvJgvO-%BqV3%ef<3e!Fx|X`rC7?!)o&Mg|fa|`_}4k={Fn~9~_6PwQv@DZcLmD z5yj*my9@LhTfOh?sQLQ~f@9({-rsrj^1QR1!5D$oq6P-{XovT?gK+QZIVSP;e+_iz zDm5Fp94Q8S=Rq`GmB6l*Q&1Lj`pT0#HTQkvRe9o4AQ1xleoW3~Wrv>kO=kTLL85(Jo zb&imdMbyhsO>FpeT%(bjkeqe@)aA$bYWuIw(3LrBeOLB$Fdio@DbA9`m~&8)$Mmy+ znXx+l+;J3R?LKFAZ7QJB@#P2+l(ulhp+9>y=DH2#o@;$)mek>RUT3WmQnK@Qo(x(u z&&_e0z^c{&Xqx;z>pih-!Tmi94mI-JTS6%`%wnEExWN- zHQqp5%#Zyo$oSj=cOJdOi5rhl`1UC*bxWD4LO~6KH=_VkhcS%R?Q17L(mlfad=UQG zJYFytuLDKJWhwJET>Y(~;~IPH`Dvmy68pThyQX*XV+q zW_NwdjP-QRIJYPmo~ujX<kpn_=Snw$%^C$f zNj$RU@ZD>i9LsU1Hh-PZW)}woS0mk)U3jmWU_mnr&@Mjb%rL~zQ;>$}4P*euEcO~Ot zR2+hz=;6|hAb5=JBQSDv@`@8jc%Ja&^mvX5X1eNmC&u|7^#~!7?RS&9hUoD;86fC7 z!AWn1Vc(sL7-(6-WQq9^p2?3f(#yV)w~Fq(r7LF-rQ1d5qmTBNrIuP#u^~aU)6; z^X54*CS7>kP9gaqm47vhb)+=mT!f;hLnqrykz3HBAY|(SeJ{x*SWD$|A5Cy$31`d*~0C4Jhj4^t9;hBGuCY1$y{qRFXsyrG@r)) z6E{(u^%N%RrLfQjqVEFd{t<(?q8WZ1+=cNh;RLjG)*M^cFC31z;GVS z_qtmVC4EY_O8k586zN{4*18lyeNb#x3URS&U$S0~t??w}I{rEqfCUrzT+;0ms)`qE zygZz!sY$$+z?YzOH~3Xt=W%;F`R$o-OI1m(_K<-_039n29lrqgPMmd-gKf%i@PrSn zS5N2eIu+$8DXflNqP|vc<0e2$jh$&PqTaoCTXf3x^tC9igsQK>w1foQRsL&am&ia}Ui#DTUUh`U@PINmuT#VL zC6|H~RfmxLa?tFfz0PkN>qkfyzQ4*>pq4CKE^}(oG)*@H<1t|{=K*26SFs}@e}O6# z&scq7-07=PH`yqTHC^_ae{4kOaeJ-KZU6Ctj#>*lw#wxN`9vO(hTcxC=Ryd82o)kJhc z`h~tz506hudoS>H;e|3IR9IX_ry7?`8WMYVm7C&%)^K zV^|w}>Ayw8OhOWflTj|irZ^(X?f1hlR=A@Y`U_$q^v?H;gmw1@;mTv$knU< zFU)?O*4@)>kmb+PlHvl5LZTj-e|U|=jQ|_?hCD-Y?rT((6+%Kv9#YL!;n2|p9-Rz@ zuoiJu>5ag|LklnooEwB(7 zN?uO~BW7y^RE5Q)UYPgCB`-2mJ#UN(G}@$nOkDcgfisTI>TK2OkIi2F)>^mIq9LpQ znPt5blCvKCw*AKZW4;l=jaiRI_sX~*_A1$C#E!AUdz)<>=W032)!AeO+5Md^cvMv$ z8l8IW;MtJvWH`E9S2&3<(dYz!#OW(h;be0+HPW0vX{g1-iGyw26q`%aHDQ~4t1c=j zOFnZg>gdjsfqMcYlIwLu7dDy-{#7R&6!=M~7KXR(c}|&#bP{ z#sVs$%wejnp)Zbd?MYby^x|YbfZcD#~go%F8Hgs5GZ`Eb16d zXXa^YQ97nmSC101&_rUuO|%nX~F8S5Jh1R8oAphd^9gDS-w zSCX4wlAo4YkoP>d_!;}19RKurF553=o2cq{O&ce-$XlAHd3WTY8vWm>v*}_diZp-@9f&f(uHm9+d4FBqbU%WH00W1u{i&6 za?azZxU{&~htKW?ME)AN-IZ0F2rpg$PWqeL%Qom3>T)eRJHpo04g#TO z!ykkS@Wu!hi^RO7CPqC)L1w;`Sb0+ENoh7~s&CZS%dxv(*H%4ybh7W>-qF&HNv6KC z+941Kj9S~7b)aoje^*J{IIb-2amKyih{Ri$ZaxaS8u}!JNqY|4Re|cH^F)^wmLl%T z9Xtw&=d7Hp;n1lS^o*3Kzb5KP3z2gQLs7xC%yg;O>**M-KfRd!9*mKKoiZUJy=Xb8J`FWfou!|tG6x9_CHv)yHQK{h{TbL@wajMTUku3Zmj*t*-l zv9_y);8NCwJq(Vc8`fYqPajE%)zsAy>J0DGzW;|4yU+CQVD}Dtm;!aQsiDx*(P}br zXosm2hIqUm5}g#ZIUwZEBj;l;l$2E#LP9nX&3E6T@=EdD%P~lbN#NQrX*PGTP>5I@3pb z4qrT_$6}|J=ABe^eRaaTse$dL<->kh^uEum?{)@m+i^7Pcx9znD$!D+#m^q3Atxo9 zbM|vV^R_M2(l(V4obf1~A8X~LmLFp~yIMPKTQlOP4o)q4sN%YB5=^4uXlvGf%j)4j z%pc!v^7NHQmWRcr+-19pAdzTZ87nU?6Gxp1XD@yR*S?RN%FQaJ5=^Gg!yEURP5Ve* zYBlwAgu35;GVqi6}b(hS=S;I6qRAq9~aT2C>WF6ImA4S#+Pwjux#GD z(AKJ3Dh{5FL}bu0I9XNT>`8s}d}lNU_jFQP`!odtoduJ;KkV<*#&7oOV=Dr0KaF4? zQ@2gh%qwEdnn3X0Ync4o&RNqx(W+>x2 zQbfk3;@9naF|KnCOl&2ex!D1hd7+rMED4jx4MR^)hZ?0hH6tJY*>)Q34P!9IOL}ZE zf^O}`*Y|qkv)TRX)eF=Grf0Zb{bSbQ^*gWqvSQizN}9=bjyM?#r(Q0c zoriCUPBP{SJX7?J@$30ryh=!Ds7p@b6DX zK}(5aBYRrr8~;xNmK7G4KZoR5ku-~#=_tDQPppQhQpC0NbX3}P35_B+ zCnbxK8zxnzcyhbA+Bon2X3P%u=6Wipi7&7v;5xXpGw}DS{W~Olz1p)4DeS+LdY#|d znqHDfe7q_hi|0;4D_hgXHTWg47k+T)f%y*aFFW{IXlzOpUXV->#|PeHA}!)tcWbM( zYc`l*A~*EtO>iQyY`h)n=hWlihVe)AbhM0>*1{@q9EZEH;h5G<*=Mc}GecmCS2}*& zegd1;OjG*#om!c5RPwKMCoDx3@i3iiPc@0|`Xb{0fZup5% zd2+SJ4|X5+``XbvbhL%aQ%B`M<6^&l{ctX59|n4eRdER!3Ykn98#icjN+Ia#Xc-*b zFyZI9Umjoi`?2s-kUT>&r+Ay0+?*N$4Q4O9Hu_riCO9`O=Vi&&`e;2jJIUHP^^z#?0<8J0`t@RdazVFhS7Y@ztpB?5s>I*KEGLQ*IYe zGEG{rvANNbTrYx2TMj>2O>%{!`@8nuuyn{)Rg)`){~!o;j>@JR4(xb{+fT zhgDsaszKKUMzRJIkQL0XFWGfG{Dj;teoSWCHMI40xaMuF8gzbz364G+fr94+GHrQ) zPaE&O>;3mB+cTvon8^XRrIYdZ^?3Yp>@WB@Jcoz9M2l7wMC{3MEtt3T#_G@g)FQPt zfeDB<>#o1f&MPipiq~blkYe5;5_>)phNgxj&GkRGB44_5DH>S`G7puei=&0(zVH11 zd{gAgV?d9#=;yr%|J;0x)1fga&VC3z%uB9u3NgQ!1leD*(XDcj~(R*I!j zB7B!kzUzd@C!BqUmI|NmwFJkozMqjS8+Vt@_M7Y1rPX_lxq<&j-SF;U@AbvJzB5*A zy0975BRWM7gYU!4wwc1?ajgVD4Sy^@Go;zs)!KR0+&*6^q5c041+Z*ZubJnr$KSjj zo^TVAxny3FE6Xdz(dQz#ZvH+B%_Y}Ja9L3)AN5!Tfwq>W?w{X`-KK7H=zkdkfk2BX zT`N6CY?@kJS|J|-#8C)PVsrvW;kk98MuOw6-mT`$*tC4;=T0rnl{%l>7>Gn-JW9$2 z(>C$&X&TB3pP{le9~I@r?DoYJ%nr%0rNP@x^dry|LR-%WLS0iBnV7@F*#@32)-W=7 zGp3OuXl-Za`16W)7ffGqWF6!}f9N;GxtX`Jgn`NHEr3@DrYwW>_*B`XJx$op9@F(> z6|}!zAW}o3l5qA~EK;9D!``HTp93CPuh6C}wmm^9dsMMEfI|TSh;?n@=H|wG$leBX z>19kE-f8roCnGNWbL;Unyokf*C^VM>?cE1Gd{%JYDNQ892Y&_+Mj0VopAYk4uY7fn5g&&ZK$MT92RJxJuByA1jVUn3i=J5=!ouS)^@tTl4C#&GeO<@_p}Gqz zh|aDy9!!!4?l^k;7+!?@&=@4TdnpFq6MNQrtc+l$o#AolL+QVySm~^u*XK(Ww!2m& zKg+}N?+&7G%O{wt=GTiP+p}dFu1D^}!eBS7TQU+&-hy#@&4>MF1e}S!!W1rPToammtLAzpevo#s2$zC}|NP0G~{3dy;7?G)y8FM^(0Gm>6_{Mo)v zfJuHbY`z*YG}6%Vlju+Kb?VDX%NPH)o;>3RWLOK=Jv|Lp#xiykv)N*kA9O_ zGR=3=rad=~=j4|Z;6<8@xHz|%kF%~RPnjo}i8$DoWYYVAe^-CjEvYT5narA1KOToi zlQ6Wd+q6?F=tUdbU5r!L_CugC0Ym+i7g}3i80za7O&{qw^!r`ccR?;PlWkl=GhNdtqTV8%*(3O+yvHym4N`7{Ny%iLs_&dS2nmPI^ueuH4HmOd*BfR3%{ZcCTO8 zmhO&rrmr`ylmrT-TexPC2J|b-R?ErrNVG%pmo3R{Q*_yR{r+aJn3pXB8d^Kr* zeCRFPII@DAdbw2lzEE!LrCSp&oa8f4Lz$7^ufdMPA#e}`!$nB~aVHrFPccOk^EUA5 z(jF7%I8eH0oyTRdF^oMh9KZJf#n11dXWL@fn!WlxvY5to&c^nGH!yFauW}mQ0DL&H z+ep@4%9M}>(eoNL5!||aI|#L3ynMop$IqmH3v8Pko4(uId9*qjc`fV-((azdP$lFS zG8F=6?wDY}fd2T;91qISuh;QrCi)mR$Q@u?USTPAp9sf^OII-3vk=W+3a+$a#9s;y zVs^UE8=F%e+RLejot1I(#I!srD?wc~@B9!|h^Tr(wHPj8mCu>)p2rS!druuv8Z;5V zefL2u>esmNR~k-5qyySNv)Cv&gUd&X_OY0a=M0+#!3kmw6-&|bZ^_-yRH*cR$obJ1=A)C z`Ts+r5_v7Pdk4iF0cQj6qodh<7&fAxNX`OI#yer-m*b$Xt6Fc!z#eUx*8CBce7PO7 zd!$2$Juz~?2>P@d#T$o&RRT7%%X;nqCry3D_fat*p=1=A%gktxnFn3K8n=G z_+)JWEQOEZ?mYry26n{n0e`{7P>T^ftIkG|^q&3uBBnPY{e)tdgVH^)`ODF23vV?w z*2lVK)3E&O-!ZjYI-2OxtfXqQE9wF%!u`ElcVPrSfJB=nDdxNBti;S$31;0*?H+46 z%$?jHI}cvL$@8}`dO!!JzZF5xuqCgYEd6>PbanOc*{7Wd15hTzQ?JnPw|rN`#|H)#Tb2qrG+p@?b9R|+Y? zn!cSJ6q?ZQ=-dK7t)76=vPvAkbQi6f<{%@Z0*hDvgih8uNEg=L%O5&*4U7F6b~7{# z{1IY?pV#@Tom?qM+g|nYMEtV*JO=evi>u(Z=+V)>9VBBgjZ;!CH7eK;nxB!!8Ce)h zShuq>F}1cdYFF0@&t1Qd@aX$6GB$%1JNVX>BN)ebw}m(srUQdk!|~OKE;Sx|J^U%! zH%(};^d1k>#Ns*QcrEu$g33K?T0QZNwn2&(7DiUgTry|o5{<)B3Ff=$oYZVc3D)S@ z*}+SZ+@fQrE?|&TDnjl6kE4Lea<+b+hCQZ@tbNk<@VVO<-@s(KqEeg=!Oun8iUH1MJN!}`{qD4**WIo9Nh1c?|cXhK-sC!96qY=!W?ddf@oQSe(8bj&1AS zZ`g(Y3*qHvBeEGYaVtU4#E5yTzD6PAHvVMvOzaMij|2?Cw}~^36@4cL|8CH{@(cO?BCGRYu2Fa z{I{Z0`xX?yMC3{(ST+uq-D2ENs?PU(eK7PvLNd>ErtGvoSM1a+KMj7q9y; zNxP0=?uGbn`z5UVxO$QC(!7)gD_0_YM=&L@*8OIt#%RUV!wKdOz=j<@l=j@kKy-B! zp;DycdJk^_m@qZ7G&3-KmQ_T;T20X^&Mkz{-pa(bK2ei>yS*wA3#azQC!dF6PMkhSuH8EY?RG zdx_FiQ7J;;?WZ_%F$8wncd+OkASMwA2xq2~Knw28o+2pG1{S7ThzmP~PveuY`HQj2 zxV5()4lSC}>@}}2Lr#h-O3NWMX`)-h)OP(bqHlYw_(F#fTn0PF$%LkHxNg9>74hl>g!*z|4j7%O!q8>nXx`i?MW-=OXv4_2<=;#C@o`f z;f%ppv^pK*I;HWE56Z@^hd@|nTWnY{{*_>Kr8tz;zvVD7;v>lA3Fc9f zU%~`UQ=qg7Rr96>*tUKSe%N&dCoYG=uWcb*8mYq3Bm;HxXQK7t*Ka7cF7l|gSZD_) z^%U7AkeC`OqO!G_5U-Fn)*!3{(`!Pn8!? zU3&Qk#ECiOCza{zYT@%a@30%}i`~b=5ODK6#(Nbv_i51ZY3_)rD?hA<-XwySl)mofRG?W+6B@2>tu|)r;J} zgW_@g#7PWs$%ge?mU%%aDXXZcZJ)3zTTNxq(-ES)5d;e=^H9hP_WBkn8$Iu5_%LGU zj`zirq;$kRO2vldqY?1y=e15;yo~hc1z7RJ3Ah^F#q2j123;poGYV)7lwVs>CKbY> z;__@&UYsHx?*{=5T@t~~R>Y5)gL~E)k5CQEJ{*BP0f({Wmz(I`7GNeJ_Wk9EiNiYb zc5=$Ie0X`-)*3@iV?@H!46-9bk$cUoZ{TNrslL7AH(d&B;{d#VN$+@8cTi z;@GgRwu1u@aOHNr2_EL>jIh}5=->RZWc)V=PToF(v45R|HVSz^_kuYSF|wb_E60)s zyzJ{gnAB$1Ypi`!NKDP83n5xQ)lf%D4K=r|M8+1H9U@q?tlG5{F z+q`~t#+@B45dTo}k`U5MnqkCyy?JwmOe!n$n!A;Ik2BD+NvcxGB~?OI2|OOCkEClv_G!ZiCXDgo@W;^`STS#4y^afwdW=zRBoCLIBo3|J zG03;wEA!PaBR2jS?^9PM$Xu##N{u2QC6o<0)C9kSSW}?5%ECy;=oe z*}{R1fp<|y#h+S1%LYJVdj~P~INh5n_Xp?+$=VYYPmR{0+R_ znqvB7|60!#eLoqal)E;DgkTla`>3cC6*AkLy69?4-qJqZCi?sgggExWvv@CeTa^(! zpobH7Z9T(JB{mepJyKdEq;9R})af&r$|QeZkOn@PKTfv5#`g7dSZ{D0 z?4_>t*xbxSXtrs1TWf-2vQj1(rs^2^-HBJ%avb0UI8VRw>a8NoG2wJ8BK<(FD! z%Wg8M!4=x+xEVci@Y(u<_;KZg*Cv`#I!((a>8N10Td3t+ZS@qA+V7W*srA@=TCky1 z`DzKZr6HcPx)2eUnuzL)R?Egx0~j*3fLpn6VaIXbIJu{W0n})@vu)CD4UtCRs z4VoHCBseG{AzbNKehFg-xMA*+zZk)#b$|IapnP557BTo>c?s4p8^`Aj$s>WPe&^re zeZw@hXjzpcrwAyZAmhO$^i*<9F7o8*8apWWq>w0Bw_=m2{ze5}5G<2meWvvA5`6bj zMoM;WagwQtzRHSE=rNnay|W*Zvd-0*JzpQRvH&JGd5Bg2{sDgd-mSJM<(7azjQ5tf zW{G67Y3l-IOm008gzP6*Fsh64UGt|||2TQ9@&f?#3(N8%@1@e}U-Ao6^W++s8gi8B zFRc2YGBEt){DhDXzwIl$KTCkK^G8y>S`ix)#7p1=aK_*!z;fIrD{2m5rOxi4UsE z8%j$Y$~0)xstI{v)rX>+(Mh)$!NZl_3OP{LLkmYQ@YxyHLgSJ4BpmOwFTwo2%4thYxO4}Y zHnz7)&K-C=fl^0_SRzGudZF#U#Tl^)`Z#qKKOW57(VQiuQbmN zb;W&Lf!tvIlF14kK^Yt^#Td-`Dm^9Jx;5ds$N^ny=|LKc zOCb+w@eb*_#L~)lJj`24VkxBriz4IF9;IgF$6H$(D{p1Q8bFiwqecwJrJ&u7j@fz{ z^uoMc>7J~qVV&r{RXQtLBVv<)&Rt%!l4c{2kzJU1Gdh`)!$@nbCc!lRN>^u*5==YF zcb|+nzHFA?zf{s9ISlFLgz(rNNXfnqYvnHR`PP8kqv!88!;V>vUw^PB1e}h#A?7%G zYo!(M_&U~%24L>;Cz$1(0u|W*Zye`Y=jlIU zuu7a8GkDQ=QKtk0F?@llWbI2>>$>f-t(gAy#w3>%p6SwFb7 zZH`HkCgR}X?eOoWd>5fA5quwbSkW2tr}RW?d-dccXXO@W?fok%1QK#z8Gmius?#R4 zak0e%YN>?a%8E*H$+knc_N|!HM{V_@DMNwdW?<{S0KD&A@YY9BkOFlkN(fumq4;5h z3fCH_0XvR_T`jK=5xEpgCo6!4D(%_Cs`~m3LMnUr@a6-KleqLqgvx$Ba4TTx%w7w% zgqn&)rzrtFIytZ|dmdJP7XbebiTt9HZ!7i$>0rdzDe(1lQ0sLoD@8PfUSfYzLGWs& z{b_%zF0ZEc3Welda_7w>z$$NMxKq zLhviyv$bo@RXAi}5!OuEVg%ElQYkLov^RL){0ZHrv98lWrLC_8WJYcOdKwP>9fKdw zUceBSEVNZwU{Q6@jMRafTCj8JkL~Nd_@3oWAuTgM^ZQ-b$uuHjUy)wRHdb71OWes? zZSG(Jy5?-OhiH`bEX}P%CKigK~;S^mW1hvr*U|9S+0FC-8OR zV5}k)kfL^W-*&*FneV}+b#+A`=0Q3#vx?A1jnd3GI9yy>LB!BT1k0pXL!iO6@u}UR zQth>Lea8bqe_o|OWm5e6vD>F-j_N$dyQ96IirTLbw6rua`Q1(c+a4r5$6+SbNl|go zu1G_Vc9nb(KtsB4TC5}DDL{pMswQAi%q&X_OPg27C7it$k0(!`s*T{_h=kakM{fs0 zLawxgzf`#btw8#^1uCl%Oe=QSxY=>ZRQ#f9EM{BLh-hI(4J@3}r&_W(xgV!5xrCIAd}y(gZ`=P5ipqsp zw|J1!?=!EUG=J*y!#kMnOT@}cFCTlQW1z#e>iYWd&sPSPc0HVt@#q;>UR=hTOl&K8 zoSgl1?waGv1O78^t0Fa})d^ZLbaa0=p#O`x$Be8(JWZ7(ViP!iDIHp3R)b$o)|rX> z%k$op=`iEtM_4kjfbR*qGLterHxLV#g~7zK9rO*FprWz@S?q-x>`{Tgug5b2N^m#s zK2|JNe(6M-P?-J2u^kT*v&ep>wHb(Ha&X9`*U_tOwFNk8!Yg~pE_U#2g?O?Hs%Dwk zR(#-G%;m8I-A;^r$905qZ$QE6Vizb=Bzof*3-q>!@fn+w=he#@#xjLC9EwL;K1onzB*r7aSjXxIs7_I zMdcb8(m~8;XHbvuyxg2mh|A6`#>QRe;pyHM{e6@ZE0L6zn?85Vi9aEcT+03=f@$W6 z_c@bd`1wMYb&t>3 zaPZ(>1R`&TptI}pSHgJfi{g^c4{?1TOjR%vYP14_l|M zRnip2@k_A?ym$l?x|Kmb@u7<&Z6$0h4Z;`SL}AhVnP^|nIom~F>_qRL-LP=759TiW z1y`GzV%@*S^XaI4yc%ydE&cxNo-^0tDG7lpxD&xNMoPP8v4*CAYv0FBp{`kqI^8oa zecce0mcvz)l=I=Wki1QTpZA3vVcKY`dE>j)z1)hLkdT^-tLKm4{T^kteutFKIevxM zvU5K+eEDI$)_*Y7FGrAkCju; z_IP>m$+}P{!4#e6F{l%6AHPYH5z-lXdaLq2T6bzgMWslzV3PL-Z-XTNdH6EMb*r6R zDX69WTBqapqoJ5JMzN?zilorf5+OTFvZ4u9{-N>|${=^|Uy+yRetBXqB$7)T5iDD> zjxKN4!J*ocb&5hE2P;MCkL%kXT`H4QyS_*n2AC;?xyKcC$86w?J9?q%l|XR%z*JbM6BhzJyP`rby^5Dl00JDqVb# z9@`2@l4q?twmvnu-lhGYf031NndSE4(04Pp^8cj)&}xY{pa_<<4ZT3 zJHmQ?B9|oh6{U)* zdomRIK6#_`%-YqOM6L=vNzP6k|LOi;Z$>9ml%up;mQEs6BiD0;SG_gnn$V!vmzU%r zo(Mk~DwSkucTEiyGebS1tN-Tdd)JR$Ii#mk|3~8mByZ{W=k{$s5*ozDdXiMBXG(tBPnJ(ap;9C$+6}F_{2C}tg(L^~|222@ zF>O^*{8H>_`KZ7;p%y4}4eP$xrf$K+1&k&dnOQV*MiPzt!;rZBWz;`Sh#$#}MvaMo zI6oH>ley@GEsjJM#)NEfV{8)&tHrg2w$S!bTKXt0^m)&vhh9pP!Qiz$$;l&aLtpRj zopXNo-gEBBFD{Sy)U%U+c=ec|8_r9JV&-Pt*d4jM=f%(c< zGXxe3%Zdlj%?NbR=?Mlt{o%5c z>S+qF@y)~goiuykd45y zSPPYZu%?_2tK~)Z#|W$$Saz9FCqZ^dNMIcV&|NLYX0k9aFi`6LA=lKg58H;`K5_nJ z!~REVUuZDZHP)N<86IYhG}E#z3G2lU_ms1}%Y5^E*Kl9wRqGI))1u22NumH-B#DDi zmRKx_$683SsouLeW$lpMlD36dIGF3n*Bi*_KX%D_)dFrCUQPxYL59_T)ogTL-O*#2 zpxSf%qjt5ivb6ls?RwMWJM}fYO}gqDgH~Uqd$3HQP^^i90!gyFrY7##yzU!jr|tT{ z*ht@?bHwTp!2ROGhrr_BJg7@zEQu$^LDlA#x*DR^WR6;-z2K%|XB8_~9UX8mpd%vN z;={o~w+({_g9*R^!v?_f{&ff*s&`Iz+|I+-3)D)Lv1+4kv%aLvpf7o-RHH7|muZUf z)f@726*=@XY-dY?Hc|62DI(59#8G!3Bm_ji&FS}!j0zsBT^JX`(J1%*s0c1z`Sb)5T|)e8XI(wcuf=zR5IAP@q1Oquh{Wg8JdYI zZw|X1RIx!a--VNJ^_D}HHm*R=f%9}^_`ITZ;(PdczCQxnO@lRL{k95HQEOQ94$yi^ z=1S(sLQerm>;s(~^GP;J#KtWy00ON6LBMux2wLtvR6$bo@{0=(F#dmhpypF(j4TIq z@z{JIPw=opLPWZl@oFS%?x;k+ktucAlKqwq3erjZa2UQ_OHK+^kfq=!zn)5xEjjs` z3e3g(0OABQgvwo2?4Gk(vIbxjSdTSQVgefQ1f&V8oA~Tr>cS_X*&=)-8Ss@{Qwa}T zGKkB10KsNJX{DBx*+Pz5?rPIVG9+1jmzqr)rU3R_WRCcqg5v7D$mY?*ZyDR76#{pm0Jujj5ziTSPXf(wnCxm;4WVAoNarI%h2a0000< KMNUMnLSTZ+L&Zk` diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png index b05ef173c377be1074e0064b04f607e8e12c933e..9ed9156eacf2572af0fe2f34641024728ef3a185 100644 GIT binary patch literal 9891 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 KMNUMnLSTZ+L&Zk` diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index f13dd040c2689f94cc554e2af14cbac992f791dd..3f1ee216eeecb6daa51e0e0e70e8b274e76c8a9a 100644 GIT binary patch literal 15482 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 literal 19115 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 P00000NkvXXu0mjfqSht{ literal 15495 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ⅅ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 JPDHLkV1lSURxSVl diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index c34708840bb98f52f77356c48561c4b9b4c5bb48..97d30a6ac46e458899ac9130c98f01483d2f6205 100644 GIT binary patch literal 14222 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 literal 17621 zcmV)jK%u{hP)Gz_5Cv2OyV!f|4SRo4qb5FM>_(&h>a#|pvBnZjY{cFx)}R84pdbn& z7J8B1=0E!mGY(bC6i8g(cR!e6n0sdKy1Vavl)8P}8~+3(MknA+&})1MeWy^yOBBR@ zmUZxo{VsZ3&)QI>j-IBDqN0M1f`Wn?drrCV?*;70;q&>K`S}Iu5pR=HKE$Wx7oLk> z_;R zhmE<4JGc5K)`t3;miCqgW_mhmM)np4#ylQRUqJ!tjFbwDgkV2PoJjaQ zp99hvQ4>NV)XGnjo1Kf7f4{(M|5p_yq>zY;^s`wbbK{n7R&Bbs zso%a`GaC<0b(MOISc(-ncWJ~Fe_nwDw0Jy4tw!~Xt=UuVEgM@Ec`ajacGUai;2RGj z?%(l`^t*T`{62e}3IR#Q4{_p_O4QWY6a{u5)HejyP3`#h&Feu~RkS zlx{kvFC9&%GP33}a)#awjCy$cQRMv#cV66m^(HZ%y)>`zC{9>$69I+4b2lqHz$7W( zx`}PASNXMqoSCT^cy|3M;v!;;6RIp#t=Q1P$avzwW`l>4sKv=zLYlsR{#JnHxChyULoS)OBCdlAf>q4Rx&o!(w#7{S>Lh!nhtlcGHgK?RxXQ{5|}fl z-KAB%o^)(k&?oci{qRc%P6wPgcJZliW_DgCdr1yTN>mY1>HB+mKa9T1T1V0vcOfYx z^yIuhveUE6A|)p!87cMF&FMLFSWnll71;%p%VK2=9#27?k+d%z>*w@}T(<4n|27}I zcOC+Q3XgJ08XfeS-=L!ljO|V2_Bkqw8bi*kv@Fi9WX?`m>YJ04O&ge5&l=lia^H>( zMrvuO8p>s{H2`(=HEn*L|J5&xzV7g9+u^_WZ#j7XSX@$i3i}gt~Obq%!a z7EkH)Psd07yUlq9J*Nkxtm34w&DIKE5wCN)-y%9Whtg@@gF zUOcN)Bra)Vre`>NT-(W``!@YrTT`{Jd{$cXp`xs0uw-hd6%z(}j9$I#=C8YsKRA<} zlTS7&5mj80ih}&)WReu6(33M$^))SsFSpgigulm=3xVPekGKj~)Kphd{cd#YF+WUf zw}`3lI`Ud)Z32aEElqSCH!t{V!}sIce!XJ*^^H4^J-h?~L5oXLk*cTA6O*KTmu`(= z>|iRt4^RwpA?Nd(!4ymvmzLtrj#9@K_6-lN9+t1--tbtJgz&!cBMr$J%o{@Z5J=F4lCXMcu0B~eHRj~ zkeQspZ`j2Zn)+HYU2Ad3jGUBueCTr@dD(fzQ;nP#-kGH3|ArngGSG6A)tZEO{VoY3 zW*@|m#_zDCpWwMWp;s_`_G=v8FpBKCD!uQ*pD!UT>L%EAMsfzw=RdyKvw8yD9A&FI zb+y$@HqGn3et0jpt^>b4_~X0SkFgMtl)igm_(^1olJL0y=WTwIuRLI2A-{l#Ovp*8 zw5L~|h})MUHLjtith!=m*O@a%wVJOWV=tUk_`$P*@Hu%N3wor(L@X8En%yEg>Mt;2 z)^Auos~;R~EAERueG!A7wqAg%ekcaD7d&Tf0BjhZfz=y#qEqJ{7(bv{nMEYh0G+Fa zn^pHfpBc_GSDs$>$GIoB@JTobZBYUj8zmv~=!75NwY&W6P^ptM{C*f--VZBPjoVoo z7@yiQYF|SKV=rm1qc}*7PhR2!69iy!U%GfDU*lp0SQtj&KXW$0-J=!0XKLQ0ZrSnv zsQ1bE{d6F1-n@a?y>d{e*h{sUp)$Ki7Jk0)7ZOu4IkQ35^(S@pHLVV=8M?DwGuvOM zEIYXw0uG2vQBf@_6DA-#v{6?#zPYodOxFoWnVc`~JjbgC;l+u`#Vy-=*t#9vIQ&2z zJxvE`uA$U*y^hDibw21`FA|My%73lCCX;xh3lRL~HfGMh&qTcm)HHM`t;jwNk6pn6 zx{An1jfJ{GGCb@Guwn@NfMxho#KjrifiwOWFm+ih*3az=bs3kqQAO5&hIme~Hq$d7 zx8T@{n1pnyfD%eka+rj1Q3C(zrN;^%<5KxfUJYfsPN|TSa^sKB`HNQ(iKL~filXv@ z|8$rze^UDuii$i|*>?#m24_R52GlD#m;gWaOT~iK`>=oG zOqdzT){`d~=xUgs-a2~c)MY2<>^lDN8j4ELoWhrJ1f^@rt}VZ5Ur(8=O`_y1M`9|O z8|mo#{5)c-r;BAjNuIMZpwNyYPXPs`cIC(il$7b)Bok+DKF8$2vbpHRp{%5+v14if zO%B$E>*lV%cmSUqRzeAa`k(ZZi3FACyO%{wT`e{3OFPFMc6KmsE6MX!7Np814C{!+ z8zQjMn-8AcYT=6_B95tfFZm|HsP=Wv_;z!cBsHA&)5%S_c?IPXR2C9cBIGR3#&oT3 zVtII-_a9Dnb=@U#uIi$LryV|w8iK9oj^dkc1)u*1DdYYNAVa+|w=Q{uZr(|QJSOOB zscMdzdvr}sZjsb-cH!?Lf(BoC!f)7FdPzKqkTdvdP^l7=h)NO#v^7ACsp{l58qUR+Z8dlZ$R!hk(L z`e~FxUTz-Wtw&R-tfSiG47wD^^{f;=EK;F4~34x0ctgogKIqiKUb-i%CKy4z_O2W>%X{|WwWa)7L{LhyXzFQl{qvGUmB~rD z@=)K962#P0S5`f{ZOrZlc19i&S)r6+Yp##oE4*>*Q6%QCJ&pm56Vcwe^o&t;5XO|_ z<_kP@>D&RQcXWV~QthaE8rt1;L}GGg##=USBac? zOfOMds}Q1;q`In-8YAXTm-;51CAC0VfE!~D$|aUr9ng0(Wmxlx?_yKqSM0cP1VxFNE%rM<=wcw64{a^6 zR^&>PlRWc#hi)P3W2U&&Zf1gJ z4b3so+Xk(gSj+okNEAGtg3`vhy?=cED(?NIyWxH)*_T8pAZ|Rn5iAi8zEb3*(l-hp z6h0Jr=A-&F={kKx%T?80O$`N=%h5q)ZsPbSRLxfg6sX_7YVeOOy?>n?@iwXW9H+d( zpPUD8WNTb)2dTp3q$>81>p`M*qR;_yva4&ddBIoP{%OMuDgwoS2`R;4Y^ZHIjy8P-?(^r^KOjMVsV%OJE(>lI!#6evxwVK&m`UO%!LkDBG zwX=InU>^Jy6sw{aJGhn{&mpa65?;rZQ0HrA_n7T$Z`88NXa9m)3+BO( zK5`-G#?6Njfhak=flxs09&dtP^DSMfW`BQ{oN0+45q>vR_)w(InX}MneE()Ms&v*b zsP!QGbK8=>KQtTs%an|)T=7{=LV^-k_%H5+qOPrRmBLG(C1=Q$An^%rT-ZoULq%iP zvH?3}-68n}H46>wjGPay88W;7jDssslAN3b&CSXIvp@NsgDS6J%Oxjy=VEQVqA46Z zmkn58XKCP8>9f^fP*2gD_sO_)Hyp8vY48tuhs2Z&WM=2FJCe_N=JdVu`4H5EvS+DP zLy;Yt>dLUUG=#mC0h%^2N8<*jFfx#DTdl0nuT#UXynDL({&DUJ6)KBMP`>bIQglL< z)O(raq%07Pwl0LI|EE_wM~|W1U245Lk55j=m3uD{@a!GJ!y}NB5r;Y&SzMsqQX6R7 z2GCRmloiWQWm51xoB6DihcI{zTMcD|Nx^>~+$cD>4HFh$Uc{7`=uxeKK zsi&?#_fOBv5$}Z;N>NU|)0|aPNApUJyeadQRMa8134qYnR9^o>ujREhY?Q@rxJ$Rg zuf6+5Q;p9d7d(%M!=B?0@zDP<8k?tL6f;PyI!eB{qc|wl*~Uq5WacCxF!DN|1Dcs6fH8gDhyHrl@2X!=^b?ev$;3%ds$MdwZ_3v)s93>5spKRP zEan7pwq~Px##W1`bX;HUPa#7DhsR*)mJ8sehhiwR$GyGfw-%DFE$h?4M^4^L+zfh& z{(oIUb59R^J=C+-+o;SrR{3RNpQ#>0x6Z~Va*ErZoP$K(dy}u4mHkFyC_zpdOIWOU zm=2{SQ#*dkjQ?8k4Q4STaK-lP@V#{#^ZVw(NQQ;P6#$U9Fa+?hVa7nLpC<@P(l3_%x5HhI@c5K9)FQ-hL3%ra0)1Kr1X7`6n{o0vu zBZqI({I8~+za8eEnwBjjr%-|ly?1WUq?W@!-|JX}oHUP}+6o(A z2Mu+fVa>>@d*1Q}^)dZCmXB@ck0IdMdn}*XwN|S6X~SC#*mCgRh3wpXA|}mY5;{jB z=^6R(B`QqLGHgx7i32^RDA2&l8j9G2G^P%BU|RclNVtVXE+8{xdba|cd~gd>mt|n* zvH`U&K5A=jU_WWFM~5wk?w@53DQ_tpSWCp@q$eeJveL5n<)t-6A&rp$+JRRm#?ahS1aCzkh5gICa@O7jC$6>*7a82`gw{3K^$QUluy_SMCtuy36yth{`1xpz{{ zbkHbI8f&RqjeOeR7Qoswci?l`8UwmClHB5DfC&Se^@NJhQnG%!gK8T2SLfQ9~ zqy}Y8Bj_6%ftfxqb=HCsV?Q|}^>0(*A z5ZBBez{34!(4|#9XlvGvtpN!hjVu~F+Z&mOyo^m_4{6~gY)^8G$|UF8kT+D;RHFZU z-bAmN(qDe%P{1zu*GrCJM#nhVm+$CF3~v*G(~p2#VJc|t>57rV8*_ymm32}Im`HsX z6ph0dg0OanKU~Z*FtQCzPX7G=lEdD|EfsUuU%)Sm`d0Ci$R1Sl>D|+{{i4lRC=5j8 zq!v_e&wGgNC|6ckiIKC&FjS759h%!UG&9nvSdK|XAYx8fbPTP`UT||QrH$9|z>#}A zXd1g=$gsxP;%P^t0;~LfJVs_uS4-|#H>W4=2E4}hBlnQ>?iu>J=c1`?`TtKd>i_!P zk2!&@;8cnE^zw#xFSibioYe15Zn+8s+FEFPa`+JTuGFxSQYk@q#qs^!y%lO${9@_W zE3o7RaA`kjg3Rwjca>pX-yO>qw&v8fG(fGxbfl(bVe_GTnDzS&3~io^=H*P5`lcHn zzZ|-Y%?oOe^t7`uuL$sO?Zkmi`R`V4M_1meHFOSegFn81v< z9m;7DUMoLUM{m$_(hz(A`i^qsB~_ zqU_Ja`FpY6yTqh3iGl3Ob?4PEa&Ql4dLNpfq^sjV~po}uFOsxRH=XSK}4-0 zCyn)P?`h|D^x{+6wS&|;@s4x@g_Q&uBW7L}&lrhIPM(gIs!G3(&V4F-a_Y5-OH41a zkyLVOCUzcsfNpK-!?lW4HZk!Z5gq;r;|Emf-#?2duYrAjrZ}`=q}+)q4hv&l+}QUu zCM@_9YRb>hM9f*zQ3u{9rps?}Rm4{v8Z=|%yp5t>yHI0u8Kby}7>M^7DT%#+*WSa{ zQ$<;^Qb8K31{ywdE3C8=k+1EHtv?QfDl=^VIQJMyFE3y%^ThVAs+urf^z#LbZkzl0 z7ghlQk-+5$C!F2kU9J5sr3G5k-c`dfcHSSz$O+-RbpqL<*<2@X?Lzm~^(gwIicfZ@ zP_>J^_IPHl6elNvBWK4J4(%#?Qc^{F`gKrOGm+ipA^7?CyIj$1LUIP`>ae>ZU2x&^ z3kq=lRv4^J^(s`a7#@{?#OOfSNMXt+`wnpEkp<3d9}czZq;I4Qsz}I_xG0;=; zd$Po)0Bg?cJ(9HP)bZPU)NZ$390bv@U%5llwIqaR!L52YN(J+!5su@w|)FL5aUJzGY(wEjz4Z- zYR7c0q3lhL19U$#{oz$~A|5<=h-p)+vYPU-@q!X|uNnjMS~SF!=7z4HKLpc$I>}|4 z_K$Iq_mZlFZmsJznYZE6pC~Fhi`bnsD?yx`+#kENs@H_aQ>gSDU)m0uoFOYSJ+4WM zoTCM6k7CX6e6IU&*TgKar?BCiB5WKz@Y~96pAFUQJnDy8Qi!ykcmQ{339-)}2o*YY7;_0Si{2Xy@#JDCzW15k$K zBqYB}L>(I=0XelbRcS-3=9N9!;wc?*@QeW>lQPhyuLWqon%O_?!~SVScSfU32UV?m zG_ok;ojzgdwriNtTC$E1mAN%=YfEz_%X|%`1Urx303BUD{JDNK=PV_qWTOA{-|+o} zj+Et)=$ihmaBpZ%Gf{+UUEC=W*_|oOYZa1{=U`=E&ExSZ?IBP+Q#gt`f;lnYt~$*m zX~`}7yqPBb`M_-)SY3X+lfqB&?_R*npt36|9|vy(hqso$Ph)OgKD2r9FjbDn4ZoM@ z-qsOY{qiC+(_zO8D11CEp%26tzbhXYQE#V{glariG{eD6U|T^UOz|Dy)#$rTOljhKfbBBwY(37quIND^egILTSh z+OW#If>MTP|DPwZd~hE2+yEZDHOB9&hjQ`FuYdGGRQyAZoMXL!@7A5BUBRGR#x`m9 z1EVlP!aTV67+5r~V})Mp>F$EJNgr_C&mWiWzQFW$={WtO0hfODeHeiizg}UcOE!Eq zkEeagCA-jn378Pjb+)go8}c$P31vu5a*EgwJ|{U%>*`c_UlKBME$tfO7rz1w=;MOz zot?SDTEe0!oiXYAU@RY$$$9T1Jrl9@&-<7+seP&M^)@;ZniAaOvw&F`N%_Wbw5iy3 z(Op_OVC%Na__1FqGILV7o9eH}vCOUx#Gi+cVpcbHBl=P;LFN~7RuLr3>?{qe7&+fS zKu%$-vk0hFos*o-_C_|X}%bxe-dm$3lmwgj1CHF;if3*3s9HTH^!Fqg?mfHH>VV1lk#8Y?};BUw#s2 zwv8=98uI4N^(0&55ybAz-h;}wSm;jPO_>`!r#;oPeB!$(?{%yU(CmBXdz5 zWk`4o21__vqo8hFYB^kXP98V(E9{9c7W87OyU;%)&z`bpu56tY&bkr=#HHk+os%DY zj`(5i9y^?75?{3vqoco|BrHuiatetlE;U62&0=PrQe!7mJ*Hk&q`8=;&SrRcW#EB?drq-$#Z;L_5GAeg_4RUr?$y_pkDI8(DyiTH3awnet@nG z)3I=XV7f8&qyKtM9qqkZ!M=$hcAkHPVXiN6E!+sJ77xX$omY_cF&xqFq7fDuUu#Dc z))ZKo=u(50xH>PP*7Ni7p`@&&DD^4`B1bcKcjlnn;M6+7L=RXxAPeu4Z{zxz+nCiu z@?)^;YlWiU#8psKR6>4k7HkbO(aI4RBsSrgLQPLooN@Hm0bCysfxPyfyilxaX^aeGr-dh$7&lMzBDZH81%w{Fu7%o7_6Mr0(d zKCse>(~4nG3w9Jr>*8RV9qZ00z{u7Uzx`kDB0cF;T{UTVH$1(65?l9QL~k!Au1oR@ zBmF$jXVBdX1>|QYp?#^Wo^dwW{x0N-j5%nJf`fgQ}70FXAQ)<#SLrRP^ zQgw#JL0do{STz*C{pEmVXYRsWGX|Yq0BLu*(h#nvZ-66ztDtooFWfoQ8k*`d``8i( zRl`$(H$@%t*oVu@E8upRqh07eW@K~yS2;QPT;CS`ox*vF+-`FUFs`GGuC40HwMB)T zRJI->XQ@(C2(me4D!+)J69;*42i0ya+jbSrO~TPn3XN=p3xU9aJF4i>u^G0mZUvhf z)B;>tq%q?CZ;vldUk!l1ax%9o2RCk!N8hVp;1>-BGu9F8*g=|!{zgr4x$FkbVu$ZT zVDUzMoY*=MHsXLJ2djp`YTg7ehaw|e(Y4C~Z&PiCZ`6BjJv1PluAj!$+Zkh6-#MD8KEEZH2=%UV@)EiIrMi+#9D93*y&W( zke4UF-glCm`T2bD`9h^$Af?E6NtrTQQ@P;rD3l|G0Sc1uE*61mM57XT6jbIOuiSne zgB!ockw^OQ`L#o}-ka>n(Q}UgsZX(fSnb^*q%7p*=80eIQm>NIhxoKK8Lg*Ga9JFl zbb5R8ar)-94dM611v~$*>u1}a%fr!&LHK#k zDU4~A4tL2|1~m%odhp|u(uthqiVkwwdnnhqw{$RY`AH<^tUZVIKlB#8_W7$=*fQg;qD3M>VIT0{<@+(N zbuygFE~NTLfN_qrwP;rjlp;Zu)l~RO51zjL$fRr*lU{Po&$V!~LU?4L#K}n$+E$+r z;4(gn)$}GBJDK9hrtxSta3i*jiW5mTiq-yd=^pxj69Y9>Riq_G!9XnyFXA-t`-Z7h z`Cab&((cAn=5NP}A=&shr0!ouCniHcPH}=3fjavl=si;4D>)sk>)>s&a9p@#L9NNZ z`8+@q3C&Wc62PZXA!sjFBe3T>;MTG?2Dw;5T~&#bmNet2B8ZQ93*+)Tmn9B)j{JY~ zA%!M>P$)@UdKQ7Qx{83D3CS5B>Q%YLO)}799&fe+slOPBzjp(3MxGlF*d5yurgbYl z4ypvs`G#Vp7|#pXS9|Z32DYs8taMtCQjGbTvDIEv{Z-bvial<8yj21rN)RF%p{2stqbt|+VeQDYH+or#)+%Ju+@44YQ9WlDtzl@ z_FkIySTLE6`0PC_<@zyh7P~R>hVsd{U(*}Q87~tsHd$2LrsE~A`nCWo2Y-uSU(V3T5@G;=od+Gtt zM>&#Hq}G{gd0z5uWDlw~_jGTJ(0BfvohWG#slMx;i7|8b;q1<-m1?Ud0NfW?tbTBq*VT zjzY{Zs%( zw-tPc@u`53g=4ujp%t-fDez7iCs|KrOw9naHRV&!%FLLz_#`#U^w_lwv;~rr4)#y} zu8yXiWxd$qpaBNyFk*LijMOUS$^J~qc!8-)eelbo{-2%MNm9`F{$ngF+yv+RW1xSJ z>W#jpg5g!$FL5)ZWQ|}(kMhPrN)u0C#L#A|LdjXGTG!Oq;(k{ud@}#S?J&QZKu&^J ztERXUdLHc>NbwxbK-Ob_be@pFwU3k+VtVj28fNMrM0Rjm7GPM-SxFoB-9dfrunO%O zENR>f0emyhYoj$pZ1*C>_AR@K?1c8X00?jYd)MSLfR z2{-BN#(JGXCb{#=1QK;7QFWq?&keipEsH~(Y zce~S!8HVGAcEK6{v)ov3X@YiAUe-4eJC5wbpJy9k@w9G526cr-#=}A@0d>S;uViYb zrB|*-n}Y3B#kBq4Wwf!5;fN`ZB+YR@V8PTL)vhzB3IdFSUKY)q7$CN`|Y2icsH?7!_3 z3vf5g7o(@&g^rOUrj2L^1w|^@`b17AX0Gi!dm;G;M*B>*cFaTk$6##uIT+1~?zGI=!BaYAqwkcR z7~ZEjR|!wmN=*B3Qj%hqddf-Y&TQJn|KHwqfJJex>kmYwiFBklMMS}dSc&aKMUAn5 zC3@9FbBrcNO=3=>SB){TCPq(ULx~!D!2+TYMG*^1Q(Iqci#Ql|COoyD6zl}Cmx|aAZW`VnY=%(&NBkTQqrN0m~5M~mY`a!?J@<{ ze^mMf#k~?#h%yzsDez*76i$Yl;WPoSir8TC(DCqFmWm9QlFfRS}!XXm7l*E zdS&U%p`UfsNjHTrJ{k#ASJ2WcD_$mh(2W5z;-newYA;|Oz|AmK@Hi^F0by5tB0`{! zm~3*^N=8HLH&O2n|DDM-3J@ zPXo96?y$UhgE9U=4bawf^X&$APIYiLGYi-6MLf$d5}@ON#AHiOF;88KQ=`L{oQ&N` zFQKPzr1y%s!+Aqa#FCjqz{~G7_(g_y3RTJ%;4s?7E)zgcOI2p)aLhf(7wSk!Bxk)a zQm;PZ-QU^Suq63Yc=7L7o-{eXknSnB3>f~v`9=%BIR)y<(O@Uz%>B*)rfs;q9c*9f zD6?}&O3P3F`%yHeWFjdAP~YBUpscP!sc4A*fVh&AQSJAhy^W+*dnm2ic{REW%WU0# zUH}u89)b-{SzsZX+y&mEq`bPXy)D&e z1M5p0w&Y~1_KLkHA07K;{nX#3dgiSF#uRTHUJgswAB9cRvq7bKHDvE3aE~8nE!}!S zOUP0+(9t)AVRmNl)g)uEHrIh3GX8QXimEz)^QAvjOH5pnoFN9i`qba+S3q%EnqNYG zTD7YE;JK$a*MID|PEWfB?;4_D2GK7YKZ5UnIt&{>tN?qmua54p!n5gdk(f*&>x zVH!B_4UeBEgoZ|?(?1`En8YEfXK!km>eTKEv7vzCGzxR5#3iSwtXw2GedERDua`Q0 z+aaH%g|O|@3)ZYy2&;CSg>BB|V938~BQ;>k-loe+aBSBK=x51`{St{db~*4NR1*@3 z$(EdAQq!=XZ= zr-O~*+JR*<3#d02JC6E#lnR7|m|T@!>j)VQFoAALl5JzgAu_fzCFBHPdF}M7ICTEm zi78{OX2{9XMG!Q_!C&a#|w`7_%p*0y1!#~sAn)ha8_@)ux~!^iJ6q1pK|14 z0D9?!nCuV|NiJq!Hq^4g*I~%1X{ZHix;-f}=NedEyQlB#=l28NUY#)9a<;TSOnU$e z)qeeUI^2HL7d9Wc42wqM4JA541ht{0zVF#U;AMYuv(_=9SNUgKukCs5^_3I-#qhe-6bkn# zj#epu^EgdQO*S#PDxD!FR#^7b zQ*ZS3#6Gn??e5a#1Q6dbLdFYrx%s&+nK^WUyu4h8Onhq(;K=Op!!6+3Uv9xkzYth6 zg#t?+&s0s%2iSZ`4n_d@?|49B+3fmd%v!{PJ(aK`@y zxHt%z?!kO9->`+}Ray~7Kvfkb+PL5Q8dMXqAzPCnCYE9#*P4PD zIlIv6!)Br#JoiA8K`g9%$l5@5S*xuCj-fuVc@`w6Pk`fBgW-(F zE9k3{!DKjLrj{&;y7yLBaB+5qowTHHC@A9f;5A(M`z8FfV{QkZUGuQ#xZmX`FA_1q zqlC2xImKd|$gwWXFjeY3Lf1kMbj)?Bthh|B^kfLSZl~9-d&iewlap1OvNpn~S5Icx zfT(gD+<6iW=Wd3=%PZk9&{)V2b+DQAh$^V4nYhL&;V2d=GgFlti`HGa8xB$7p%9Ze zQLJ>C4~S04e!J_0t&PX@8sB*S;eIl%z%O0kE7vd?-&pjCqX}b5mSwcr6Dcdw#Kpu z?5C7Tuka**#B6{fN((f#4Iv}-Eo_}tEH)`)*5Cq|{l#%OwR>Uh%y%w67-tQ>kAkrl zM~s{}K@O`uWkp!p394MX^Tq|CsEQC1hY{f4=m-&8vsP;M9@+dfVTt6#xTmhA9+erJ zAxV0ceesjWp$QHa<19_I+SV|LCs0-H2KEDtm<2GN8RzF06bG;4vf#|iB#4g7fSz5l zpszl~1oyF;l1M)c`5+l_VO@9z?bN)@*MvUi24HTa0q;#VhherxpsT6ENXAnh&%y1^ zC0IGB?)~j8u$DazW~_9Do!`s^$DwBR&e6(Do5^AIx*Na@U%(D^bJw1Pw4@l&Hn0NE zgG)N(yJ7>|%g~?4`=;NUNT?Hdf7+FDdbjj(V*h*H{KTVQt~LFpn^?Me8chz zVP(nZKY47sb!6!o`U`)@_F{nP9!I1qL40Z+B&6m;MTH0|tE#mWO04RMymHk?S{kDR zX4^-vK^48|gF$fVb|}0_djnRi#P9y}?_$%`OgMVf6@GOy2OBFBCetW5JQ;@D8iQ|O zEKD2#;2lu}Wdb1tN2EYOW;Cd48Nh)}ve{jZipz>y`Q!B~P)AH6HA&uPEitip4LQ{k zG)PX2+*=H@gedHiD#1CTRbU8hubus9+MtgA$;tpYZMZ!q4kKv~Zkh%2SN{&X=9dC{ zClbScIGmQE;%M^5L1Gku3#|nMBLZQXIRI8Mh$@R<=!~uK)B5=^-+3l{GTUAztz}T1 z)5JVkDi9J z-ub7hrv*T#Y~Plp@cr%!;9!yiD4^N#XcW4A4XPJnGOHc|yW@q#RWWTFKXs8^(b|!V z0k>%XBNpn2Ny10S4Ka0&Im70y*ac~noapZNpJ)rg*8%|QOHcW%yprtqm;bpk@WQIo z+8Qd7lk)z7M4)|p>(90DH|>P^1iXc`SA|egm<5y|3#@vHAU0DTDk{6c2umSM9bEUk zmx;7(rD_W^YWf|yxd*}B2Twsq&lonZ`WMjGLF(uJFgPxF?M^RL=SWQ2?PJJ^f7g?m zsLt)21~)5o#6^?O&^FVRK%V6T`t`Y z^S80|`FYE#i5uT#g3^v4c;1hM8~0y=pfDABD&&GdL`yh%ZRnw83?EJy08_?TH90|} zF<{-#_~CVFWc$9KPODH|aF5A^oV+4X(iDQReqBefV?WM;Q=aB<`B?qV8U9pD})u#oaBQBanPE1I)ojizSEfI1;&B@@2b=i9G-uZqO zy5{qo>=w29Y2_%P`HZ1eV(a%aOsaA`?o>GvUgOVA!-z3l43a3$!iXF7I1V zB%mEJb#R$90CcrfndY-Awp@h;QwPF?5tg8)+8sV$Fp^o)1a40*`tIVv#~}&C&Mbtw z(2+zZ2szUlbxzRiXJXcp=@1JlA>=Jrdg5&)sQkaTT>Z_=P{Vk*oiTq})wK~qQ6>EE z{@aih=MQenD;sRkg?*D2IReab$bsGa{{-hbGhx0{+bgTjd4t7Z>eXbUi&`Qss-TJ+te}*( zKhq_tce%on^4#%DkFN7NymZfa2Mb>G`D`nG`O^<{D;~l8$<2E_R^xs@qZ|(0xB&9B zg)?_b+x97NL%`OgI>?W}yw39Ome5-z7EW9ZhGlbxwdwVn0;a)jIdJ#vwnO*t(l=3^ z=hrL}I%0e0j7G(3%KrbdYx8@zSmvUre&BYO5|xW2611#bB=5ZT%!a4uRvw|hNZB-l zY$xFCp^#@juwiD?k7WZ*&ec-@HlDrCBtNUQp?+LYAp&fKQ7WizUfY!x-AA^%z`V65 zz@YYY4p_(ncnv*U&bh!c~DoUI3@8h4}IJ9K1iM~3oy4E#?sJJZ9Q7&lHYoOLG%86^%sKJJS zHfvk$)|LRz)zdff;k>WUpAeLbkcE@C)!k;Vl%-OigSvnqO3x${aK4w z(HSwr<{ez-h8jCFP^QDm`Kk2 znj^_Js<%Cf`M>Baw>R2EPP9KATt;F1lav(`_0A@!d?tONCw=3eN? z&yE6yklJH*DduDdF_(_lb*t50`My(+uYI%UmS$iYc$vF0pEip+d98u-$QGiUQ5fW2Dil43BUb!o6{oBtT-jD=E)Rr5cxE69Z zE+sFAR`c7n)K&B)zMzbutEmdzH2OhhRd}nLGGx=2+R&tVQ{H5O`vI}Ri@&>cA~~Zl z2PB7!8YCuOYiSY_(XOxFhy*1nzLua50^@>*%{{o>^Wfs`{d?>2s)I7Y`(tdt=Vdrd zYUO6f&F26v3;F2-p1&D-=YPJtbXHW!)cz1cvh7P!YEh4vc#XSuzy?6OQ@;TT${ry{ zy!t9ydR7gadtlY}wUa;ja?z;8^78yD`ItX-AT00>0DFrB&}?D9f9!FTBWDdG2bxId zAaj^2ajXw39(^eA#AqS9kC5FsLg=lO!#<9yxQZ3~Y?3e&YsoC@~RIe>aSQ zy?ziuC5I&vf+E=IRfM3G<-$tgrr+C@uwsQ0k(@}ir3yQVmR}QRzpAP%L zrK_RPPp^cT9NbI2x-=Mv2E@~9Jh4C>?CtI0!oE?wASUKup12l#cf&q!kBppR45pL1 za`s~PGpaY`!gR1XWj(gPEKXng@F*%5x^|U^(L>B&jHwn3 z8(_p6HIA(amu711ru}fh$KCZ(U@+A6U?&oi5R~1-l^eUPZL-zZ zu^-h~kM@p+%=XnVy-KNv5*6ti4mI&mwiIRCp-g{JsF|IZomX1+<@Os#x4ZgY`Euc? z4?me>KS@tZ^&RN`-h9xKk_rw_iP(So$=wULUOpF!st75G#4KgqX4{oq6<*tA*k+dMTx67ng0=?|qzJ=NC>NIQ;uh z$2r?r>e}%=p`H?5dl66eo_yp@J7h^vH@1&WOzs2=_8?U5h6v-0_a51|!^1?) zfy~bccN+#e4FO$qJu3EDG?e5OOH%c0Z=MYKBo{>K%#F}{^zt9t-@wfI{Q+ZLCfkm( zFxIr>Ll~;9sI082c=944{K}p1kc+op1*K*dVQi92;AKlk_IycpXh@<8$C`5N=7Iu( zuaG%83G}TEL5FsjV*I11gy(UDR9schm7;{C7_e6i4o@wnSIqbOyw8jrXl%adgF)lw zIRSSBi2K=1&{9|7?-h^$%&m+~%6)sz>%~*rmVA<&QHX>jpO+9&5+T{@n=2_hg|uXY zS7(P`76yEAK27Y?H^B1f8&maoQ840NR&!*C>K~d^M6alIyKbHuHOR!maj4m#(L>B^ zMh`ZzR#ooa_I7dY2;5ps%PLBL7!n`t7Zexe;~yIl6`ze;jHKj+m^0;^#ddN;&;%*5 zt1vciZAp(zS%O#OB)}pm^yqU_a;TWcQNS5LBdKNyFOWjb>RPiHqE-kiyZZ*l<h4 zy|B2PgmZ}WCr7d>K-_c@avn#X%eE!S&Q2{UacTt)2at6zy|v&qISCAHjGUgrdsw;?j!Jq_lzxyaVcpLsTu1a3ap)5|n!%c@EpTk*K;6 z7#hMkKR8ZBS|t=6flhPg_$6a(6jw%UI`x+J>}!hZ5L{_Wj^yIXL!DG*6IOwQ zr&J*95}lYMU-P=mQ4as+8UYmfCl;$^$86d5GMl85{$`VzyUoka?5YK-Z<9f0%#Zn9 zK&K%m8+w+#n3WNeMx}%&K~7Q*u;#@B)F&%~O)fTBxkv7O>{Uxns`_0d(6jc)-B92X zlubVNeO$@NC8HQ25$HhnvNGtj>boIyN^%nD_10%rMOitdMkHf{TjD$+*cXy5QRP_o z$+Pa0Z{`s=ufv6;tpBEtl2kPJZ!uuX(bga+7En2fSqxFL<1?YAg(Djc5vHlwCs#T*gr@$V0k#mtEk$ip z9ndn-X}6AToe}ReIoZIAT&)tTJ=x;iA}TK>7YZ{9pd_~#3bP8JQdlX8i0wi;Nx-CD zRqY<2rlSTbnyR2-s0pf?GS8>x4gTMdlM5sPLj+b?Iqg_cWrbyE0${)&%8Lb1R#XPU zvI-E?p~TqA|Da*~ADLgNH)V@~O#lD@07*qo IM6N<$f*DPFFaQ7m diff --git a/pubspec.yaml b/pubspec.yaml index 3d75118..c3f2e03 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,7 +20,7 @@ dependencies: sdk: flutter flutter_driver: sdk: flutter - flutter_launcher_icons: ^0.9.0 + flutter_launcher_icons: ^0.9.2 flutter_logs: ^2.1.4 flutter_svg: ^0.22.0 graphql_flutter: ^5.0.0 @@ -58,7 +58,7 @@ dependencies: flutter_icons: android: "ic_launcher" ios: true - image_path: "assets/icon/gecko_final.png" + image_path: "assets/icon/gecko_flat.png" cupertino_icons: ^1.0.0 dev_dependencies: From d9417be1bf4f24e9c623eb248d9ef2047c9ac868 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 12 Nov 2021 01:32:05 +0100 Subject: [PATCH 06/20] Continue design of chest choosing screen --- lib/globals.dart | 2 +- lib/models/generateWallets.dart | 4 +- lib/screens/myWallets/chooseChest.dart | 94 +++++++++++++++----------- lib/screens/myWallets/walletsHome.dart | 2 +- 4 files changed, 57 insertions(+), 45 deletions(-) diff --git a/lib/globals.dart b/lib/globals.dart index 6bb6c42..5bd9c9c 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -29,7 +29,7 @@ double ratio; var log = Logger(); // Colors -Color orangeC = Color(0xffD28928); +Color orangeC = Color(0xffd07316); Color yellowC = Color(0xffFFD68E); Color floattingYellow = Color(0xffEFEFBF); Color backgroundColor = Color(0xFFF5F5F5); diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart index 93b7e95..1d1486e 100644 --- a/lib/models/generateWallets.dart +++ b/lib/models/generateWallets.dart @@ -51,9 +51,9 @@ class GenerateWalletsProvider with ChangeNotifier { String chestName; if (chestNumber == 0) { - chestName = 'Coffre à Gecko'; + chestName = 'Coffre à Ğecko'; } else { - chestName = 'Coffre à Gecko ${chestNumber + 1}'; + chestName = 'Coffre à Ğecko ${chestNumber + 1}'; } walletBox.add(myWallet); ChestData thisChest = ChestData( diff --git a/lib/screens/myWallets/chooseChest.dart b/lib/screens/myWallets/chooseChest.dart index 3a9fa19..c5ae73c 100644 --- a/lib/screens/myWallets/chooseChest.dart +++ b/lib/screens/myWallets/chooseChest.dart @@ -1,9 +1,8 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/home.dart'; +import 'package:gecko/screens/commonElements.dart'; import 'package:flutter/material.dart'; -// import 'package:gecko/models/home.dart'; -// import 'package:provider/provider.dart'; +import 'package:gecko/screens/onBoarding/1.dart'; // ignore: must_be_immutable class ChooseChest extends StatelessWidget { @@ -19,59 +18,72 @@ class ChooseChest extends StatelessWidget { height: 22, child: Text('Sélectionner mon coffre'), )), - floatingActionButton: Container( - height: 80.0, - width: 80.0, - child: FittedBox( - child: FloatingActionButton( - heroTag: "tplButton", - onPressed: () => Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return HomeScreen(); - }), - ), - child: Container( - height: 40.0, - width: 40.0, - child: Icon(Icons.home, color: Colors.grey[850]), - ), - backgroundColor: - floattingYellow, //smoothYellow, //Color.fromARGB(500, 204, 255, 255), - ))), body: SafeArea( child: Column(children: [ - SizedBox(height: 150), + SizedBox(height: 190), Center( child: Image.asset( 'assets/chests/$currentChest.png', ), ), - SizedBox(height: 20), - Text(chestBox.get(currentChest).name), - ElevatedButton( + SizedBox(height: 40), + Text( + chestBox.get(currentChest).name, + style: TextStyle(fontSize: 21), + ), + SizedBox(height: 15), + Image.asset('assets/chests/vector.png'), + SizedBox(height: 15), + Text( + 'Choisir un autre\ncoffre', + textAlign: TextAlign.center, + style: TextStyle(fontSize: 13), + ), + SizedBox(height: 80), + SizedBox( + width: 400, + height: 70, + child: ElevatedButton( style: ElevatedButton.styleFrom( - primary: yellowC, // background + primary: orangeC, // background onPrimary: Colors.black, // foreground ), onPressed: () { - Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return HomeScreen(); - }), - ); - }, - child: Text('Retour Accueil', style: TextStyle(fontSize: 20))), - SizedBox(height: 20), - GestureDetector( - onTap: () { + configBox.put('currentChest', 0); Navigator.popUntil( context, - ModalRoute.withName('/'), + ModalRoute.withName('/mywallets'), ); }, - child: Icon(Icons.home)) + child: Text( + 'Ouvrir ce coffre', + style: TextStyle( + fontSize: 22, + color: backgroundColor, + fontWeight: FontWeight.w600), + ), + ), + ), + SizedBox(height: 20), + InkWell( + key: Key('createNewChest'), + onTap: () { + Navigator.push( + context, + FaderTransition(page: OnboardingStepOne(), isFast: false), + ); + }, + child: SizedBox( + width: 400, + height: 70, + child: Center( + child: Text('Créer un nouveau coffre', + style: TextStyle( + fontSize: 22, + color: orangeC, + fontWeight: FontWeight.w600))), + )), + SizedBox(height: 10), ]), )); } diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index def780b..8f2b6f7 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -45,7 +45,7 @@ class WalletsHome extends StatelessWidget { ModalRoute.withName('/'), ); }), - title: Text('Mes portefeuilles', + title: Text(chestBox.get(_currentChest).name, key: Key('myWallets'), style: TextStyle(color: Colors.grey[850])), backgroundColor: Color(0xffFFD58D), ), From 694437b188e49176bdc7111ea080e37522b47411 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 12 Nov 2021 01:35:38 +0100 Subject: [PATCH 07/20] WIP: Change defaultWallet Methode --- lib/globals.dart | 1 - lib/main.dart | 3 --- lib/models/chestData.dart | 5 ++++- lib/models/chestData.g.dart | 7 +++++-- lib/models/myWallets.dart | 6 +++--- lib/screens/myWallets/confirmWalletStorage.dart | 1 - lib/screens/myWallets/walletOptions.dart | 2 -- lib/screens/onBoarding/12.dart | 1 - scripts/generatePartFiles.sh | 4 ++++ 9 files changed, 16 insertions(+), 14 deletions(-) create mode 100755 scripts/generatePartFiles.sh diff --git a/lib/globals.dart b/lib/globals.dart index 5bd9c9c..e573a7a 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -9,7 +9,6 @@ import 'package:shared_preferences/shared_preferences.dart'; // Files paths Directory appPath; -WalletData defaultWallet; String appVersion; SharedPreferences prefs; String endPointGVA; diff --git a/lib/main.dart b/lib/main.dart index 5ed289e..36cfc48 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -44,7 +44,6 @@ Future main() async { WidgetsFlutterBinding.ensureInitialized(); HomeProvider _homeProvider = HomeProvider(); - MyWalletsProvider _walletsProvider = MyWalletsProvider(); appPath = await getApplicationDocumentsDirectory(); await _homeProvider.createDefaultAvatar(); appVersion = await _homeProvider.getAppVersion(); @@ -58,8 +57,6 @@ Future main() async { chestBox = await Hive.openBox("chestBox"); configBox = await Hive.openBox("configBox"); - _walletsProvider.getDefaultWallet(); - // final HiveStore _store = // await HiveStore.open(path: '${appPath.path}/gqlCache'); diff --git a/lib/models/chestData.dart b/lib/models/chestData.dart index e506add..c8a410f 100644 --- a/lib/models/chestData.dart +++ b/lib/models/chestData.dart @@ -10,7 +10,10 @@ class ChestData extends HiveObject { @HiveField(2) String name; - ChestData({this.dewif, this.name}); + @HiveField(3) + int defaultWallet; + + ChestData({this.dewif, this.name, this.defaultWallet}); // representation of WalletData when debugging @override diff --git a/lib/models/chestData.g.dart b/lib/models/chestData.g.dart index 095f182..812e2dd 100644 --- a/lib/models/chestData.g.dart +++ b/lib/models/chestData.g.dart @@ -19,17 +19,20 @@ class ChestDataAdapter extends TypeAdapter { return ChestData( dewif: fields[0] as String, name: fields[2] as String, + defaultWallet: fields[3] as int, ); } @override void write(BinaryWriter writer, ChestData obj) { writer - ..writeByte(2) + ..writeByte(3) ..writeByte(0) ..write(obj.dewif) ..writeByte(2) - ..write(obj.name); + ..write(obj.name) + ..writeByte(3) + ..write(obj.defaultWallet); } @override diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index 44303a6..99b3e8b 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -59,11 +59,11 @@ class MyWalletsProvider with ChangeNotifier { return _targetedWallet; } - void getDefaultWallet() { + void getDefaultWallet(int chest) { MyWalletsProvider myWalletsProvider = MyWalletsProvider(); - if (configBox.get('defaultWallet') == null) { - configBox.put('defaultWallet', [getCurrentChest(), 0]); + if (configBox.get('defaultWallet')[chest] == null) { + configBox.put('defaultWallet', [chest, 0]); } defaultWallet = myWalletsProvider diff --git a/lib/screens/myWallets/confirmWalletStorage.dart b/lib/screens/myWallets/confirmWalletStorage.dart index 0125c55..02b0298 100644 --- a/lib/screens/myWallets/confirmWalletStorage.dart +++ b/lib/screens/myWallets/confirmWalletStorage.dart @@ -146,7 +146,6 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { _myWalletProvider.listWallets = _myWalletProvider .readAllWallets(_currentChest); - _myWalletProvider.getDefaultWallet(); scheduleMicrotask(() { _walletOptions.reloadBuild(); _myWalletProvider.rebuildWidget(); diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index aca0df7..a0d7cff 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -47,8 +47,6 @@ class WalletOptions extends StatelessWidget { _walletOptions.walletID = [0, wallet.number]; - _myWalletProvider.getDefaultWallet(); - _walletOptions.isDefaultWallet = (defaultWallet.id()[1] == _walletOptions.walletID[1]); diff --git a/lib/screens/onBoarding/12.dart b/lib/screens/onBoarding/12.dart index 732b22a..ce6361f 100644 --- a/lib/screens/onBoarding/12.dart +++ b/lib/screens/onBoarding/12.dart @@ -122,7 +122,6 @@ class OnboardingStepFourteen extends StatelessWidget { _generateWalletProvider.storeHDWChest( generatedWallet, 'Mon portefeuille courant', context); _myWalletProvider.readAllWallets(_currentChest); - _myWalletProvider.getDefaultWallet(); scheduleMicrotask(() { _walletOptions.reloadBuild(); _myWalletProvider.rebuildWidget(); diff --git a/scripts/generatePartFiles.sh b/scripts/generatePartFiles.sh new file mode 100755 index 0000000..05b776a --- /dev/null +++ b/scripts/generatePartFiles.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +flutter packages pub run build_runner build --delete-conflicting-outputs + From f2055d17371466dcc9c532198ebfc4899638db8f Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 14 Nov 2021 03:12:07 +0100 Subject: [PATCH 08/20] Gecko is now realy multiChest, with slideshow choice --- assets/chests/1.png | Bin 0 -> 7107 bytes assets/chests/2.png | Bin 0 -> 6008 bytes assets/chests/3.png | Bin 0 -> 6190 bytes assets/chests/4.png | Bin 0 -> 7051 bytes assets/chests/5.png | Bin 0 -> 6220 bytes assets/chests/6.png | Bin 0 -> 6468 bytes assets/chests/7.png | Bin 0 -> 6216 bytes lib/models/chestData.dart | 6 ++- lib/models/chestData.g.dart | 7 ++- lib/models/generateWallets.dart | 9 ++-- lib/models/history.dart | 10 ++++- lib/models/myWallets.dart | 16 +++---- lib/screens/history.dart | 6 +++ lib/screens/home.dart | 4 ++ lib/screens/myWallets/chooseChest.dart | 47 ++++++++++++++++----- lib/screens/myWallets/importWallet.dart | 2 +- lib/screens/myWallets/unlockingWallet.dart | 8 ---- lib/screens/myWallets/walletOptions.dart | 8 +++- lib/screens/myWallets/walletsHome.dart | 2 + lib/screens/settings.dart | 18 ++++---- pubspec.lock | 7 +++ pubspec.yaml | 1 + 22 files changed, 101 insertions(+), 50 deletions(-) create mode 100644 assets/chests/1.png create mode 100644 assets/chests/2.png create mode 100644 assets/chests/3.png create mode 100644 assets/chests/4.png create mode 100644 assets/chests/5.png create mode 100644 assets/chests/6.png create mode 100644 assets/chests/7.png diff --git a/assets/chests/1.png b/assets/chests/1.png new file mode 100644 index 0000000000000000000000000000000000000000..327ce154552d3853601beeefaaa3092f077c2a80 GIT binary patch literal 7107 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 literal 0 HcmV?d00001 diff --git a/assets/chests/2.png b/assets/chests/2.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb1a08b87c0ba50fef7bf00f1f177035a74875c GIT binary patch literal 6008 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 literal 0 HcmV?d00001 diff --git a/assets/chests/3.png b/assets/chests/3.png new file mode 100644 index 0000000000000000000000000000000000000000..fb93100c5609aff37e2f6efacd518d8752d582a7 GIT binary patch literal 6190 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 KD%C4kMf?|c7u;|F literal 0 HcmV?d00001 diff --git a/assets/chests/4.png b/assets/chests/4.png new file mode 100644 index 0000000000000000000000000000000000000000..a759503d57cc20db41bd48bafdaa496208db359c GIT binary patch literal 7051 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 literal 0 HcmV?d00001 diff --git a/assets/chests/5.png b/assets/chests/5.png new file mode 100644 index 0000000000000000000000000000000000000000..84d14905f6c474914b34991af36e52f9055d17f3 GIT binary patch literal 6220 zcmZ8l1yB^g*FU5|LZmwc;Yf+2JCEj$7U`oqrMo4h8-b(l2tm3LkS-|!DQS>y6!>ty znEC$mo45OZFLq~kcXsD(jHbFG9u6fA006)PE6G8g`m`sB!@_uKZ336z004o3ueQDi z#LS!C#m(8u)&WNE;o}0MhrPG80s!7GR%IJ_E%6Y^Ki0+?Kif7FCZE`&xj6ensx+L; zEUKH!O3DmC!x3orMOPksy!WnnJmKyuPa|L(`1<BX*`ft9( zLtxXF-tU{utsC};of~Dpo91=H-ueNrvkz6mY`9uyihr|YmN?3%PL9sj1!ZD30}QLA?T ztIEv=1!H^KHl#$+)O+7l-3+fyT8v*hD~C&rHGL*)?u#{F*$)t+DtODD8?$O}NRb?{ zc8bz$*mkGa^oyw_+n0LwqLImszmqu|o!NbSvS2CfPR$=U+wz8mvk%oszsz&`bvW^| z6ZC4@XO6mzWN=@;+Y#k%&?O_G&|)bSj0&lG&t)FHwV9`t*<>x}OviBa%o3*pdoC>ZC;g-F3d{ z8D=|H-;x?SRBY)Q9yV)Si(mYJPIO#|{B}XjBzJ{>RHX2v6p)VHv(9ua&9ct&T(=+L z?D`tZUe!K~5Jcwb2KaWE3Ah`MIjIaadwij+0+!h0Fu4%*S?Q1ZhV`fD1ELzu`SRkg zbva&xru&JAdl)SVm&(oh%rhr7EP8nbmjd*U6uqDfkAqHE8tG8;)*v(Ch`s#7tFLyl zXGW`}qD7h>2%0Iy$5EXHBj$?PO$&kPgZ-GFEnj&YL+IGUjrAxn#2XBi_(x{-WiXXr z1chdzwM{`A80bbuM|09EoWSQ$duegU%@~xc<@rxbgr43zg4Z<2z@~Cv>)B&co#V>8 z<)ZyOovydq_X<7Nafnscn?S8gDs;N0^<@UnEnU0W12LHjwd>s7Rxz@G8;+i(U>{nY>Eh*%{$F7&tA$9Ps#0mHjh z@DPyNnf(o03V#N>K1oOIXEfHR-LH*<`#dpkbSOGt&)UuHl^6;U2?+Np%EKaOU1f2Ng?r(^WXZ%hp-~0S~>p1l7%ri?-d=0|IQ76;M(-@GvA_!)>}&SaM*aTpoiDqox=92rvTp{1pSWylLg8g8#h~^7QnZ+NLHPvK< zc4^NlIOe+32Ze{2L~2uy`yfF?w=8e8pVQ9W1I@cwd#5`aEwUt(uO_C!TQsz zy;jS-JrcqL0W%E;Jt&h~`eGeQ3py9B1M$c`jX%HQPAZYwCHV^KG7(-%)=FW#=Sj<#O=ZLqqlxf;`@of$REQ-1XzE z$YT}j)1KQo^fXcY&HwpPKfNj$vbMT8zuAiTsX4jfrtdQp6DCTviIJ@|)WhA=qh@K| z>##kYx>gZt{+fQVQL!bz4=ounN&Crbh<`M4gp16QCtSKikRb3c&&v?M@siBn1%vRF zydCzenUyukByfl1gniab#f8ZT{J|<;kGCR+=`V!k(l)=|M{W9La=jNZ^zX;*j)=}d zvyw2rjk)SJp{eG z@E20oM$L`nuIylFZ`8!qaAOu4wdaeHAeARIK+fm~3du8MbEyCEK~-OI#)bL}z=p$B zQZ8(4&IgK`YOU}N#A6@{VJ6Z^`?_PWv#)(O*Fw$fT-Ejcw)h)Cz^d)r20FX9Hz(`? zCWm&&znt*{SZhqj65heh3HR>;oP@eeFo_A~V-zFQY$_ReSz^dbkq3lDBr&NRnk(6s z432Swn2Js@=Ic9q(7Y9sQSj;YucQs6w&^$wC-&8`kZTV|y$A&_i(91>M-w(d$mfBJ za~`mlRFTMKE<@#p7anR!Fl}#7t$tE5oA>JJl+#Of+1jk$lCwZ)cGx-paEf}`7=Box zkTNr@XWS-)_*~MS=X-Zc5 zib68AhiDIQ`Dp7T8m<~1tR}6a2HV@zd&*gHiA!Fwju1=Av;r`RVl5}r8LlF|NbAH4 zX=X)jL2d~qk#Xe2HiZE(;9=4t#%bl)ecOJk9%qb7i>{Haa8?xEBWXJh7LO6_r6JLr z&TEc=myuuHJiiQ8GTPx3a>$@^p|+5v&cU!uPB5FHtIL1Ia$vv4EeTv_;iNt!ks)AUP!MaDRmOXRJ>b9sXlXt71Zp^Db8*R(8DxQsOmiZ2cF~ z;Dh*NbMj$lgo~S<{4uZIUhJPxLg~L=ntBCe*Hy-ZD}VUMD)mAT(_%#A2)e+)vQ5H{LT_c!rZjR|85

QG_PZ0Eqx18Thqm*>4MqE_nHr(^{RIM?#O( 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 HV;cHjb{@(* literal 0 HcmV?d00001 diff --git a/assets/chests/6.png b/assets/chests/6.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1556b586de45b602da90a7c0eff06917ed5288 GIT binary patch literal 6468 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 literal 0 HcmV?d00001 diff --git a/assets/chests/7.png b/assets/chests/7.png new file mode 100644 index 0000000000000000000000000000000000000000..c34e084e185bf02f9607332d6c31d043f012e4ec GIT binary patch literal 6216 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 AlK=n! literal 0 HcmV?d00001 diff --git a/lib/models/chestData.dart b/lib/models/chestData.dart index c8a410f..fcacb10 100644 --- a/lib/models/chestData.dart +++ b/lib/models/chestData.dart @@ -13,9 +13,11 @@ class ChestData extends HiveObject { @HiveField(3) int defaultWallet; - ChestData({this.dewif, this.name, this.defaultWallet}); + @HiveField(4) + String imageName; + + ChestData({this.dewif, this.name, this.defaultWallet, this.imageName}); - // representation of WalletData when debugging @override String toString() { return this.name; diff --git a/lib/models/chestData.g.dart b/lib/models/chestData.g.dart index 812e2dd..b6fee4c 100644 --- a/lib/models/chestData.g.dart +++ b/lib/models/chestData.g.dart @@ -20,19 +20,22 @@ class ChestDataAdapter extends TypeAdapter { dewif: fields[0] as String, name: fields[2] as String, defaultWallet: fields[3] as int, + imageName: fields[4] as String, ); } @override void write(BinaryWriter writer, ChestData obj) { writer - ..writeByte(3) + ..writeByte(4) ..writeByte(0) ..write(obj.dewif) ..writeByte(2) ..write(obj.name) ..writeByte(3) - ..write(obj.defaultWallet); + ..write(obj.defaultWallet) + ..writeByte(4) + ..write(obj.imageName); } @override diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart index 1d1486e..43718de 100644 --- a/lib/models/generateWallets.dart +++ b/lib/models/generateWallets.dart @@ -57,9 +57,10 @@ class GenerateWalletsProvider with ChangeNotifier { } walletBox.add(myWallet); ChestData thisChest = ChestData( - dewif: _wallet.dewif, - name: chestName, - ); + dewif: _wallet.dewif, + name: chestName, + defaultWallet: 0, + imageName: '${chestNumber % 8}.png'); chestBox.add(thisChest); configBox.put('currentChest', chestNumber); // walletBox.get(1) @@ -220,7 +221,7 @@ class GenerateWalletsProvider with ChangeNotifier { log.d(_walletPubkey); } - Future importWallet(context, _cesiumID, _cesiumPWD) async { + Future importCesiumWallet(context, _cesiumID, _cesiumPWD) async { // String _walletPubkey = await DubpRust.getLegacyPublicKey( // salt: _cesiumID, password: _cesiumPWD); // String shortPubkey = truncate(_walletPubkey, 9, diff --git a/lib/models/history.dart b/lib/models/history.dart index ab5407b..ff762f0 100644 --- a/lib/models/history.dart +++ b/lib/models/history.dart @@ -3,6 +3,8 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/home.dart'; +import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/walletData.dart'; import 'package:gecko/screens/history.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:jdenticon_dart/jdenticon_dart.dart'; @@ -49,8 +51,12 @@ class HistoryProvider with ChangeNotifier { } Future pay(BuildContext context, String pinCode) async { - // MyWalletsProvider _myWalletProvider = MyWalletsProvider(); - String dewif = chestBox.get(configBox.get('currentChest')).dewif; + MyWalletsProvider _myWalletModel = MyWalletsProvider(); + int currentChest = configBox.get('currentChest'); + WalletData defaultWallet = _myWalletModel.getDefaultWallet(currentChest); + + String dewif = chestBox.get(currentChest).dewif; + try { await DubpRust.simplePaymentFromTransparentAccount( accountIndex: defaultWallet.derivation, diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index 99b3e8b..fb77bb8 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -45,7 +45,7 @@ class MyWalletsProvider with ChangeNotifier { WalletData getWalletData(List _id) { if (_id.isEmpty) return WalletData(); - int _chest = _id[getCurrentChest()]; + int _chest = _id[0]; int _nbr = _id[1]; var _targetedWallet; @@ -59,15 +59,13 @@ class MyWalletsProvider with ChangeNotifier { return _targetedWallet; } - void getDefaultWallet(int chest) { - MyWalletsProvider myWalletsProvider = MyWalletsProvider(); - - if (configBox.get('defaultWallet')[chest] == null) { - configBox.put('defaultWallet', [chest, 0]); + WalletData getDefaultWallet(int chest) { + if (chestBox.isEmpty) { + return WalletData(chest: 0, number: 0); + } else { + int defaultWalletNumber = chestBox.get(chest).defaultWallet; + return getWalletData([chest, defaultWalletNumber]); } - - defaultWallet = myWalletsProvider - .getWalletData(configBox.get('defaultWallet').cast()); } Future deleteAllWallet(context) async { diff --git a/lib/screens/history.dart b/lib/screens/history.dart index 7948006..b92ada5 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -3,10 +3,12 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/cesiumPlus.dart'; import 'package:gecko/models/home.dart'; +import 'package:gecko/models/myWallets.dart'; import 'package:gecko/models/queries.dart'; import 'package:gecko/models/history.dart'; import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; +import 'package:gecko/models/walletData.dart'; import 'package:gecko/screens/myWallets/unlockingWallet.dart'; import 'dart:ui'; import 'package:graphql_flutter/graphql_flutter.dart'; @@ -330,6 +332,10 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { } Widget payView(context, HistoryProvider _historyProvider) { + MyWalletsProvider _myWalletProvider = MyWalletsProvider(); + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet(configBox.get('currentChest')); + return Stack( clipBehavior: Clip.hardEdge, children: [ diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 3c37a15..22b74d7 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -4,6 +4,7 @@ import 'package:gecko/models/history.dart'; import 'package:gecko/models/home.dart'; import 'package:flutter/material.dart'; import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/walletData.dart'; import 'package:gecko/screens/myWallets/unlockingWallet.dart'; import 'package:gecko/screens/onBoarding/0_noKeychainFound.dart'; import 'dart:ui'; @@ -22,6 +23,9 @@ class HomeScreen extends StatelessWidget { Provider.of(context); final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet(configBox.get('currentChest')); + // walletBox.toMap().forEach((key, value) { // if (value.chest == 0) { // print('$key: ${value.derivation}'); diff --git a/lib/screens/myWallets/chooseChest.dart b/lib/screens/myWallets/chooseChest.dart index c5ae73c..c26ec36 100644 --- a/lib/screens/myWallets/chooseChest.dart +++ b/lib/screens/myWallets/chooseChest.dart @@ -1,17 +1,25 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/myWallets.dart'; import 'package:gecko/screens/commonElements.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/onBoarding/1.dart'; +import 'package:carousel_slider/carousel_slider.dart'; +import 'package:provider/provider.dart'; // ignore: must_be_immutable class ChooseChest extends StatelessWidget { TextEditingController tplController = TextEditingController(); + CarouselController buttonCarouselController = CarouselController(); @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + MyWalletsProvider _myWalletProvider = + Provider.of(context); + int currentChest = configBox.get('currentChest'); + return Scaffold( appBar: AppBar( title: SizedBox( @@ -21,17 +29,35 @@ class ChooseChest extends StatelessWidget { body: SafeArea( child: Column(children: [ SizedBox(height: 190), - Center( - child: Image.asset( - 'assets/chests/$currentChest.png', + CarouselSlider( + carouselController: buttonCarouselController, + options: CarouselOptions( + height: 210, + onPageChanged: (index, reason) { + currentChest = index; + }, + enableInfiniteScroll: false, + initialPage: currentChest, + enlargeCenterPage: true, + viewportFraction: 0.6, ), + items: chestBox.toMap().entries.map((i) { + return Builder( + builder: (BuildContext context) { + return Column(children: [ + Image.asset( + 'assets/chests/${i.value.imageName}', + ), + SizedBox(height: 30), + Text( + i.value.name, + style: TextStyle(fontSize: 21), + ), + ]); + }, + ); + }).toList(), ), - SizedBox(height: 40), - Text( - chestBox.get(currentChest).name, - style: TextStyle(fontSize: 21), - ), - SizedBox(height: 15), Image.asset('assets/chests/vector.png'), SizedBox(height: 15), Text( @@ -49,7 +75,8 @@ class ChooseChest extends StatelessWidget { onPrimary: Colors.black, // foreground ), onPressed: () { - configBox.put('currentChest', 0); + configBox.put('currentChest', currentChest); + _myWalletProvider.rebuildWidget(); Navigator.popUntil( context, ModalRoute.withName('/mywallets'), diff --git a/lib/screens/myWallets/importWallet.dart b/lib/screens/myWallets/importWallet.dart index c825d74..8bdff93 100644 --- a/lib/screens/myWallets/importWallet.dart +++ b/lib/screens/myWallets/importWallet.dart @@ -169,7 +169,7 @@ class ImportWalletScreen extends StatelessWidget { _generateWalletProvider.isPinChanged ? () { _generateWalletProvider - .importWallet( + .importCesiumWallet( context, _generateWalletProvider .cesiumID.text, diff --git a/lib/screens/myWallets/unlockingWallet.dart b/lib/screens/myWallets/unlockingWallet.dart index 610edc2..3307717 100644 --- a/lib/screens/myWallets/unlockingWallet.dart +++ b/lib/screens/myWallets/unlockingWallet.dart @@ -58,14 +58,6 @@ class UnlockingWallet extends StatelessWidget { pinForm(context, _pinLenght, wallet.number, wallet.derivation), ]), ), - GestureDetector( - onTap: () { - Navigator.popUntil( - context, - ModalRoute.withName('/'), - ); - }, - child: Icon(Icons.home)) ]), )); } diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index a0d7cff..dfc28b3 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -47,8 +47,11 @@ class WalletOptions extends StatelessWidget { _walletOptions.walletID = [0, wallet.number]; + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet(_currentChest); + _walletOptions.isDefaultWallet = - (defaultWallet.id()[1] == _walletOptions.walletID[1]); + (defaultWallet.number == _walletOptions.walletID[1]); int currentChest = _myWalletProvider.getCurrentChest(); @@ -334,7 +337,8 @@ class WalletOptions extends StatelessWidget { onTap: !_walletOptions.isDefaultWallet ? () { defaultWallet = wallet; - configBox.put('defaultWallet', wallet.id()); + chestBox.get(currentChest).defaultWallet = + wallet.number; _myWalletProvider.readAllWallets(_currentChest); _myWalletProvider.rebuildWidget(); } diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index 8f2b6f7..cbfb7dd 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -136,6 +136,8 @@ class WalletsHome extends StatelessWidget { } List _listWallets = _myWalletProvider.listWallets; + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet(configBox.get('currentChest')); return CustomScrollView(slivers: [ SliverToBoxAdapter(child: SizedBox(height: 20)), diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 3f8148a..366cfdb 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -68,16 +68,14 @@ class SettingsScreen extends StatelessWidget { primary: yellowC, // background onPrimary: Colors.black, // foreground ), - onPressed: !_myWallets.checkIfWalletExist() - ? () => Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return GenerateWalletsScreen(); - }), - ).then((value) => { - if (value == true) {Navigator.pop(context)} - }) - : null, + onPressed: () => Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return GenerateWalletsScreen(); + }), + ).then((value) => { + if (value == true) {Navigator.pop(context)} + }), child: Text("Générer un nouveau trousseau", style: TextStyle(fontSize: 16)))), Expanded( diff --git a/pubspec.lock b/pubspec.lock index 0f54e3b..fcfb1ab 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -120,6 +120,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "8.1.3" + carousel_slider: + dependency: "direct main" + description: + name: carousel_slider + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0" characters: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c3f2e03..9ee5f91 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -54,6 +54,7 @@ dependencies: unorm_dart: ^0.2.0 xml: ^5.3.0 assorted_layout_widgets: ^5.2.1 + carousel_slider: ^4.0.0 flutter_icons: android: "ic_launcher" From 44eaee89a7340d8915c88adc96b54804bc3b84db Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 14 Nov 2021 04:33:59 +0100 Subject: [PATCH 09/20] WIP: Make Cesium great again --- assets/chests/cesium.png | Bin 0 -> 58365 bytes lib/models/chestData.dart | 11 +- lib/models/chestData.g.dart | 7 +- lib/models/generateWallets.dart | 27 +- lib/models/myWallets.dart | 8 +- .../myWallets/cesiumWalletOptions.dart | 398 ++++++++++++++++++ lib/screens/myWallets/importWallet.dart | 11 +- lib/screens/myWallets/walletsHome.dart | 28 +- 8 files changed, 461 insertions(+), 29 deletions(-) create mode 100755 assets/chests/cesium.png create mode 100644 lib/screens/myWallets/cesiumWalletOptions.dart diff --git a/assets/chests/cesium.png b/assets/chests/cesium.png new file mode 100755 index 0000000000000000000000000000000000000000..f3028ac11102429529d34d733f145b7a8827be79 GIT binary patch literal 58365 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 z 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 HZyEkS@sp)G literal 0 HcmV?d00001 diff --git a/lib/models/chestData.dart b/lib/models/chestData.dart index fcacb10..a053289 100644 --- a/lib/models/chestData.dart +++ b/lib/models/chestData.dart @@ -16,7 +16,16 @@ class ChestData extends HiveObject { @HiveField(4) String imageName; - ChestData({this.dewif, this.name, this.defaultWallet, this.imageName}); + @HiveField(5) + bool isCesium; + + ChestData({ + this.dewif, + this.name, + this.defaultWallet, + this.imageName, + this.isCesium, + }); @override String toString() { diff --git a/lib/models/chestData.g.dart b/lib/models/chestData.g.dart index b6fee4c..9beaa42 100644 --- a/lib/models/chestData.g.dart +++ b/lib/models/chestData.g.dart @@ -21,13 +21,14 @@ class ChestDataAdapter extends TypeAdapter { name: fields[2] as String, defaultWallet: fields[3] as int, imageName: fields[4] as String, + isCesium: fields[5] as bool, ); } @override void write(BinaryWriter writer, ChestData obj) { writer - ..writeByte(4) + ..writeByte(5) ..writeByte(0) ..write(obj.dewif) ..writeByte(2) @@ -35,7 +36,9 @@ class ChestDataAdapter extends TypeAdapter { ..writeByte(3) ..write(obj.defaultWallet) ..writeByte(4) - ..write(obj.imageName); + ..write(obj.imageName) + ..writeByte(5) + ..write(obj.isCesium); } @override diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart index 43718de..d74666f 100644 --- a/lib/models/generateWallets.dart +++ b/lib/models/generateWallets.dart @@ -57,13 +57,14 @@ class GenerateWalletsProvider with ChangeNotifier { } walletBox.add(myWallet); ChestData thisChest = ChestData( - dewif: _wallet.dewif, - name: chestName, - defaultWallet: 0, - imageName: '${chestNumber % 8}.png'); + dewif: _wallet.dewif, + name: chestName, + defaultWallet: 0, + imageName: '${chestNumber % 8}.png', + isCesium: false, + ); chestBox.add(thisChest); configBox.put('currentChest', chestNumber); - // walletBox.get(1) } void checkAskedWord(String inputWord, String _mnemo) { @@ -221,13 +222,15 @@ class GenerateWalletsProvider with ChangeNotifier { log.d(_walletPubkey); } - Future importCesiumWallet(context, _cesiumID, _cesiumPWD) async { + Future importCesiumWallet() async { // String _walletPubkey = await DubpRust.getLegacyPublicKey( // salt: _cesiumID, password: _cesiumPWD); // String shortPubkey = truncate(_walletPubkey, 9, // omission: "...", position: TruncatePosition.end); // await storeWallet( // actualWallet, 'Portefeuille Cesium - $shortPubkey', context); + // NewWallet myCesiumWallet = await DubpRust.genWalletFromDeprecatedSaltPassword(salt: _cesiumID, password: _cesiumPWD); + cesiumID.text = ''; cesiumPWD.text = ''; cesiumPubkey.text = ''; @@ -236,6 +239,18 @@ class GenerateWalletsProvider with ChangeNotifier { pin.text = ''; isCesiumIDVisible = false; isCesiumPWDVisible = false; + + ChestData cesiumChest = ChestData( + dewif: actualWallet.dewif, + name: 'Coffre à Cesium', + imageName: 'cesium.png', + defaultWallet: 0, + isCesium: true); + + int chestNumber = chestBox.length; + chestBox.add(cesiumChest); + configBox.put('currentChest', chestNumber); + notifyListeners(); } diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index fb77bb8..53d0da0 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -18,13 +18,7 @@ class MyWalletsProvider with ChangeNotifier { } bool checkIfWalletExist() { - if (appPath == null) { - return false; - } - - final List _walletList = readAllWallets(getCurrentChest()); - - if (_walletList.isEmpty) { + if (chestBox.isEmpty) { log.i('No wallets detected'); return false; } else { diff --git a/lib/screens/myWallets/cesiumWalletOptions.dart b/lib/screens/myWallets/cesiumWalletOptions.dart new file mode 100644 index 0000000..da1b043 --- /dev/null +++ b/lib/screens/myWallets/cesiumWalletOptions.dart @@ -0,0 +1,398 @@ +import 'dart:ui'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:gecko/globals.dart'; +import 'package:gecko/models/history.dart'; +import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/queries.dart'; +import 'package:gecko/models/walletData.dart'; +import 'package:gecko/models/walletOptions.dart'; +import 'package:graphql_flutter/graphql_flutter.dart'; +import 'package:provider/provider.dart'; +import 'package:flutter/services.dart'; + +// ignore: must_be_immutable +class CesiumWalletOptions extends StatelessWidget { + CesiumWalletOptions({Key keyMyWallets, @required this.cesiumWallet}) + : super(key: keyMyWallets); + WalletData cesiumWallet; + int _nbrLinesName = 1; + bool _isNewNameValid = false; + + @override + Widget build(BuildContext context) { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + WalletOptionsProvider _walletOptions = + Provider.of(context); + MyWalletsProvider _myWalletProvider = + Provider.of(context); + HistoryProvider _historyProvider = Provider.of(context); + + final int _currentChest = _myWalletProvider.getCurrentChest(); + final String shortPubkey = + _walletOptions.getShortPubkey(_walletOptions.pubkey.text); + + if (_walletOptions.nameController.text == null || + _isNewNameValid == false) { + _walletOptions.nameController.text = cesiumWallet.name; + } else { + cesiumWallet.name = _walletOptions.nameController.text; + } + + _walletOptions.nameController.text.length >= 15 + ? _nbrLinesName = 2 + : _nbrLinesName = 1; + if (_walletOptions.nameController.text.length >= 26 && isTall) + _nbrLinesName = 3; + + _walletOptions.walletID = [0, cesiumWallet.number]; + + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet(_currentChest); + + _walletOptions.isDefaultWallet = + (defaultWallet.number == _walletOptions.walletID[1]); + + int currentChest = _myWalletProvider.getCurrentChest(); + + log.d("Wallet options: $currentChest:${cesiumWallet.number}"); + + return WillPopScope( + onWillPop: () { + _walletOptions.isEditing = false; + _walletOptions.isBalanceBlur = true; + Navigator.popUntil( + context, + ModalRoute.withName('/mywallets'), + ); + return Future.value(true); + }, + child: Scaffold( + resizeToAvoidBottomInset: false, + appBar: AppBar( + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Colors.black), + onPressed: () { + _walletOptions.isEditing = false; + _walletOptions.isBalanceBlur = true; + Navigator.popUntil( + context, + ModalRoute.withName('/mywallets'), + ); + }), + title: SizedBox( + height: 22, + child: Text(_walletOptions.nameController.text), + )), + body: Builder( + builder: (ctx) => SafeArea( + child: Column(children: [ + Container( + height: isTall ? 15 : 0, + color: yellowC, + ), + Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + yellowC, + Color(0xfffafafa), + ], + )), + child: Row(children: [ + SizedBox(width: 25), + InkWell( + onTap: () async { + await _walletOptions.changeAvatar(); + }, + child: Image.asset( + 'assets/avatars/${cesiumWallet.imageName}', + width: 110, + )), + InkWell( + onTap: () async { + await _walletOptions.changeAvatar(); + }, + child: Column(children: [ + Image.asset( + 'assets/walletOptions/camera.png', + ), + SizedBox(height: 100) + ])), + Column(children: [ + Row(children: [ + Column(children: [ + SizedBox( + width: 260, + child: TextField( + key: Key('walletName'), + autofocus: false, + focusNode: _walletOptions.walletNameFocus, + enabled: _walletOptions.isEditing, + controller: _walletOptions.nameController, + maxLines: _nbrLinesName, + textAlign: TextAlign.center, + decoration: InputDecoration( + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.all(15.0), + ), + style: TextStyle( + fontSize: isTall ? 27 : 23, + color: Colors.black, + fontWeight: FontWeight.w400, + fontFamily: 'Monospace')), + ), + SizedBox(height: isTall ? 5 : 0), + Query( + options: QueryOptions( + document: gql(getBalance), + variables: { + 'pubkey': _walletOptions.pubkey.text, + }, + // pollInterval: Duration(seconds: 1), + ), + builder: (QueryResult result, + {VoidCallback refetch, FetchMore fetchMore}) { + if (result.hasException) { + return Text(result.exception.toString()); + } + + if (result.isLoading) { + return Text('Loading'); + } + + // List repositories = result.data['viewer']['repositories']['nodes']; + String wBalanceUD; + if (result.data['balance'] == null) { + wBalanceUD = '0.0'; + } else { + int wBalanceG1 = + result.data['balance']['amount']; + int currentUD = + result.data['currentUd']['amount']; + double wBalanceUDBrut = + wBalanceG1 / currentUD; // .toString(); + wBalanceUD = double.parse( + (wBalanceUDBrut).toStringAsFixed(2)) + .toString(); + } + return Row(children: [ + ImageFiltered( + imageFilter: ImageFilter.blur( + sigmaX: _walletOptions.isBalanceBlur + ? 6 + : 0, + sigmaY: _walletOptions.isBalanceBlur + ? 5 + : 0), + child: Text('$wBalanceUD', + style: TextStyle( + fontSize: isTall ? 20 : 18, + color: Colors.black)), + ), + Text(' DU', + style: TextStyle( + fontSize: isTall ? 20 : 18, + color: Colors.black)) + ]); + + // Text( + // '$wBalanceUD DU', + // style: TextStyle( + // fontSize: 20, color: Colors.black), + // ); + }, + ), + SizedBox(height: 5), + InkWell( + key: Key('displayBalance'), + onTap: () { + _walletOptions.bluringBalance(); + }, + child: Image.asset( + _walletOptions.isBalanceBlur + ? 'assets/walletOptions/icon_oeuil.png' + : 'assets/walletOptions/icon_oeuil_close.png', + )), + ]), + SizedBox(width: 0), + Column(children: [ + InkWell( + key: Key('renameWallet'), + onTap: () async { + _isNewNameValid = _walletOptions + .editWalletName(_walletOptions.walletID); + await Future.delayed( + Duration(milliseconds: 30)); + _walletOptions.walletNameFocus.requestFocus(); + }, + child: ClipRRect( + child: Image.asset( + _walletOptions.isEditing + ? 'assets/walletOptions/android-checkmark.png' + : 'assets/walletOptions/edit.png', + width: 20, + height: 20), + )), + SizedBox( + height: 60, + ) + ]) + ]), + ]), + ])), + SizedBox(height: 4 * ratio), + FutureBuilder( + future: _walletOptions + .generateQRcode(_walletOptions.pubkey.text), + builder: (context, snapshot) { + return snapshot.data != null + ? Image.memory(snapshot.data, + height: isTall ? 300 : 270) + : Text('-', style: TextStyle(fontSize: 20)); + }), + SizedBox(height: 15 * ratio), + GestureDetector( + key: Key('copyPubkey'), + onTap: () { + Clipboard.setData( + ClipboardData(text: _walletOptions.pubkey.text)); + _walletOptions.snackCopyKey(ctx); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + SizedBox(width: 30), + Image.asset( + 'assets/walletOptions/key.png', + ), + SizedBox(width: 10), + Text("${shortPubkey.split(':')[0]}:", + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.w800, + fontFamily: 'Monospace', + color: Colors.black)), + Text(shortPubkey.split(':')[1], + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.w800, + fontFamily: 'Monospace')), + SizedBox(width: 15), + SizedBox( + height: 40, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: + new BorderRadius.circular(8), + ), + elevation: 1, + primary: orangeC, // background + onPrimary: Colors.black, // foreground + ), + onPressed: () { + Clipboard.setData(ClipboardData( + text: _walletOptions.pubkey.text)); + _walletOptions.snackCopyKey(ctx); + }, + child: Row(children: [ + Image.asset( + 'assets/walletOptions/copy-white.png', + ), + SizedBox(width: 7), + Text('Copier', + style: TextStyle( + fontSize: 15, + color: Colors.grey[50])) + ]))), + ]))), + SizedBox(height: 10 * ratio), + InkWell( + key: Key('displayHistory'), + onTap: () { + _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text, + goHistory: true); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + SizedBox(width: 30), + Image.asset( + 'assets/walletOptions/clock.png', + ), + SizedBox(width: 12), + Text('Historique des transactions', + style: + TextStyle(fontSize: 20, color: Colors.black)), + ]))), + SizedBox(height: 12 * ratio), + InkWell( + key: Key('setDefaultWallet'), + onTap: !_walletOptions.isDefaultWallet + ? () { + defaultWallet = cesiumWallet; + chestBox.get(currentChest).defaultWallet = + cesiumWallet.number; + _myWalletProvider.readAllWallets(_currentChest); + _myWalletProvider.rebuildWidget(); + } + : null, + child: SizedBox( + height: 50, + child: Row(children: [ + SizedBox(width: 31), + CircleAvatar( + backgroundColor: Colors.grey[ + _walletOptions.isDefaultWallet ? 300 : 500], + child: Image.asset( + 'assets/walletOptions/android-checkmark.png', + )), + SizedBox(width: 12), + Text( + _walletOptions.isDefaultWallet + ? 'Ce portefeuille est celui par defaut' + : 'Définir comme portefeuille par défaut', + style: TextStyle( + fontSize: 20, + color: _walletOptions.isDefaultWallet + ? Colors.grey[500] + : Colors.black)), + ]))), + SizedBox(height: 17 * ratio), + if (!_walletOptions.isDefaultWallet) + InkWell( + key: Key('deleteWallet'), + onTap: !_walletOptions.isDefaultWallet + ? () async { + await _walletOptions.deleteWallet( + context, cesiumWallet); + WidgetsBinding.instance.addPostFrameCallback((_) { + _myWalletProvider.listWallets = + _myWalletProvider + .readAllWallets(_currentChest); + _myWalletProvider.rebuildWidget(); + }); + } + : null, + child: Row(children: [ + SizedBox(width: 33), + Image.asset( + 'assets/walletOptions/trash.png', + ), + SizedBox(width: 14), + Text('Supprimer ce portefeuille', + style: TextStyle( + fontSize: 20, color: Color(0xffD80000))), + ])), + ]), + ), + ), + )); + } +} diff --git a/lib/screens/myWallets/importWallet.dart b/lib/screens/myWallets/importWallet.dart index 8bdff93..d7c7b55 100644 --- a/lib/screens/myWallets/importWallet.dart +++ b/lib/screens/myWallets/importWallet.dart @@ -169,15 +169,14 @@ class ImportWalletScreen extends StatelessWidget { _generateWalletProvider.isPinChanged ? () { _generateWalletProvider - .importCesiumWallet( - context, - _generateWalletProvider - .cesiumID.text, - _generateWalletProvider - .cesiumPWD.text) + .importCesiumWallet() .then((value) { _myWalletProvider.rebuildWidget(); _generateWalletProvider.resetImportView(); + Navigator.popUntil( + context, + ModalRoute.withName('/'), + ); }); } : null, diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index cbfb7dd..350b771 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -1,5 +1,6 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/chestData.dart'; import 'package:gecko/models/myWallets.dart'; import 'package:gecko/models/queries.dart'; import 'package:gecko/models/walletData.dart'; @@ -21,11 +22,15 @@ class WalletsHome extends StatelessWidget { MyWalletsProvider myWalletProvider = Provider.of(context); - final int _currentChest = myWalletProvider.getCurrentChest(); + final int _currentChestNumber = myWalletProvider.getCurrentChest(); + final ChestData _currentChest = chestBox.get(_currentChestNumber); + bool isWalletsExists; - myWalletProvider.listWallets = - myWalletProvider.readAllWallets(_currentChest); - final bool isWalletsExists = myWalletProvider.checkIfWalletExist(); + if (!_currentChest.isCesium) { + myWalletProvider.listWallets = + myWalletProvider.readAllWallets(_currentChestNumber); + isWalletsExists = myWalletProvider.checkIfWalletExist(); + } return WillPopScope( onWillPop: () { @@ -45,18 +50,27 @@ class WalletsHome extends StatelessWidget { ModalRoute.withName('/'), ); }), - title: Text(chestBox.get(_currentChest).name, + title: Text(_currentChest.name, key: Key('myWallets'), style: TextStyle(color: Colors.grey[850])), backgroundColor: Color(0xffFFD58D), ), body: SafeArea( - child: - !isWalletsExists ? NoKeyChainScreen() : myWalletsTiles(context), + child: !isWalletsExists + ? NoKeyChainScreen() + : _currentChest.isCesium + ? cesiumWalletOptions(context) + : myWalletsTiles(context), ), ), ); } + Widget cesiumWalletOptions(BuildContext context) { + return Column(children: [ + Center(child: Text('This is a Cesium wallet')), + ]); + } + Widget chestOptions(BuildContext context) { return Column(children: [ SizedBox(height: 50), From 97f20bafe5149e11a9aa8e61766c49118204a01f Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 14 Nov 2021 19:21:20 +0100 Subject: [PATCH 10/20] Apply linter --- analysis_options.yaml | 29 + lib/globals.dart | 12 +- lib/main.dart | 42 +- .../{cesiumPlus.dart => cesium_plus.dart} | 4 - .../{changePin.dart => change_pin.dart} | 4 +- .../{chestData.dart => chest_data.dart} | 4 +- .../{chestData.g.dart => chest_data.g.dart} | 2 +- ...rateWallets.dart => generate_wallets.dart} | 16 +- lib/models/history.dart | 24 +- lib/models/home.dart | 8 +- .../{myWallets.dart => my_wallets.dart} | 18 +- .../{walletData.dart => wallet_data.dart} | 8 +- .../{walletData.g.dart => wallet_data.g.dart} | 2 +- ...walletOptions.dart => wallet_options.dart} | 36 +- ...mmonElements.dart => common_elements.dart} | 24 +- lib/screens/history.dart | 92 +-- lib/screens/home.dart | 95 +-- ...ptions.dart => cesium_wallet_options.dart} | 78 +-- .../{changePin.dart => change_pin.dart} | 61 +- .../{chooseChest.dart => choose_chest.dart} | 26 +- ...orage.dart => confirm_wallet_storage.dart} | 52 +- ...rateWallets.dart => generate_wallets.dart} | 96 +-- .../{importWallet.dart => import_wallet.dart} | 92 ++- ...ckingWallet.dart => unlocking_wallet.dart} | 35 +- ...walletOptions.dart => wallet_options.dart} | 78 +-- .../{walletsHome.dart => wallets_home.dart} | 104 ++-- ...ainFound.dart => 0_no_keychain_found.dart} | 40 +- lib/screens/onBoarding/1.dart | 16 +- lib/screens/onBoarding/10.dart | 14 +- lib/screens/onBoarding/11.dart | 84 +-- lib/screens/onBoarding/12.dart | 28 +- .../onBoarding/13_congratulations.dart | 14 +- lib/screens/onBoarding/2.dart | 17 +- lib/screens/onBoarding/3.dart | 14 +- lib/screens/onBoarding/4.dart | 14 +- lib/screens/onBoarding/5.dart | 20 +- lib/screens/onBoarding/6.dart | 34 +- lib/screens/onBoarding/7.dart | 50 +- lib/screens/onBoarding/8.dart | 26 +- lib/screens/onBoarding/9.dart | 21 +- lib/screens/settings.dart | 30 +- ...mplateScreen.dart => template_screen.dart} | 27 +- macos/.gitignore | 7 + macos/Flutter/Flutter-Debug.xcconfig | 1 + macos/Flutter/Flutter-Release.xcconfig | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 24 + macos/Runner.xcodeproj/project.pbxproj | 572 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 89 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 +++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 46993 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 3276 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 1429 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 5933 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1243 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 14800 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 1874 bytes macos/Runner/Base.lproj/MainMenu.xib | 339 +++++++++++ macos/Runner/Configs/AppInfo.xcconfig | 14 + macos/Runner/Configs/Debug.xcconfig | 2 + macos/Runner/Configs/Release.xcconfig | 2 + macos/Runner/Configs/Warnings.xcconfig | 13 + macos/Runner/DebugProfile.entitlements | 12 + macos/Runner/Info.plist | 32 + macos/Runner/MainFlutterWindow.swift | 15 + macos/Runner/Release.entitlements | 8 + pubspec.lock | 14 + pubspec.yaml | 1 + test_driver/app_test.dart | 32 +- windows/.gitignore | 17 + windows/CMakeLists.txt | 95 +++ windows/flutter/CMakeLists.txt | 103 ++++ .../flutter/generated_plugin_registrant.cc | 20 + windows/flutter/generated_plugin_registrant.h | 15 + windows/flutter/generated_plugins.cmake | 18 + windows/runner/CMakeLists.txt | 17 + windows/runner/Runner.rc | 121 ++++ windows/runner/flutter_window.cpp | 61 ++ windows/runner/flutter_window.h | 33 + windows/runner/main.cpp | 43 ++ windows/runner/resource.h | 16 + windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes windows/runner/runner.exe.manifest | 20 + windows/runner/utils.cpp | 64 ++ windows/runner/utils.h | 19 + windows/runner/win32_window.cpp | 245 ++++++++ windows/runner/win32_window.h | 98 +++ 90 files changed, 3056 insertions(+), 718 deletions(-) create mode 100644 analysis_options.yaml rename lib/models/{cesiumPlus.dart => cesium_plus.dart} (96%) rename lib/models/{changePin.dart => change_pin.dart} (90%) rename lib/models/{chestData.dart => chest_data.dart} (90%) rename lib/models/{chestData.g.dart => chest_data.g.dart} (98%) rename lib/models/{generateWallets.dart => generate_wallets.dart} (95%) rename lib/models/{myWallets.dart => my_wallets.dart} (88%) rename lib/models/{walletData.dart => wallet_data.dart} (77%) rename lib/models/{walletData.g.dart => wallet_data.g.dart} (97%) rename lib/models/{walletOptions.dart => wallet_options.dart} (90%) rename lib/screens/{commonElements.dart => common_elements.dart} (91%) rename lib/screens/myWallets/{cesiumWalletOptions.dart => cesium_wallet_options.dart} (88%) rename lib/screens/myWallets/{changePin.dart => change_pin.dart} (66%) rename lib/screens/myWallets/{chooseChest.dart => choose_chest.dart} (86%) rename lib/screens/myWallets/{confirmWalletStorage.dart => confirm_wallet_storage.dart} (82%) rename lib/screens/myWallets/{generateWallets.dart => generate_wallets.dart} (70%) rename lib/screens/myWallets/{importWallet.dart => import_wallet.dart} (76%) rename lib/screens/myWallets/{unlockingWallet.dart => unlocking_wallet.dart} (87%) rename lib/screens/myWallets/{walletOptions.dart => wallet_options.dart} (88%) rename lib/screens/myWallets/{walletsHome.dart => wallets_home.dart} (83%) rename lib/screens/onBoarding/{0_noKeychainFound.dart => 0_no_keychain_found.dart} (79%) rename lib/screens/{templateScreen.dart => template_screen.dart} (79%) create mode 100644 macos/.gitignore create mode 100644 macos/Flutter/Flutter-Debug.xcconfig create mode 100644 macos/Flutter/Flutter-Release.xcconfig create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 macos/Runner.xcodeproj/project.pbxproj create mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner/AppDelegate.swift create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 macos/Runner/Base.lproj/MainMenu.xib create mode 100644 macos/Runner/Configs/AppInfo.xcconfig create mode 100644 macos/Runner/Configs/Debug.xcconfig create mode 100644 macos/Runner/Configs/Release.xcconfig create mode 100644 macos/Runner/Configs/Warnings.xcconfig create mode 100644 macos/Runner/DebugProfile.entitlements create mode 100644 macos/Runner/Info.plist create mode 100644 macos/Runner/MainFlutterWindow.swift create mode 100644 macos/Runner/Release.entitlements create mode 100644 windows/.gitignore create mode 100644 windows/CMakeLists.txt create mode 100644 windows/flutter/CMakeLists.txt create mode 100644 windows/flutter/generated_plugin_registrant.cc create mode 100644 windows/flutter/generated_plugin_registrant.h create mode 100644 windows/flutter/generated_plugins.cmake create mode 100644 windows/runner/CMakeLists.txt create mode 100644 windows/runner/Runner.rc create mode 100644 windows/runner/flutter_window.cpp create mode 100644 windows/runner/flutter_window.h create mode 100644 windows/runner/main.cpp create mode 100644 windows/runner/resource.h create mode 100644 windows/runner/resources/app_icon.ico create mode 100644 windows/runner/runner.exe.manifest create mode 100644 windows/runner/utils.cpp create mode 100644 windows/runner/utils.h create mode 100644 windows/runner/win32_window.cpp create mode 100644 windows/runner/win32_window.h diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,29 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/lib/globals.dart b/lib/globals.dart index e573a7a..115be3d 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import 'package:gecko/models/chestData.dart'; -import 'package:gecko/models/walletData.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/wallet_data.dart'; import 'package:hive/hive.dart'; import 'package:logger/logger.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -28,7 +28,7 @@ double ratio; var log = Logger(); // Colors -Color orangeC = Color(0xffd07316); -Color yellowC = Color(0xffFFD68E); -Color floattingYellow = Color(0xffEFEFBF); -Color backgroundColor = Color(0xFFF5F5F5); +Color orangeC = const Color(0xffd07316); +Color yellowC = const Color(0xffFFD68E); +Color floattingYellow = const Color(0xffEFEFBF); +Color backgroundColor = const Color(0xFFF5F5F5); diff --git a/lib/main.dart b/lib/main.dart index 36cfc48..e1c3f5b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -13,22 +13,24 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . +// ignore_for_file: avoid_print + import 'dart:async'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/cesiumPlus.dart'; -import 'package:gecko/models/changePin.dart'; -import 'package:gecko/models/chestData.dart'; -import 'package:gecko/models/generateWallets.dart'; +import 'package:gecko/models/cesium_plus.dart'; +import 'package:gecko/models/change_pin.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/generate_wallets.dart'; import 'package:gecko/models/history.dart'; import 'package:gecko/models/home.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:gecko/screens/home.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:gecko/screens/myWallets/walletsHome.dart'; +import 'package:gecko/screens/myWallets/wallets_home.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:path_provider/path_provider.dart'; @@ -38,7 +40,7 @@ import 'package:responsive_framework/responsive_framework.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; -final bool enableSentry = true; +const bool enableSentry = true; Future main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -106,7 +108,7 @@ Future main() async { } class Gecko extends StatelessWidget { - Gecko(this.randomEndpoint); + const Gecko(this.randomEndpoint, {Key key}) : super(key: key); final String randomEndpoint; @override @@ -145,28 +147,28 @@ class Gecko extends StatelessWidget { minWidth: 480, defaultScale: true, breakpoints: [ - ResponsiveBreakpoint.resize(480, name: MOBILE), - ResponsiveBreakpoint.autoScale(800, name: TABLET), - ResponsiveBreakpoint.resize(1000, name: DESKTOP), + const ResponsiveBreakpoint.resize(480, name: MOBILE), + const ResponsiveBreakpoint.autoScale(800, name: TABLET), + const ResponsiveBreakpoint.resize(1000, name: DESKTOP), ], background: Container(color: backgroundColor)), title: 'Ğecko', theme: ThemeData( - appBarTheme: AppBarTheme( - color: const Color(0xffFFD58D), - foregroundColor: const Color(0xFF000000), + appBarTheme: const AppBarTheme( + color: Color(0xffFFD58D), + foregroundColor: Color(0xFF000000), ), - primaryColor: Color(0xffFFD58D), - textTheme: TextTheme( + primaryColor: const Color(0xffFFD58D), + textTheme: const TextTheme( bodyText1: TextStyle(), bodyText2: TextStyle(), ).apply( - bodyColor: Color(0xFF000000), + bodyColor: const Color(0xFF000000), ), colorScheme: ColorScheme.fromSwatch() .copyWith(secondary: Colors.grey[850]), ), - home: HomeScreen(), + home: const HomeScreen(), initialRoute: "/", routes: { '/mywallets': (context) => WalletsHome(), diff --git a/lib/models/cesiumPlus.dart b/lib/models/cesium_plus.dart similarity index 96% rename from lib/models/cesiumPlus.dart rename to lib/models/cesium_plus.dart index 47ebef1..8d73d00 100644 --- a/lib/models/cesiumPlus.dart +++ b/lib/models/cesium_plus.dart @@ -7,10 +7,6 @@ import 'package:http/http.dart' as http; import 'package:path_provider/path_provider.dart'; class CesiumPlusProvider with ChangeNotifier { - // String pubkey = ''; - // CesiumPlusProvider(this.pubkey); - var decodedBytes; - var avatar64; TextEditingController cesiumName = TextEditingController(); int iAvatar = 0; bool isComplete = false; diff --git a/lib/models/changePin.dart b/lib/models/change_pin.dart similarity index 90% rename from lib/models/changePin.dart rename to lib/models/change_pin.dart index 3c85b2e..b65e74c 100644 --- a/lib/models/changePin.dart +++ b/lib/models/change_pin.dart @@ -3,11 +3,11 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/chestData.dart'; +import 'package:gecko/models/chest_data.dart'; class ChangePinProvider with ChangeNotifier { bool ischangedPin = false; - TextEditingController newPin = new TextEditingController(); + TextEditingController newPin = TextEditingController(); Future get badWallet => null; diff --git a/lib/models/chestData.dart b/lib/models/chest_data.dart similarity index 90% rename from lib/models/chestData.dart rename to lib/models/chest_data.dart index a053289..923a385 100644 --- a/lib/models/chestData.dart +++ b/lib/models/chest_data.dart @@ -1,6 +1,6 @@ import 'package:hive_flutter/hive_flutter.dart'; -part 'chestData.g.dart'; +part 'chest_data.g.dart'; @HiveType(typeId: 1) class ChestData extends HiveObject { @@ -29,6 +29,6 @@ class ChestData extends HiveObject { @override String toString() { - return this.name; + return name; } } diff --git a/lib/models/chestData.g.dart b/lib/models/chest_data.g.dart similarity index 98% rename from lib/models/chestData.g.dart rename to lib/models/chest_data.g.dart index 9beaa42..ca25dff 100644 --- a/lib/models/chestData.g.dart +++ b/lib/models/chest_data.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'chestData.dart'; +part of 'chest_data.dart'; // ************************************************************************** // TypeAdapterGenerator diff --git a/lib/models/generateWallets.dart b/lib/models/generate_wallets.dart similarity index 95% rename from lib/models/generateWallets.dart rename to lib/models/generate_wallets.dart index d74666f..3b8cec8 100644 --- a/lib/models/generateWallets.dart +++ b/lib/models/generate_wallets.dart @@ -5,8 +5,8 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/chestData.dart'; -import 'package:gecko/models/walletData.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/wallet_data.dart'; import 'package:pdf/pdf.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:printing/printing.dart'; @@ -100,7 +100,7 @@ class GenerateWalletsProvider with ChangeNotifier { } int getRandomInt() { - var rng = new Random(); + var rng = Random(); return rng.nextInt(12); } @@ -131,7 +131,7 @@ class GenerateWalletsProvider with ChangeNotifier { Future generateMnemonic() async { try { generatedMnemonic = await DubpRust.genMnemonic(language: Language.french); - this.actualWallet = await generateWallet(this.generatedMnemonic); + actualWallet = await generateWallet(generatedMnemonic); walletIsGenerated = true; } catch (e) { log.e(e); @@ -141,7 +141,7 @@ class GenerateWalletsProvider with ChangeNotifier { Future generateWallet(generatedMnemonic) async { try { - this.actualWallet = await DubpRust.genWalletFromMnemonic( + actualWallet = await DubpRust.genWalletFromMnemonic( language: Language.french, mnemonic: generatedMnemonic, secretCodeType: SecretCodeType.letters, @@ -151,10 +151,10 @@ class GenerateWalletsProvider with ChangeNotifier { } mnemonicController.text = generatedMnemonic; - pin.text = this.actualWallet.pin; + pin.text = actualWallet.pin; // notifyListeners(); - return this.actualWallet; + return actualWallet; } Future changePinCode({bool reload}) async { @@ -177,7 +177,7 @@ class GenerateWalletsProvider with ChangeNotifier { final pw.Font ttf = pw.Font.ttf(fontData.buffer.asByteData()); final pdf = pw.Document(); - const imageProvider = const AssetImage('assets/icon/gecko_final.png'); + const imageProvider = AssetImage('assets/icon/gecko_final.png'); final geckoLogo = await flutterImageProvider(imageProvider); pdf.addPage( diff --git a/lib/models/history.dart b/lib/models/history.dart index ff762f0..19a15fa 100644 --- a/lib/models/history.dart +++ b/lib/models/history.dart @@ -3,8 +3,8 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/home.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletData.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/screens/history.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:jdenticon_dart/jdenticon_dart.dart'; @@ -42,7 +42,7 @@ class HistoryProvider with ChangeNotifier { return 'false'; } if (barcode != null) { - this.outputPubkey.text = barcode; + outputPubkey.text = barcode; isPubkey(context, barcode); } else { return 'false'; @@ -77,7 +77,7 @@ class HistoryProvider with ChangeNotifier { String isPubkey(context, pubkey, {bool goHistory}) { HomeProvider _homeProvider = Provider.of(context, listen: false); - final RegExp regExp = new RegExp( + final RegExp regExp = RegExp( r'^[a-zA-Z0-9]+$', caseSensitive: false, multiLine: false, @@ -91,9 +91,9 @@ class HistoryProvider with ChangeNotifier { this.pubkey = pubkey; getShortPubkey(pubkey); - this.outputPubkey.text = pubkey; + outputPubkey.text = pubkey; - if (goHistory == null) goHistory = false; + goHistory ??= false; if (goHistory) { isHistoryScreen = true; @@ -144,13 +144,13 @@ class HistoryProvider with ChangeNotifier { var transBC = []; int i = 0; - final currentBase = 0; + const currentBase = 0; double currentUD = 10.54; for (final trans in txs) { var direction = trans['direction']; final transaction = trans['node']; - var output; + String output; if (direction == "RECEIVED") { for (String line in transaction['outputs']) { if (line.contains(_pubkey)) { @@ -241,15 +241,15 @@ class HistoryProvider with ChangeNotifier { } else { _message = "Vous êtes connecté au noeud\n${endPointGVA.split('/')[2]}"; } - final snackBar = - SnackBar(content: Text(_message), duration: Duration(seconds: 2)); + final snackBar = SnackBar( + content: Text(_message), duration: const Duration(seconds: 2)); isFirstBuild = false; ScaffoldMessenger.of(context).showSnackBar(snackBar); } } void resetdHistory() { - this.outputPubkey.text = ''; + outputPubkey.text = ''; notifyListeners(); } @@ -259,7 +259,7 @@ class HistoryProvider with ChangeNotifier { } snackCopyKey(context) { - final snackBar = SnackBar( + const snackBar = SnackBar( content: Text("Cette clé publique a été copié dans votre presse-papier."), duration: Duration(seconds: 2)); diff --git a/lib/models/home.dart b/lib/models/home.dart index 1b67d41..69fe956 100644 --- a/lib/models/home.dart +++ b/lib/models/home.dart @@ -9,14 +9,14 @@ import 'package:flutter/services.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; import 'package:gecko/screens/history.dart'; -import 'package:gecko/screens/myWallets/walletsHome.dart'; +import 'package:gecko/screens/myWallets/wallets_home.dart'; import 'package:package_info/package_info.dart'; class HomeProvider with ChangeNotifier { int _currentIndex = 0; bool isSearching; - Icon searchIcon = Icon(Icons.search); - final TextEditingController searchQuery = new TextEditingController(); + Icon searchIcon = const Icon(Icons.search); + final TextEditingController searchQuery = TextEditingController(); Widget appBarTitle = Text('Ğecko', style: TextStyle(color: Colors.grey[850])); Widget appBarExplorer = Text('Explorateur', style: TextStyle(color: Colors.grey[850])); @@ -57,7 +57,7 @@ class HomeProvider with ChangeNotifier { String _endpoint; int _statusCode = 0; - final _client = new HttpClient(); + final _client = HttpClient(); _client.connectionTimeout = const Duration(milliseconds: 1000); do { diff --git a/lib/models/myWallets.dart b/lib/models/my_wallets.dart similarity index 88% rename from lib/models/myWallets.dart rename to lib/models/my_wallets.dart index 53d0da0..886202a 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/my_wallets.dart @@ -2,7 +2,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/walletData.dart'; +import 'package:gecko/models/wallet_data.dart'; class MyWalletsProvider with ChangeNotifier { List listWallets = []; @@ -41,12 +41,12 @@ class MyWalletsProvider with ChangeNotifier { if (_id.isEmpty) return WalletData(); int _chest = _id[0]; int _nbr = _id[1]; - var _targetedWallet; + WalletData _targetedWallet; walletBox.toMap().forEach((key, value) { if (value.chest == _chest && value.number == _nbr) { _targetedWallet = value; - return false; + return; } }); @@ -86,19 +86,19 @@ class MyWalletsProvider with ChangeNotifier { barrierDismissible: true, // user must tap button! builder: (BuildContext context) { return AlertDialog( - title: - Text('Êtes-vous sûr de vouloir supprimer tous vos trousseaux ?'), - content: SingleChildScrollView(child: Text('')), + title: const Text( + 'Êtes-vous sûr de vouloir supprimer tous vos trousseaux ?'), + content: const SingleChildScrollView(child: Text('')), actions: [ TextButton( - child: Text("Non"), + child: const Text("Non"), onPressed: () { Navigator.pop(context, false); }, ), TextButton( - key: Key('confirmDeletingAllWallets'), - child: Text("Oui"), + key: const Key('confirmDeletingAllWallets'), + child: const Text("Oui"), onPressed: () { Navigator.pop(context, true); }, diff --git a/lib/models/walletData.dart b/lib/models/wallet_data.dart similarity index 77% rename from lib/models/walletData.dart rename to lib/models/wallet_data.dart index 2c4a82d..f4ce723 100644 --- a/lib/models/walletData.dart +++ b/lib/models/wallet_data.dart @@ -1,6 +1,6 @@ import 'package:hive_flutter/hive_flutter.dart'; -part 'walletData.g.dart'; +part 'wallet_data.g.dart'; @HiveType(typeId: 0) class WalletData extends HiveObject { @@ -25,16 +25,16 @@ class WalletData extends HiveObject { // representation of WalletData when debugging @override String toString() { - return this.name; + return name; } // creates the ':'-separated string from the WalletData String inLine() { - return "${this.chest}:${this.number}:${this.name}:${this.derivation}:${this.imageName}"; + return "$chest:$number:$name:$derivation:$imageName"; } // returns only the id part of the ':'-separated string List id() { - return [this.chest, this.number]; + return [chest, number]; } } diff --git a/lib/models/walletData.g.dart b/lib/models/wallet_data.g.dart similarity index 97% rename from lib/models/walletData.g.dart rename to lib/models/wallet_data.g.dart index 36d6a0b..4ef937a 100644 --- a/lib/models/walletData.g.dart +++ b/lib/models/wallet_data.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'walletData.dart'; +part of 'wallet_data.dart'; // ************************************************************************** // TypeAdapterGenerator diff --git a/lib/models/walletOptions.dart b/lib/models/wallet_options.dart similarity index 90% rename from lib/models/walletOptions.dart rename to lib/models/wallet_options.dart index 5b0f832..19c8099 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/wallet_options.dart @@ -8,18 +8,18 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletData.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_data.dart'; import 'package:image_picker/image_picker.dart'; import 'package:truncate/truncate.dart'; import 'package:qrscan/qrscan.dart' as scanner; class WalletOptionsProvider with ChangeNotifier { TextEditingController pubkey = TextEditingController(); - TextEditingController _newWalletName = TextEditingController(); + final TextEditingController _newWalletName = TextEditingController(); bool isWalletUnlock = false; bool ischangedPin = false; - TextEditingController newPin = new TextEditingController(); + TextEditingController newPin = TextEditingController(); bool isEditing = false; bool isBalanceBlur = true; FocusNode walletNameFocus = FocusNode(); @@ -32,7 +32,7 @@ class WalletOptionsProvider with ChangeNotifier { Future _getPubkeyFromDewif( String _dewif, _pin, int _pinLenght, int derivation) async { String _pubkey; - RegExp regExp = new RegExp( + RegExp regExp = RegExp( r'^[A-Z0-9]+$', caseSensitive: false, multiLine: false, @@ -47,7 +47,7 @@ class WalletOptionsProvider with ChangeNotifier { List _pubkeysTmp = await DubpRust.getBip32DewifAccountsPublicKeys( dewif: _dewif, secretCode: _pin, accountsIndex: [derivation]); _pubkey = _pubkeysTmp[0]; - this.pubkey.text = _pubkey; + pubkey.text = _pubkey; notifyListeners(); return _pubkey; @@ -60,7 +60,7 @@ class WalletOptionsProvider with ChangeNotifier { } else { try { _pubkey = await DubpRust.getDewifPublicKey(dewif: _dewif, pin: _pin); - this.pubkey.text = _pubkey; + pubkey.text = _pubkey; notifyListeners(); return _pubkey; } catch (e) { @@ -82,7 +82,7 @@ class WalletOptionsProvider with ChangeNotifier { if ((_localPubkey = await _getPubkeyFromDewif( _localDewif, _pin, _pinLenght, _wallet.derivation)) != 'false') { - this.pubkey.text = _localPubkey; + pubkey.text = _localPubkey; isWalletUnlock = true; return _localDewif; } else { @@ -91,7 +91,7 @@ class WalletOptionsProvider with ChangeNotifier { } catch (e) { // _homeProvider.playSound('non', 0.6); log.e('ERROR READING FILE: $e'); - this.pubkey.clear(); + pubkey.clear(); return 'bad'; } } @@ -142,16 +142,16 @@ class WalletOptionsProvider with ChangeNotifier { barrierDismissible: true, builder: (BuildContext context) { return AlertDialog( - title: Text('Choisissez un nouveau nom pour ce portefeuille'), + title: const Text('Choisissez un nouveau nom pour ce portefeuille'), content: SingleChildScrollView( child: ListBody( children: [ TextField( - controller: this._newWalletName, + controller: _newWalletName, maxLines: 1, textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( + decoration: const InputDecoration(), + style: const TextStyle( fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.bold)), @@ -160,7 +160,7 @@ class WalletOptionsProvider with ChangeNotifier { ), actions: [ TextButton( - child: Text("Valider"), + child: const Text("Valider"), onPressed: () { WidgetsBinding.instance.addPostFrameCallback((_) async { // await _renameWallet(_walletName, this._newWalletName.text, @@ -219,20 +219,20 @@ class WalletOptionsProvider with ChangeNotifier { 'Êtes-vous sûr de vouloir supprimer le portefeuille "$_walletName" ?'), content: SingleChildScrollView( child: ListBody( - children: [ + children: const [ Text('Vous pourrez restaurer ce portefeuille plus tard.'), ], ), ), actions: [ TextButton( - child: Text("Non", key: Key('cancelDeleting')), + child: const Text("Non", key: Key('cancelDeleting')), onPressed: () { Navigator.pop(context, false); }, ), TextButton( - child: Text("Oui", key: Key('confirmDeleting')), + child: const Text("Oui", key: Key('confirmDeleting')), onPressed: () { Navigator.pop(context, true); }, @@ -244,7 +244,7 @@ class WalletOptionsProvider with ChangeNotifier { } snackCopyKey(context) { - final snackBar = SnackBar( + const snackBar = SnackBar( content: Text("Cette clé publique a été copié dans votre presse-papier."), duration: Duration(seconds: 2)); diff --git a/lib/screens/commonElements.dart b/lib/screens/common_elements.dart similarity index 91% rename from lib/screens/commonElements.dart rename to lib/screens/common_elements.dart index 78c6621..4056d56 100644 --- a/lib/screens/commonElements.dart +++ b/lib/screens/common_elements.dart @@ -5,22 +5,22 @@ import 'package:gecko/globals.dart'; class CommonElements { // Exemple de Widget Widget exemple(String data) { - return Text('Coucou'); + return const Text('Coucou'); } Widget bubbleSpeak(String text, {double long, Key textKey}) { return Bubble( padding: long == null - ? BubbleEdges.all(18) + ? const BubbleEdges.all(18) : BubbleEdges.symmetric(horizontal: long, vertical: 30), elevation: 5, color: Colors.white, - margin: BubbleEdges.fromLTRB(10, 0, 20, 10), + margin: const BubbleEdges.fromLTRB(10, 0, 20, 10), // nip: BubbleNip.leftTop, child: Text( text, key: textKey, - style: TextStyle( + style: const TextStyle( color: Colors.black, fontSize: 18, fontWeight: FontWeight.w400), ), ); @@ -28,15 +28,15 @@ class CommonElements { Widget bubbleSpeakRich(List text, {Key textKey}) { return Bubble( - padding: BubbleEdges.all(18), + padding: const BubbleEdges.all(18), elevation: 5, color: Colors.white, - margin: BubbleEdges.fromLTRB(10, 0, 20, 10), + margin: const BubbleEdges.fromLTRB(10, 0, 20, 10), // nip: BubbleNip.leftTop, child: RichText( key: textKey, text: TextSpan( - style: TextStyle( + style: const TextStyle( fontSize: 18.0, color: Colors.black, ), @@ -87,7 +87,7 @@ class CommonElements { top: 70, right: 90, child: Text(progress == 12 ? '11/11' : '$progress/11', - style: TextStyle(fontSize: 12, color: Colors.black)), + style: const TextStyle(fontSize: 12, color: Colors.black)), ), ]); } @@ -102,7 +102,7 @@ class CommonElements { return Container( child: ClipOval( child: Material( - color: Color(0xffFFD58D), // button color + color: const Color(0xffFFD58D), // button color child: InkWell( splashColor: orangeC, // inkwell color child: Padding( @@ -113,7 +113,7 @@ class CommonElements { }), ), ), - decoration: BoxDecoration( + decoration: const BoxDecoration( shape: BoxShape.circle, color: Colors.white, boxShadow: [ @@ -207,14 +207,14 @@ class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget { GeckoSpeechAppBar( this.title, { Key key, - }) : preferredSize = Size.fromHeight(105.4), + }) : preferredSize = const Size.fromHeight(105.4), super(key: key); @override Widget build(BuildContext context) { return AppBar( leading: IconButton( - icon: Container( + icon: SizedBox( height: 30, child: Image.asset('assets/onBoarding/gecko_bar.png')), onPressed: () => Navigator.popUntil( diff --git a/lib/screens/history.dart b/lib/screens/history.dart index b92ada5..b5dd1b6 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -1,15 +1,15 @@ import 'dart:io'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/cesiumPlus.dart'; +import 'package:gecko/models/cesium_plus.dart'; import 'package:gecko/models/home.dart'; -import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/queries.dart'; import 'package:gecko/models/history.dart'; import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/screens/myWallets/unlockingWallet.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/screens/myWallets/unlocking_wallet.dart'; import 'dart:ui'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; @@ -22,7 +22,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { final nRepositories = 20; // HistoryProvider _historyProvider; final _formKey = GlobalKey(); - FocusNode _pubkeyFocus = FocusNode(); + final FocusNode _pubkeyFocus = FocusNode(); List cesiumData; final double avatarsSize = 80; @@ -30,12 +30,14 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { FetchMoreOptions opts; final GlobalKey _scaffoldKey = GlobalKey(); + HistoryScreen({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); HistoryProvider _historyProvider = Provider.of(context); HomeProvider _homeProvider = Provider.of(context); - this._outputPubkey.text = _historyProvider.pubkey; + _outputPubkey.text = _historyProvider.pubkey; log.i('Build pubkey : ' + _historyProvider.pubkey); WidgetsBinding.instance.addPostFrameCallback((_) {}); @@ -45,7 +47,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { title: _homeProvider.appBarExplorer, actions: [ Padding( - padding: EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 16), child: IconButton( icon: _homeProvider.searchIcon, color: Colors.grey[850], @@ -81,9 +83,9 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { } })) ], - backgroundColor: Color(0xffFFD58D), + backgroundColor: const Color(0xffFFD58D), ), - floatingActionButton: Container( + floatingActionButton: SizedBox( height: 80.0, width: 80.0, child: FittedBox( @@ -92,11 +94,11 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { onPressed: () async { await _historyProvider.scan(context); }, - child: Container( + child: SizedBox( height: 40.0, width: 40.0, child: Padding( - padding: EdgeInsets.symmetric(horizontal: 3), + padding: const EdgeInsets.symmetric(horizontal: 3), child: Image.asset('assets/qrcode-scan.png'))), backgroundColor: floattingYellow, //smoothYellow, //Color.fromARGB(500, 204, 255, 255), @@ -104,7 +106,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { ), ), body: Column(children: [ - SizedBox(height: 0), + const SizedBox(height: 0), if (_historyProvider.pubkey != '') historyQuery(context, _historyProvider), ])); @@ -139,7 +141,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { if (result.hasException) { log.e('Error GVA: ' + result.exception.toString()); - return Column(children: [ + return Column(children: const [ SizedBox(height: 50), Text( "Aucun noeud GVA valide n'a pu être trouvé.\nVeuillez réessayer ultérieurement.", @@ -171,10 +173,10 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { child: Builder( builder: (context) => Expanded( child: ListView( - key: Key('listTransactions'), + key: const Key('listTransactions'), controller: scrollController, children: [ - SizedBox(height: 20), + const SizedBox(height: 20), if (_historyProvider.pubkey != '') Row( mainAxisAlignment: @@ -214,7 +216,8 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { if (_avatar.hasData) { return SingleChildScrollView( padding: - EdgeInsets.all(0.0), + const EdgeInsets.all( + 0.0), child: Image.file( _avatar.data[0], height: avatarsSize)); @@ -225,7 +228,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { height: avatarsSize); })), GestureDetector( - key: Key('copyPubkey'), + key: const Key('copyPubkey'), onTap: () { Clipboard.setData(ClipboardData( text: _historyProvider.pubkey)); @@ -234,7 +237,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { child: Text( _historyProvider.getShortPubkey( _historyProvider.pubkey), - style: TextStyle( + style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w800, fontFamily: 'Monospace')), @@ -257,7 +260,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { ], ), )), - SizedBox(width: 0) + const SizedBox(width: 0) ]), if (_isFirstExec) Row( @@ -274,25 +277,22 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { _historyProvider.pubkey), initialData: '...', builder: (context, snapshot) { - return Text( - snapshot.data != null - ? snapshot.data - : '-', - style: - TextStyle(fontSize: 20)); + return Text(snapshot.data ?? '-', + style: const TextStyle( + fontSize: 20)); })) ]), - SizedBox(height: 18), + const SizedBox(height: 18), if (_isFirstExec) Container( padding: const EdgeInsets.fromLTRB(0, 0, 0, 0), child: Text(balance.toString() + ' Ğ1', textAlign: TextAlign.center, - style: TextStyle(fontSize: 18.0))), - SizedBox(height: 20), + style: const TextStyle(fontSize: 18.0))), + const SizedBox(height: 20), ElevatedButton( - key: Key('switchPayHistory'), + key: const Key('switchPayHistory'), style: ElevatedButton.styleFrom( elevation: 1, primary: Colors.grey[50], // background @@ -344,32 +344,32 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { child: Column( mainAxisSize: MainAxisSize.min, children: [ - SizedBox(height: 20), - Text('Commentaire:', style: TextStyle(fontSize: 20.0)), + const SizedBox(height: 20), + const Text('Commentaire:', style: TextStyle(fontSize: 20.0)), Padding( - padding: EdgeInsets.all(8.0), + padding: const EdgeInsets.all(8.0), child: TextField( controller: _historyProvider.payComment, maxLines: 2, textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( + decoration: const InputDecoration(), + style: const TextStyle( fontSize: 22, color: Colors.black, fontWeight: FontWeight.bold))), - SizedBox(height: 20), - Text('Montant (DU/Ğ1):', style: TextStyle(fontSize: 20.0)), + const SizedBox(height: 20), + const Text('Montant (DU/Ğ1):', style: TextStyle(fontSize: 20.0)), Padding( - padding: EdgeInsets.all(8.0), + padding: const EdgeInsets.all(8.0), child: TextFormField( - style: TextStyle(fontSize: 22), + style: const TextStyle(fontSize: 22), controller: _historyProvider.payAmount, textAlign: TextAlign.center, maxLines: 1, keyboardType: TextInputType.number, decoration: InputDecoration( - contentPadding: - EdgeInsets.symmetric(vertical: 25.0, horizontal: 10.0), + contentPadding: const EdgeInsets.symmetric( + vertical: 25.0, horizontal: 10.0), border: OutlineInputBorder( borderRadius: BorderRadius.circular(10.0)), ), @@ -412,7 +412,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { int keyID = 0; return _historyProvider.transBC == null - ? Text('Aucune transaction à afficher.') + ? const Text('Aucune transaction à afficher.') : Column(children: [ for (var repository in _historyProvider.transBC) Padding( @@ -427,14 +427,14 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { fontWeight: FontWeight.w700), textAlign: TextAlign.center), title: Text(repository[3], - style: TextStyle( + style: const TextStyle( fontSize: 15.0, fontFamily: 'Monospace'), textAlign: TextAlign.center), subtitle: Text(repository[6] != '' ? repository[6] : '-', - style: TextStyle(fontSize: 12.0), + style: const TextStyle(fontSize: 12.0), textAlign: TextAlign.center), trailing: Text("${repository[4]} Ğ1", - style: TextStyle(fontSize: 14.0), + style: const TextStyle(fontSize: 14.0), textAlign: TextAlign.justify), dense: true, isThreeLine: false, @@ -445,14 +445,14 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { if (result.isLoading) Row( mainAxisAlignment: MainAxisAlignment.center, - children: [ + children: const [ CircularProgressIndicator(), ], ), // if (_historyProvider.isTheEnd) // What I did before ... if (!_historyProvider.pageInfo['hasPreviousPage']) Column( - children: [ + children: const [ SizedBox(height: 15), Text("Début de l'historique.", textAlign: TextAlign.center, diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 22b74d7..fcc22a8 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -3,16 +3,18 @@ import 'package:gecko/globals.dart'; import 'package:gecko/models/history.dart'; import 'package:gecko/models/home.dart'; import 'package:flutter/material.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/screens/myWallets/unlockingWallet.dart'; -import 'package:gecko/screens/onBoarding/0_noKeychainFound.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/screens/myWallets/unlocking_wallet.dart'; +import 'package:gecko/screens/onBoarding/0_no_keychain_found.dart'; import 'dart:ui'; import 'package:gecko/screens/settings.dart'; import 'package:flutter/services.dart'; import 'package:provider/provider.dart'; class HomeScreen extends StatelessWidget { + const HomeScreen({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -46,7 +48,7 @@ class HomeScreen extends StatelessWidget { Expanded( child: ListView(padding: EdgeInsets.zero, children: [ DrawerHeader( - child: Column(children: [ + child: Column(children: const [ SizedBox(height: 0), Image( image: AssetImage('assets/icon/gecko_final.png'), @@ -57,8 +59,8 @@ class HomeScreen extends StatelessWidget { ), ), ListTile( - key: Key('parameters'), - title: Text('Paramètres'), + key: const Key('parameters'), + title: const Text('Paramètres'), onTap: () { Navigator.pop(context); Navigator.push( @@ -70,34 +72,33 @@ class HomeScreen extends StatelessWidget { }, ), ListTile( - title: Text('A propos'), + title: const Text('A propos'), onTap: () { // Update the state of the app. // ... }, ), ])), - Container( - child: Align( - alignment: FractionalOffset.bottomCenter, - child: Text('Ğecko v$appVersion'))), - SizedBox(height: 20) + Align( + alignment: FractionalOffset.bottomCenter, + child: Text('Ğecko v$appVersion')), + const SizedBox(height: 20) ], ), ), appBar: AppBar( leading: Builder( builder: (context) => IconButton( - key: Key('drawerMenu'), - icon: new Icon(Icons.menu, color: Colors.grey[850]), + key: const Key('drawerMenu'), + icon: Icon(Icons.menu, color: Colors.grey[850]), onPressed: () => Scaffold.of(context).openDrawer(), )), title: _homeProvider.appBarTitle, actions: [ Padding( - padding: EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 16), child: IconButton( - key: Key('searchIcon'), + key: const Key('searchIcon'), icon: _homeProvider.searchIcon, color: Colors.grey[850], onPressed: () { @@ -107,7 +108,7 @@ class HomeScreen extends StatelessWidget { color: Colors.grey[850], ); _homeProvider.appBarTitle = TextField( - key: Key('searchInput'), + key: const Key('searchInput'), autofocus: true, controller: _homeProvider.searchQuery, onChanged: (text) { @@ -133,9 +134,9 @@ class HomeScreen extends StatelessWidget { } })) ], - backgroundColor: Color(0xffFFD58D), + backgroundColor: const Color(0xffFFD58D), ), - backgroundColor: Color(0xffF9F9F1), + backgroundColor: const Color(0xffF9F9F1), body: Builder( builder: (ctx) => StatefulWrapper( onInit: () { @@ -146,10 +147,10 @@ class HomeScreen extends StatelessWidget { }, child: Column(children: [ Padding( - padding: EdgeInsets.only(top: 20), + padding: const EdgeInsets.only(top: 20), child: Row( mainAxisAlignment: MainAxisAlignment.center, - children: [ + children: const [ SizedBox(width: 7), Image( image: @@ -157,10 +158,10 @@ class HomeScreen extends StatelessWidget { height: 180), ])), Padding( - padding: EdgeInsets.only(top: 15), + padding: const EdgeInsets.only(top: 15), child: Row( mainAxisAlignment: MainAxisAlignment.center, - children: [ + children: const [ Text( "y'a pas de lézard !", textAlign: TextAlign.center, @@ -171,7 +172,7 @@ class HomeScreen extends StatelessWidget { ) ])), Padding( - padding: EdgeInsets.only(top: 60), + padding: const EdgeInsets.only(top: 60), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -179,10 +180,11 @@ class HomeScreen extends StatelessWidget { Container( child: ClipOval( child: Material( - color: Color(0xffFFD58D), // button color + color: const Color( + 0xffFFD58D), // button color child: InkWell( splashColor: orangeC, // inkwell color - child: Padding( + child: const Padding( padding: EdgeInsets.all(22), child: Image( image: AssetImage( @@ -194,7 +196,7 @@ class HomeScreen extends StatelessWidget { }), ), ), - decoration: BoxDecoration( + decoration: const BoxDecoration( shape: BoxShape.circle, color: Colors.white, boxShadow: [ @@ -206,8 +208,8 @@ class HomeScreen extends StatelessWidget { ], ), ), - SizedBox(height: 12), - Text( + const SizedBox(height: 12), + const Text( "Payer par QR-Code", textAlign: TextAlign.center, style: TextStyle( @@ -216,7 +218,7 @@ class HomeScreen extends StatelessWidget { ]) ])), Padding( - padding: EdgeInsets.only(top: 50), + padding: const EdgeInsets.only(top: 50), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -224,10 +226,11 @@ class HomeScreen extends StatelessWidget { Container( child: ClipOval( child: Material( - color: Color(0xffFFD58D), // button color + color: const Color( + 0xffFFD58D), // button color child: InkWell( splashColor: orangeC, // inkwell color - child: Padding( + child: const Padding( padding: EdgeInsets.symmetric( horizontal: 20, vertical: 16), child: Image( @@ -245,7 +248,7 @@ class HomeScreen extends StatelessWidget { }), ), ), - decoration: BoxDecoration( + decoration: const BoxDecoration( shape: BoxShape.circle, color: Colors.white, boxShadow: [ @@ -257,24 +260,25 @@ class HomeScreen extends StatelessWidget { ], ), ), - SizedBox(height: 12), - Text( + const SizedBox(height: 12), + const Text( "Explorer\n", textAlign: TextAlign.center, style: TextStyle( color: Colors.black, fontSize: 16), ) ]), - SizedBox(width: 140), + const SizedBox(width: 140), Column(children: [ Container( child: ClipOval( - key: Key('manageWallets'), + key: const Key('manageWallets'), child: Material( - color: Color(0xffFFD58D), // button color + color: const Color( + 0xffFFD58D), // button color child: InkWell( splashColor: orangeC, // inkwell color - child: Padding( + child: const Padding( padding: EdgeInsets.all(23), child: Image( image: AssetImage( @@ -296,12 +300,12 @@ class HomeScreen extends StatelessWidget { : Navigator.push(context, MaterialPageRoute( builder: (context) { - return NoKeyChainScreen(); + return const NoKeyChainScreen(); })); }), ), ), - decoration: BoxDecoration( + decoration: const BoxDecoration( shape: BoxShape.circle, color: Colors.white, boxShadow: [ @@ -313,8 +317,8 @@ class HomeScreen extends StatelessWidget { ], ), ), - SizedBox(height: 12), - Text( + const SizedBox(height: 12), + const Text( "Gérer mes\nportefeuilles", textAlign: TextAlign.center, style: TextStyle( @@ -351,7 +355,8 @@ class HomeScreen extends StatelessWidget { class StatefulWrapper extends StatefulWidget { final Function onInit; final Widget child; - const StatefulWrapper({@required this.onInit, @required this.child}); + const StatefulWrapper({Key key, @required this.onInit, @required this.child}) + : super(key: key); @override _StatefulWrapperState createState() => _StatefulWrapperState(); } diff --git a/lib/screens/myWallets/cesiumWalletOptions.dart b/lib/screens/myWallets/cesium_wallet_options.dart similarity index 88% rename from lib/screens/myWallets/cesiumWalletOptions.dart rename to lib/screens/myWallets/cesium_wallet_options.dart index da1b043..319bbbe 100644 --- a/lib/screens/myWallets/cesiumWalletOptions.dart +++ b/lib/screens/myWallets/cesium_wallet_options.dart @@ -3,10 +3,10 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/history.dart'; -import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/queries.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; @@ -42,8 +42,9 @@ class CesiumWalletOptions extends StatelessWidget { _walletOptions.nameController.text.length >= 15 ? _nbrLinesName = 2 : _nbrLinesName = 1; - if (_walletOptions.nameController.text.length >= 26 && isTall) + if (_walletOptions.nameController.text.length >= 26 && isTall) { _nbrLinesName = 3; + } _walletOptions.walletID = [0, cesiumWallet.number]; @@ -71,7 +72,7 @@ class CesiumWalletOptions extends StatelessWidget { resizeToAvoidBottomInset: false, appBar: AppBar( leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), + icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { _walletOptions.isEditing = false; _walletOptions.isBalanceBlur = true; @@ -98,11 +99,11 @@ class CesiumWalletOptions extends StatelessWidget { end: Alignment.bottomCenter, colors: [ yellowC, - Color(0xfffafafa), + const Color(0xfffafafa), ], )), child: Row(children: [ - SizedBox(width: 25), + const SizedBox(width: 25), InkWell( onTap: () async { await _walletOptions.changeAvatar(); @@ -119,7 +120,7 @@ class CesiumWalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/camera.png', ), - SizedBox(height: 100) + const SizedBox(height: 100) ])), Column(children: [ Row(children: [ @@ -127,14 +128,14 @@ class CesiumWalletOptions extends StatelessWidget { SizedBox( width: 260, child: TextField( - key: Key('walletName'), + key: const Key('walletName'), autofocus: false, focusNode: _walletOptions.walletNameFocus, enabled: _walletOptions.isEditing, controller: _walletOptions.nameController, maxLines: _nbrLinesName, textAlign: TextAlign.center, - decoration: InputDecoration( + decoration: const InputDecoration( border: InputBorder.none, focusedBorder: InputBorder.none, enabledBorder: InputBorder.none, @@ -163,7 +164,7 @@ class CesiumWalletOptions extends StatelessWidget { } if (result.isLoading) { - return Text('Loading'); + return const Text('Loading'); } // List repositories = result.data['viewer']['repositories']['nodes']; @@ -190,7 +191,7 @@ class CesiumWalletOptions extends StatelessWidget { sigmaY: _walletOptions.isBalanceBlur ? 5 : 0), - child: Text('$wBalanceUD', + child: Text(wBalanceUD, style: TextStyle( fontSize: isTall ? 20 : 18, color: Colors.black)), @@ -208,9 +209,9 @@ class CesiumWalletOptions extends StatelessWidget { // ); }, ), - SizedBox(height: 5), + const SizedBox(height: 5), InkWell( - key: Key('displayBalance'), + key: const Key('displayBalance'), onTap: () { _walletOptions.bluringBalance(); }, @@ -220,15 +221,15 @@ class CesiumWalletOptions extends StatelessWidget { : 'assets/walletOptions/icon_oeuil_close.png', )), ]), - SizedBox(width: 0), + const SizedBox(width: 0), Column(children: [ InkWell( - key: Key('renameWallet'), + key: const Key('renameWallet'), onTap: () async { _isNewNameValid = _walletOptions .editWalletName(_walletOptions.walletID); await Future.delayed( - Duration(milliseconds: 30)); + const Duration(milliseconds: 30)); _walletOptions.walletNameFocus.requestFocus(); }, child: ClipRRect( @@ -239,7 +240,7 @@ class CesiumWalletOptions extends StatelessWidget { width: 20, height: 20), )), - SizedBox( + const SizedBox( height: 60, ) ]) @@ -254,11 +255,11 @@ class CesiumWalletOptions extends StatelessWidget { return snapshot.data != null ? Image.memory(snapshot.data, height: isTall ? 300 : 270) - : Text('-', style: TextStyle(fontSize: 20)); + : const Text('-', style: TextStyle(fontSize: 20)); }), SizedBox(height: 15 * ratio), GestureDetector( - key: Key('copyPubkey'), + key: const Key('copyPubkey'), onTap: () { Clipboard.setData( ClipboardData(text: _walletOptions.pubkey.text)); @@ -267,30 +268,29 @@ class CesiumWalletOptions extends StatelessWidget { child: SizedBox( height: 50, child: Row(children: [ - SizedBox(width: 30), + const SizedBox(width: 30), Image.asset( 'assets/walletOptions/key.png', ), - SizedBox(width: 10), + const SizedBox(width: 10), Text("${shortPubkey.split(':')[0]}:", - style: TextStyle( + style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w800, fontFamily: 'Monospace', color: Colors.black)), Text(shortPubkey.split(':')[1], - style: TextStyle( + style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w800, fontFamily: 'Monospace')), - SizedBox(width: 15), + const SizedBox(width: 15), SizedBox( height: 40, child: ElevatedButton( style: ElevatedButton.styleFrom( shape: RoundedRectangleBorder( - borderRadius: - new BorderRadius.circular(8), + borderRadius: BorderRadius.circular(8), ), elevation: 1, primary: orangeC, // background @@ -305,7 +305,7 @@ class CesiumWalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/copy-white.png', ), - SizedBox(width: 7), + const SizedBox(width: 7), Text('Copier', style: TextStyle( fontSize: 15, @@ -314,7 +314,7 @@ class CesiumWalletOptions extends StatelessWidget { ]))), SizedBox(height: 10 * ratio), InkWell( - key: Key('displayHistory'), + key: const Key('displayHistory'), onTap: () { _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text, goHistory: true); @@ -322,18 +322,18 @@ class CesiumWalletOptions extends StatelessWidget { child: SizedBox( height: 50, child: Row(children: [ - SizedBox(width: 30), + const SizedBox(width: 30), Image.asset( 'assets/walletOptions/clock.png', ), - SizedBox(width: 12), - Text('Historique des transactions', + const SizedBox(width: 12), + const Text('Historique des transactions', style: TextStyle(fontSize: 20, color: Colors.black)), ]))), SizedBox(height: 12 * ratio), InkWell( - key: Key('setDefaultWallet'), + key: const Key('setDefaultWallet'), onTap: !_walletOptions.isDefaultWallet ? () { defaultWallet = cesiumWallet; @@ -346,14 +346,14 @@ class CesiumWalletOptions extends StatelessWidget { child: SizedBox( height: 50, child: Row(children: [ - SizedBox(width: 31), + const SizedBox(width: 31), CircleAvatar( backgroundColor: Colors.grey[ _walletOptions.isDefaultWallet ? 300 : 500], child: Image.asset( 'assets/walletOptions/android-checkmark.png', )), - SizedBox(width: 12), + const SizedBox(width: 12), Text( _walletOptions.isDefaultWallet ? 'Ce portefeuille est celui par defaut' @@ -367,7 +367,7 @@ class CesiumWalletOptions extends StatelessWidget { SizedBox(height: 17 * ratio), if (!_walletOptions.isDefaultWallet) InkWell( - key: Key('deleteWallet'), + key: const Key('deleteWallet'), onTap: !_walletOptions.isDefaultWallet ? () async { await _walletOptions.deleteWallet( @@ -381,12 +381,12 @@ class CesiumWalletOptions extends StatelessWidget { } : null, child: Row(children: [ - SizedBox(width: 33), + const SizedBox(width: 33), Image.asset( 'assets/walletOptions/trash.png', ), - SizedBox(width: 14), - Text('Supprimer ce portefeuille', + const SizedBox(width: 14), + const Text('Supprimer ce portefeuille', style: TextStyle( fontSize: 20, color: Color(0xffD80000))), ])), diff --git a/lib/screens/myWallets/changePin.dart b/lib/screens/myWallets/change_pin.dart similarity index 66% rename from lib/screens/myWallets/changePin.dart rename to lib/screens/myWallets/change_pin.dart index 563b247..2d51a04 100644 --- a/lib/screens/myWallets/changePin.dart +++ b/lib/screens/myWallets/change_pin.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/changePin.dart'; +import 'package:gecko/models/change_pin.dart'; import 'dart:io'; import 'package:provider/provider.dart'; @@ -13,7 +13,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { {Key keyMyWallets, @required this.walletName, @required this.oldPin}) : super(key: keyMyWallets); final String walletName; - final oldPin; + final String oldPin; Directory appPath; NewWallet _newWalletFile; @@ -32,7 +32,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { resizeToAvoidBottomInset: false, appBar: AppBar( leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), + icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { _changePin.newPin.text = ''; Navigator.of(context).pop(); @@ -44,7 +44,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { body: Center( child: SafeArea( child: Column(children: [ - SizedBox(height: 80), + const SizedBox(height: 80), Text( 'Choisissez un code secret autogénéré :', textAlign: TextAlign.center, @@ -53,33 +53,31 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { color: Colors.grey[600], fontWeight: FontWeight.w400), ), - SizedBox(height: 30), - Container( - child: Stack( - alignment: Alignment.centerRight, - children: [ - TextField( - enabled: true, - controller: _changePin.newPin, - maxLines: 1, - textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( - fontSize: 30.0, - color: Colors.black, - fontWeight: FontWeight.bold)), - IconButton( - icon: Icon(Icons.replay), - color: orangeC, - onPressed: () async { - _newWalletFile = - await _changePin.changePin(walletName, oldPin); - }, - ), - ], - ), + const SizedBox(height: 30), + Stack( + alignment: Alignment.centerRight, + children: [ + TextField( + enabled: true, + controller: _changePin.newPin, + maxLines: 1, + textAlign: TextAlign.center, + decoration: const InputDecoration(), + style: const TextStyle( + fontSize: 30.0, + color: Colors.black, + fontWeight: FontWeight.bold)), + IconButton( + icon: const Icon(Icons.replay), + color: orangeC, + onPressed: () async { + _newWalletFile = + await _changePin.changePin(walletName, oldPin); + }, + ), + ], ), - SizedBox(height: 30), + const SizedBox(height: 30), SizedBox( width: 200, height: 50, @@ -96,7 +94,8 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { context, _newWalletFile); } : null, - child: Text('Confirmer', style: TextStyle(fontSize: 28))), + child: const Text('Confirmer', + style: TextStyle(fontSize: 28))), ) ]))))); } diff --git a/lib/screens/myWallets/chooseChest.dart b/lib/screens/myWallets/choose_chest.dart similarity index 86% rename from lib/screens/myWallets/chooseChest.dart rename to lib/screens/myWallets/choose_chest.dart index c26ec36..479e0e4 100644 --- a/lib/screens/myWallets/chooseChest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -1,7 +1,7 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/onBoarding/1.dart'; import 'package:carousel_slider/carousel_slider.dart'; @@ -12,6 +12,8 @@ class ChooseChest extends StatelessWidget { TextEditingController tplController = TextEditingController(); CarouselController buttonCarouselController = CarouselController(); + ChooseChest({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -22,13 +24,13 @@ class ChooseChest extends StatelessWidget { return Scaffold( appBar: AppBar( - title: SizedBox( + title: const SizedBox( height: 22, child: Text('Sélectionner mon coffre'), )), body: SafeArea( child: Column(children: [ - SizedBox(height: 190), + const SizedBox(height: 190), CarouselSlider( carouselController: buttonCarouselController, options: CarouselOptions( @@ -48,10 +50,10 @@ class ChooseChest extends StatelessWidget { Image.asset( 'assets/chests/${i.value.imageName}', ), - SizedBox(height: 30), + const SizedBox(height: 30), Text( i.value.name, - style: TextStyle(fontSize: 21), + style: const TextStyle(fontSize: 21), ), ]); }, @@ -59,13 +61,13 @@ class ChooseChest extends StatelessWidget { }).toList(), ), Image.asset('assets/chests/vector.png'), - SizedBox(height: 15), - Text( + const SizedBox(height: 15), + const Text( 'Choisir un autre\ncoffre', textAlign: TextAlign.center, style: TextStyle(fontSize: 13), ), - SizedBox(height: 80), + const SizedBox(height: 80), SizedBox( width: 400, height: 70, @@ -91,9 +93,9 @@ class ChooseChest extends StatelessWidget { ), ), ), - SizedBox(height: 20), + const SizedBox(height: 20), InkWell( - key: Key('createNewChest'), + key: const Key('createNewChest'), onTap: () { Navigator.push( context, @@ -110,7 +112,7 @@ class ChooseChest extends StatelessWidget { color: orangeC, fontWeight: FontWeight.w600))), )), - SizedBox(height: 10), + const SizedBox(height: 10), ]), )); } diff --git a/lib/screens/myWallets/confirmWalletStorage.dart b/lib/screens/myWallets/confirm_wallet_storage.dart similarity index 82% rename from lib/screens/myWallets/confirmWalletStorage.dart rename to lib/screens/myWallets/confirm_wallet_storage.dart index 02b0298..c31bbe7 100644 --- a/lib/screens/myWallets/confirmWalletStorage.dart +++ b/lib/screens/myWallets/confirm_wallet_storage.dart @@ -3,9 +3,9 @@ import 'dart:async'; import 'package:dubp/dubp.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:gecko/models/generateWallets.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:provider/provider.dart'; // ignore: must_be_immutable @@ -19,10 +19,10 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { String generatedMnemonic; NewWallet generatedWallet; - TextEditingController _mnemonicController = TextEditingController(); - TextEditingController _inputRestoreWord = TextEditingController(); + final TextEditingController _mnemonicController = TextEditingController(); + final TextEditingController _inputRestoreWord = TextEditingController(); TextEditingController walletName = TextEditingController(); - FocusNode _wordFocus = FocusNode(); + final FocusNode _wordFocus = FocusNode(); @override Widget build(BuildContext context) { @@ -35,7 +35,7 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { Provider.of(context); final int _currentChest = _myWalletProvider.getCurrentChest(); - this._mnemonicController.text = generatedMnemonic; + _mnemonicController.text = generatedMnemonic; return WillPopScope( onWillPop: () { _generateWalletProvider.isAskedWordValid = false; @@ -46,20 +46,20 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { resizeToAvoidBottomInset: false, appBar: AppBar( leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), + icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { Navigator.of(context).pop(); _generateWalletProvider.isAskedWordValid = false; _generateWalletProvider.askedWordColor = Colors.black; }), - title: SizedBox( + title: const SizedBox( height: 22, child: Text('Enregistrer ce trousseau'), )), body: Center( child: Column(children: [ - SizedBox(height: 15), - Container( + const SizedBox(height: 15), + SizedBox( width: 360, child: Text( 'Quel est le ${_generateWalletProvider.nbrWord + 1}ème mot de votre phrase de restauration ?', @@ -70,11 +70,11 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { fontWeight: FontWeight.w400), )), TextFormField( - key: Key('askedWord'), + key: const Key('askedWord'), focusNode: _wordFocus, autofocus: true, enabled: !_generateWalletProvider.isAskedWordValid, - controller: this._inputRestoreWord, + controller: _inputRestoreWord, textInputAction: TextInputAction.next, onChanged: (value) { _generateWalletProvider.checkAskedWord( @@ -82,13 +82,13 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { }, maxLines: 1, textAlign: TextAlign.center, - decoration: InputDecoration(), + decoration: const InputDecoration(), style: TextStyle( fontSize: 30.0, color: _generateWalletProvider.askedWordColor, fontWeight: FontWeight.w500)), - SizedBox(height: 12), - Container( + const SizedBox(height: 12), + SizedBox( width: 360, child: Text( 'Choisissez un nom pour votre premier portefeuille :', @@ -99,21 +99,21 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { fontWeight: FontWeight.w400), )), TextFormField( - key: Key('walletName'), + key: const Key('walletName'), focusNode: _generateWalletProvider.walletNameFocus, inputFormatters: [ FilteringTextInputFormatter.allow( RegExp('[A-Za-z|0-9|\\-|_| ]')), ], - controller: this.walletName, + controller: walletName, textInputAction: TextInputAction.next, onChanged: (v) { _generateWalletProvider.nameChanged(); }, maxLines: 1, textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( + decoration: const InputDecoration(), + style: const TextStyle( fontSize: 30.0, color: Colors.black, fontWeight: FontWeight.w500)), @@ -124,7 +124,7 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { width: 200, height: 50, child: ElevatedButton( - key: Key('confirmStorage'), + key: const Key('confirmStorage'), style: ElevatedButton.styleFrom( elevation: 12, primary: Colors @@ -133,7 +133,7 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { ), onPressed: (_generateWalletProvider .isAskedWordValid && - this.walletName.text != '') + walletName.text != '') ? () { _generateWalletProvider.storeHDWChest( generatedWallet, @@ -154,12 +154,12 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { context, ModalRoute.withName('/')); } : null, - child: Text('Confirmer', + child: const Text('Confirmer', style: TextStyle(fontSize: 28))), ))), - SizedBox(height: 70), - Text('TRICHE PENDANT ALPHA: ' + this._mnemonicController.text, - style: TextStyle( + const SizedBox(height: 70), + Text('TRICHE PENDANT ALPHA: ' + _mnemonicController.text, + style: const TextStyle( fontSize: 10.0, color: Colors.black, fontWeight: FontWeight.normal)), diff --git a/lib/screens/myWallets/generateWallets.dart b/lib/screens/myWallets/generate_wallets.dart similarity index 70% rename from lib/screens/myWallets/generateWallets.dart rename to lib/screens/myWallets/generate_wallets.dart index b1d623e..8b7bd5e 100644 --- a/lib/screens/myWallets/generateWallets.dart +++ b/lib/screens/myWallets/generate_wallets.dart @@ -1,7 +1,7 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/generateWallets.dart'; -import 'package:gecko/screens/myWallets/confirmWalletStorage.dart'; +import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/screens/myWallets/confirm_wallet_storage.dart'; import 'package:flutter/material.dart'; import 'package:printing/printing.dart'; import 'package:provider/provider.dart'; @@ -15,8 +15,10 @@ class GenerateWalletsScreen extends StatelessWidget { String currentText = ""; var pinColor = Colors.grey[300]; - GlobalKey _toolTipSentence = GlobalKey(); - GlobalKey _toolTipSecret = GlobalKey(); + final GlobalKey _toolTipSentence = GlobalKey(); + final GlobalKey _toolTipSecret = GlobalKey(); + + GenerateWalletsScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -27,18 +29,18 @@ class GenerateWalletsScreen extends StatelessWidget { return Scaffold( appBar: AppBar( - title: SizedBox( + title: const SizedBox( height: 22, child: Text('Générer un trousseau'), )), - floatingActionButton: Container( + floatingActionButton: SizedBox( height: 80.0, width: 80.0, child: FittedBox( child: FloatingActionButton( heroTag: "buttonGenerateWallet", onPressed: () => _generateWalletProvider.generateMnemonic(), - child: Container( + child: SizedBox( height: 40.0, width: 40.0, child: Icon(Icons.replay, color: Colors.grey[850]), @@ -49,7 +51,7 @@ class GenerateWalletsScreen extends StatelessWidget { body: Builder( builder: (ctx) => SafeArea( child: Column(children: [ - SizedBox(height: 20), + const SizedBox(height: 20), toolTips(_toolTipSentence, 'Phrase de restauration:', "Notez et gardez cette phrase précieusement sur un papier, elle vous servira à restaurer votre portefeuille sur un autre appareil"), TextField( @@ -57,45 +59,43 @@ class GenerateWalletsScreen extends StatelessWidget { controller: _generateWalletProvider.mnemonicController, maxLines: 3, textAlign: TextAlign.center, - decoration: InputDecoration( + decoration: const InputDecoration( contentPadding: EdgeInsets.all(15.0), ), - style: TextStyle( + style: const TextStyle( fontSize: 22.0, color: Colors.black, fontWeight: FontWeight.w400)), - SizedBox(height: 8), + const SizedBox(height: 8), toolTips(_toolTipSecret, 'Code secret:', "Retenez bien votre code secret, il vous sera demandé à chaque paiement, ainsi que pour configurer votre portefeuille"), - Container( - child: Stack( - alignment: Alignment.centerRight, - children: [ - TextField( - key: Key('generatedPin'), - enabled: false, - controller: _generateWalletProvider.pin, - maxLines: 1, - textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( - fontSize: 30.0, - color: Colors.black, - fontWeight: FontWeight.bold)), - IconButton( - icon: Icon(Icons.replay), - color: orangeC, - onPressed: () { - _generateWalletProvider.changePinCode( - reload: false); - }, - ), - ], - ), + Stack( + alignment: Alignment.centerRight, + children: [ + TextField( + key: const Key('generatedPin'), + enabled: false, + controller: _generateWalletProvider.pin, + maxLines: 1, + textAlign: TextAlign.center, + decoration: const InputDecoration(), + style: const TextStyle( + fontSize: 30.0, + color: Colors.black, + fontWeight: FontWeight.bold)), + IconButton( + icon: const Icon(Icons.replay), + color: orangeC, + onPressed: () { + _generateWalletProvider.changePinCode( + reload: false); + }, + ), + ], ), - SizedBox(height: 20), + const SizedBox(height: 20), ElevatedButton( - key: Key('storeKeychain'), + key: const Key('storeKeychain'), style: ElevatedButton.styleFrom( primary: yellowC, // background onPrimary: Colors.black, // foreground @@ -117,9 +117,9 @@ class GenerateWalletsScreen extends StatelessWidget { ); } : null, - child: Text('Enregistrer ce trousseau', + child: const Text('Enregistrer ce trousseau', style: TextStyle(fontSize: 20))), - SizedBox(height: 20), + const SizedBox(height: 20), GestureDetector( onTap: () { Navigator.push( @@ -130,7 +130,7 @@ class GenerateWalletsScreen extends StatelessWidget { }), ); }, - child: Icon(Icons.print)) + child: const Icon(Icons.print)) ]), ))); } @@ -142,21 +142,21 @@ class GenerateWalletsScreen extends StatelessWidget { _toolTip.ensureTooltipVisible(); }, child: Tooltip( - padding: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), key: _key, - showDuration: Duration(seconds: 5), + showDuration: const Duration(seconds: 5), message: _message, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - SizedBox(width: 20), + const SizedBox(width: 20), Column(children: [ SizedBox( width: 30, height: 25, child: Icon(Icons.info_outline, size: 22, color: orangeC)), - SizedBox(height: 1) + const SizedBox(height: 1) ]), Text( _text, @@ -165,14 +165,14 @@ class GenerateWalletsScreen extends StatelessWidget { color: Colors.grey[600], fontWeight: FontWeight.w400), ), - SizedBox(width: 45) + const SizedBox(width: 45) ]))); } } // ignore: must_be_immutable class PrintWallet extends StatelessWidget { - PrintWallet(this.sentence); + const PrintWallet(this.sentence, {Key key}) : super(key: key); final String sentence; @@ -182,7 +182,7 @@ class PrintWallet extends StatelessWidget { Provider.of(context); return MaterialApp( home: Scaffold( - appBar: AppBar(title: Text('Imprimer ce trousseau')), + appBar: AppBar(title: const Text('Imprimer ce trousseau')), body: PdfPreview( build: (format) => _generateWalletProvider.printWallet(sentence), ), diff --git a/lib/screens/myWallets/importWallet.dart b/lib/screens/myWallets/import_wallet.dart similarity index 76% rename from lib/screens/myWallets/importWallet.dart rename to lib/screens/myWallets/import_wallet.dart index d7c7b55..ed33ff4 100644 --- a/lib/screens/myWallets/importWallet.dart +++ b/lib/screens/myWallets/import_wallet.dart @@ -1,13 +1,15 @@ import 'dart:async'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/generateWallets.dart'; +import 'package:gecko/models/generate_wallets.dart'; import 'package:flutter/material.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:provider/provider.dart'; class ImportWalletScreen extends StatelessWidget { + const ImportWalletScreen({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -28,25 +30,24 @@ class ImportWalletScreen extends StatelessWidget { child: Scaffold( appBar: AppBar( leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), + icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { _generateWalletProvider.resetImportView(); Navigator.of(context).pop(); }), - title: SizedBox( + title: const SizedBox( height: 22, child: Text('Importer un portefeuille'), )), body: Builder( builder: (ctx) => SafeArea( child: Column(children: [ - SizedBox(height: 20), + const SizedBox(height: 20), TextFormField( onChanged: (text) { - if (_debounce?.isActive ?? false) - // _generateWalletProvider.canImport = false; - // _generateWalletProvider.reloadBuild(); + if (_debounce?.isActive ?? false) { _debounce.cancel(); + } _debounce = Timer(const Duration(milliseconds: 200), () { _generateWalletProvider @@ -77,13 +78,12 @@ class ImportWalletScreen extends StatelessWidget { ), ), ), - SizedBox(height: 15), + const SizedBox(height: 15), TextFormField( onChanged: (text) { - if (_debounce?.isActive ?? false) - // _generateWalletProvider.canImport = false; - // _generateWalletProvider.reloadBuild(); + if (_debounce?.isActive ?? false) { _debounce.cancel(); + } _debounce = Timer(const Duration(milliseconds: 200), () { _generateWalletProvider @@ -115,7 +115,7 @@ class ImportWalletScreen extends StatelessWidget { ), ), ), - SizedBox(height: 15), + const SizedBox(height: 15), GestureDetector( onTap: () { Clipboard.setData(ClipboardData( @@ -125,41 +125,39 @@ class ImportWalletScreen extends StatelessWidget { }, child: Text( _generateWalletProvider.cesiumPubkey.text, - style: TextStyle( + style: const TextStyle( fontSize: 14.0, color: Colors.black, fontWeight: FontWeight.bold, fontFamily: 'Monospace'), )), - SizedBox(height: 20), + const SizedBox(height: 20), toolTips(_toolTipSecret, 'Code secret:', "Retenez bien votre code secret, il vous sera demandé à chaque paiement, ainsi que pour configurer votre portefeuille"), - Container( - child: Stack( - alignment: Alignment.centerRight, - children: [ - TextField( - enabled: false, - controller: _generateWalletProvider.pin, - maxLines: 1, - textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( - fontSize: 30.0, - color: Colors.black, - fontWeight: FontWeight.bold)), - IconButton( - icon: Icon(Icons.replay), - color: orangeC, - onPressed: () { - _generateWalletProvider.changePinCode( - reload: true); - }, - ), - ], - ), + Stack( + alignment: Alignment.centerRight, + children: [ + TextField( + enabled: false, + controller: _generateWalletProvider.pin, + maxLines: 1, + textAlign: TextAlign.center, + decoration: const InputDecoration(), + style: const TextStyle( + fontSize: 30.0, + color: Colors.black, + fontWeight: FontWeight.bold)), + IconButton( + icon: const Icon(Icons.replay), + color: orangeC, + onPressed: () { + _generateWalletProvider.changePinCode( + reload: true); + }, + ), + ], ), - SizedBox(height: 30), + const SizedBox(height: 30), ElevatedButton( style: ElevatedButton.styleFrom( primary: yellowC, // background @@ -180,7 +178,7 @@ class ImportWalletScreen extends StatelessWidget { }); } : null, - child: Text('Importer ce portefeuille Cesium', + child: const Text('Importer ce portefeuille Cesium', style: TextStyle(fontSize: 20))), ]), )))); @@ -193,21 +191,21 @@ class ImportWalletScreen extends StatelessWidget { _toolTip.ensureTooltipVisible(); }, child: Tooltip( - padding: EdgeInsets.all(10), + padding: const EdgeInsets.all(10), key: _key, - showDuration: Duration(seconds: 5), + showDuration: const Duration(seconds: 5), message: _message, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - SizedBox(width: 20), + const SizedBox(width: 20), Column(children: [ SizedBox( width: 30, height: 25, child: Icon(Icons.info_outline, size: 22, color: orangeC)), - SizedBox(height: 1) + const SizedBox(height: 1) ]), Text( _text, @@ -216,7 +214,7 @@ class ImportWalletScreen extends StatelessWidget { color: Colors.grey[600], fontWeight: FontWeight.w400), ), - SizedBox(width: 45) + const SizedBox(width: 45) ]))); } } diff --git a/lib/screens/myWallets/unlockingWallet.dart b/lib/screens/myWallets/unlocking_wallet.dart similarity index 87% rename from lib/screens/myWallets/unlockingWallet.dart rename to lib/screens/myWallets/unlocking_wallet.dart index 3307717..7e810a2 100644 --- a/lib/screens/myWallets/unlockingWallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -2,9 +2,9 @@ import 'dart:async'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:gecko/models/history.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:flutter/material.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; import 'package:provider/provider.dart'; @@ -22,7 +22,7 @@ class UnlockingWallet extends StatelessWidget { StreamController errorController; final formKey = GlobalKey(); bool hasError = false; - var pinColor = Color(0xffF9F9F1); + var pinColor = const Color(0xffF9F9F1); var walletPin = ''; String resultPay; @@ -42,11 +42,11 @@ class UnlockingWallet extends StatelessWidget { // backgroundColor: Colors.brown[600], body: SafeArea( child: Column(children: [ - SizedBox(height: 20), + const SizedBox(height: 20), Expanded( child: Column(children: [ - SizedBox(height: 150), - Text( + const SizedBox(height: 150), + const Text( 'Veuillez tapper votre code secret pour dévérouiller votre portefeuille.', textAlign: TextAlign.center, style: TextStyle( @@ -54,7 +54,7 @@ class UnlockingWallet extends StatelessWidget { color: Colors.black, fontWeight: FontWeight.w400), ), - SizedBox(height: 50), + const SizedBox(height: 50), pinForm(context, _pinLenght, wallet.number, wallet.derivation), ]), ), @@ -106,14 +106,14 @@ class UnlockingWallet extends StatelessWidget { activeFillColor: hasError ? Colors.blueAccent : Colors.black, ), cursorColor: Colors.black, - animationDuration: Duration(milliseconds: 300), - textStyle: TextStyle(fontSize: 20, height: 1.6), - backgroundColor: Color(0xffF9F9F1), + animationDuration: const Duration(milliseconds: 300), + textStyle: const TextStyle(fontSize: 20, height: 1.6), + backgroundColor: const Color(0xffF9F9F1), enableActiveFill: false, errorAnimationController: errorController, controller: _enterPin, keyboardType: TextInputType.text, - boxShadows: [ + boxShadows: const [ BoxShadow( offset: Offset(0, 1), color: Colors.black12, @@ -124,7 +124,7 @@ class UnlockingWallet extends StatelessWidget { log.d("Completed"); _myWalletProvider.pinCode = _pin; final resultWallet = await _walletOptions.readLocalWallet( - context, this.wallet, _pin.toUpperCase(), _pinLenght); + context, wallet, _pin.toUpperCase(), _pinLenght); // _myWalletProvider.pinCode = _pin.toUpperCase(); _myWalletProvider.pinLenght = _pinLenght; @@ -140,7 +140,6 @@ class UnlockingWallet extends StatelessWidget { if (action == "mywallets") { Navigator.pushNamed(formKey.currentContext, '/mywallets'); } else if (action == "pay") { - print("Go payments"); resultPay = await _historyProvider.pay(context, _pin.toUpperCase()); await _paymentsResult(context); @@ -148,8 +147,8 @@ class UnlockingWallet extends StatelessWidget { } }, onChanged: (value) { - if (pinColor != Color(0xFFA4B600)) { - pinColor = Color(0xFFA4B600); + if (pinColor != const Color(0xFFA4B600)) { + pinColor = const Color(0xFFA4B600); } }, )), @@ -165,10 +164,10 @@ class UnlockingWallet extends StatelessWidget { title: Text(resultPay == "Success" ? 'Paiement effecuté avec succès !' : "Une erreur s'est produite lors du paiement"), - content: SingleChildScrollView(child: Text('')), + content: const SingleChildScrollView(child: Text('')), actions: [ TextButton( - child: Text("OK"), + child: const Text("OK"), onPressed: () { Navigator.popUntil( context, diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/wallet_options.dart similarity index 88% rename from lib/screens/myWallets/walletOptions.dart rename to lib/screens/myWallets/wallet_options.dart index dfc28b3..7efbf30 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -3,10 +3,10 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/history.dart'; -import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/queries.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; @@ -42,8 +42,9 @@ class WalletOptions extends StatelessWidget { _walletOptions.nameController.text.length >= 15 ? _nbrLinesName = 2 : _nbrLinesName = 1; - if (_walletOptions.nameController.text.length >= 26 && isTall) + if (_walletOptions.nameController.text.length >= 26 && isTall) { _nbrLinesName = 3; + } _walletOptions.walletID = [0, wallet.number]; @@ -71,7 +72,7 @@ class WalletOptions extends StatelessWidget { resizeToAvoidBottomInset: false, appBar: AppBar( leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), + icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { _walletOptions.isEditing = false; _walletOptions.isBalanceBlur = true; @@ -98,11 +99,11 @@ class WalletOptions extends StatelessWidget { end: Alignment.bottomCenter, colors: [ yellowC, - Color(0xfffafafa), + const Color(0xfffafafa), ], )), child: Row(children: [ - SizedBox(width: 25), + const SizedBox(width: 25), InkWell( onTap: () async { await _walletOptions.changeAvatar(); @@ -119,7 +120,7 @@ class WalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/camera.png', ), - SizedBox(height: 100) + const SizedBox(height: 100) ])), Column(children: [ Row(children: [ @@ -127,14 +128,14 @@ class WalletOptions extends StatelessWidget { SizedBox( width: 260, child: TextField( - key: Key('walletName'), + key: const Key('walletName'), autofocus: false, focusNode: _walletOptions.walletNameFocus, enabled: _walletOptions.isEditing, controller: _walletOptions.nameController, maxLines: _nbrLinesName, textAlign: TextAlign.center, - decoration: InputDecoration( + decoration: const InputDecoration( border: InputBorder.none, focusedBorder: InputBorder.none, enabledBorder: InputBorder.none, @@ -163,7 +164,7 @@ class WalletOptions extends StatelessWidget { } if (result.isLoading) { - return Text('Loading'); + return const Text('Loading'); } // List repositories = result.data['viewer']['repositories']['nodes']; @@ -190,7 +191,7 @@ class WalletOptions extends StatelessWidget { sigmaY: _walletOptions.isBalanceBlur ? 5 : 0), - child: Text('$wBalanceUD', + child: Text(wBalanceUD, style: TextStyle( fontSize: isTall ? 20 : 18, color: Colors.black)), @@ -208,9 +209,9 @@ class WalletOptions extends StatelessWidget { // ); }, ), - SizedBox(height: 5), + const SizedBox(height: 5), InkWell( - key: Key('displayBalance'), + key: const Key('displayBalance'), onTap: () { _walletOptions.bluringBalance(); }, @@ -220,15 +221,15 @@ class WalletOptions extends StatelessWidget { : 'assets/walletOptions/icon_oeuil_close.png', )), ]), - SizedBox(width: 0), + const SizedBox(width: 0), Column(children: [ InkWell( - key: Key('renameWallet'), + key: const Key('renameWallet'), onTap: () async { _isNewNameValid = _walletOptions .editWalletName(_walletOptions.walletID); await Future.delayed( - Duration(milliseconds: 30)); + const Duration(milliseconds: 30)); _walletOptions.walletNameFocus.requestFocus(); }, child: ClipRRect( @@ -239,7 +240,7 @@ class WalletOptions extends StatelessWidget { width: 20, height: 20), )), - SizedBox( + const SizedBox( height: 60, ) ]) @@ -254,11 +255,11 @@ class WalletOptions extends StatelessWidget { return snapshot.data != null ? Image.memory(snapshot.data, height: isTall ? 300 : 270) - : Text('-', style: TextStyle(fontSize: 20)); + : const Text('-', style: TextStyle(fontSize: 20)); }), SizedBox(height: 15 * ratio), GestureDetector( - key: Key('copyPubkey'), + key: const Key('copyPubkey'), onTap: () { Clipboard.setData( ClipboardData(text: _walletOptions.pubkey.text)); @@ -267,30 +268,29 @@ class WalletOptions extends StatelessWidget { child: SizedBox( height: 50, child: Row(children: [ - SizedBox(width: 30), + const SizedBox(width: 30), Image.asset( 'assets/walletOptions/key.png', ), - SizedBox(width: 10), + const SizedBox(width: 10), Text("${shortPubkey.split(':')[0]}:", - style: TextStyle( + style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w800, fontFamily: 'Monospace', color: Colors.black)), Text(shortPubkey.split(':')[1], - style: TextStyle( + style: const TextStyle( fontSize: 22, fontWeight: FontWeight.w800, fontFamily: 'Monospace')), - SizedBox(width: 15), + const SizedBox(width: 15), SizedBox( height: 40, child: ElevatedButton( style: ElevatedButton.styleFrom( shape: RoundedRectangleBorder( - borderRadius: - new BorderRadius.circular(8), + borderRadius: BorderRadius.circular(8), ), elevation: 1, primary: orangeC, // background @@ -305,7 +305,7 @@ class WalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/copy-white.png', ), - SizedBox(width: 7), + const SizedBox(width: 7), Text('Copier', style: TextStyle( fontSize: 15, @@ -314,7 +314,7 @@ class WalletOptions extends StatelessWidget { ]))), SizedBox(height: 10 * ratio), InkWell( - key: Key('displayHistory'), + key: const Key('displayHistory'), onTap: () { _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text, goHistory: true); @@ -322,18 +322,18 @@ class WalletOptions extends StatelessWidget { child: SizedBox( height: 50, child: Row(children: [ - SizedBox(width: 30), + const SizedBox(width: 30), Image.asset( 'assets/walletOptions/clock.png', ), - SizedBox(width: 12), - Text('Historique des transactions', + const SizedBox(width: 12), + const Text('Historique des transactions', style: TextStyle(fontSize: 20, color: Colors.black)), ]))), SizedBox(height: 12 * ratio), InkWell( - key: Key('setDefaultWallet'), + key: const Key('setDefaultWallet'), onTap: !_walletOptions.isDefaultWallet ? () { defaultWallet = wallet; @@ -346,14 +346,14 @@ class WalletOptions extends StatelessWidget { child: SizedBox( height: 50, child: Row(children: [ - SizedBox(width: 31), + const SizedBox(width: 31), CircleAvatar( backgroundColor: Colors.grey[ _walletOptions.isDefaultWallet ? 300 : 500], child: Image.asset( 'assets/walletOptions/android-checkmark.png', )), - SizedBox(width: 12), + const SizedBox(width: 12), Text( _walletOptions.isDefaultWallet ? 'Ce portefeuille est celui par defaut' @@ -367,7 +367,7 @@ class WalletOptions extends StatelessWidget { SizedBox(height: 17 * ratio), if (!_walletOptions.isDefaultWallet) InkWell( - key: Key('deleteWallet'), + key: const Key('deleteWallet'), onTap: !_walletOptions.isDefaultWallet ? () async { await _walletOptions.deleteWallet( @@ -381,12 +381,12 @@ class WalletOptions extends StatelessWidget { } : null, child: Row(children: [ - SizedBox(width: 33), + const SizedBox(width: 33), Image.asset( 'assets/walletOptions/trash.png', ), - SizedBox(width: 14), - Text('Supprimer ce portefeuille', + const SizedBox(width: 14), + const Text('Supprimer ce portefeuille', style: TextStyle( fontSize: 20, color: Color(0xffD80000))), ])), diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/wallets_home.dart similarity index 83% rename from lib/screens/myWallets/walletsHome.dart rename to lib/screens/myWallets/wallets_home.dart index 350b771..81b5be9 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -1,21 +1,23 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/chestData.dart'; -import 'package:gecko/models/myWallets.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/queries.dart'; -import 'package:gecko/models/walletData.dart'; -import 'package:gecko/models/walletOptions.dart'; +import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/models/wallet_options.dart'; import 'package:flutter/material.dart'; -import 'package:gecko/screens/commonElements.dart'; -import 'package:gecko/screens/myWallets/chooseChest.dart'; -import 'package:gecko/screens/myWallets/walletOptions.dart'; -import 'package:gecko/screens/onBoarding/0_noKeychainFound.dart'; +import 'package:gecko/screens/common_elements.dart'; +import 'package:gecko/screens/myWallets/choose_chest.dart'; +import 'package:gecko/screens/myWallets/wallet_options.dart'; +import 'package:gecko/screens/onBoarding/0_no_keychain_found.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; class WalletsHome extends StatelessWidget { final _derivationKey = GlobalKey(); + WalletsHome({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -43,7 +45,7 @@ class WalletsHome extends StatelessWidget { child: Scaffold( appBar: AppBar( leading: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black), + icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { Navigator.popUntil( context, @@ -51,12 +53,13 @@ class WalletsHome extends StatelessWidget { ); }), title: Text(_currentChest.name, - key: Key('myWallets'), style: TextStyle(color: Colors.grey[850])), - backgroundColor: Color(0xffFFD58D), + key: const Key('myWallets'), + style: TextStyle(color: Colors.grey[850])), + backgroundColor: const Color(0xffFFD58D), ), body: SafeArea( child: !isWalletsExists - ? NoKeyChainScreen() + ? const NoKeyChainScreen() : _currentChest.isCesium ? cesiumWalletOptions(context) : myWalletsTiles(context), @@ -66,14 +69,14 @@ class WalletsHome extends StatelessWidget { } Widget cesiumWalletOptions(BuildContext context) { - return Column(children: [ + return Column(children: const [ Center(child: Text('This is a Cesium wallet')), ]); } Widget chestOptions(BuildContext context) { return Column(children: [ - SizedBox(height: 50), + const SizedBox(height: 50), SizedBox( height: 120, width: 445, @@ -87,7 +90,7 @@ class WalletsHome extends StatelessWidget { onPrimary: Colors.black, // foreground ), onPressed: () => null, - label: Text( + label: const Text( " Paramétrer ce coffre", style: TextStyle( fontSize: 25, @@ -96,7 +99,7 @@ class WalletsHome extends StatelessWidget { ), ), )), - SizedBox(height: 30), + const SizedBox(height: 30), SizedBox( height: 120, width: 445, @@ -113,7 +116,7 @@ class WalletsHome extends StatelessWidget { return ChooseChest(); }), ), - label: Text( + label: const Text( " Changer de coffre", style: TextStyle( fontSize: 25, @@ -122,7 +125,7 @@ class WalletsHome extends StatelessWidget { ), ), )), - SizedBox(height: 30) + const SizedBox(height: 30) ]); } @@ -135,12 +138,12 @@ class WalletsHome extends StatelessWidget { final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); if (!isWalletsExists) { - return Text(''); + return const Text(''); } if (_myWalletProvider.listWallets.isEmpty) { return Expanded( - child: Column(children: [ + child: Column(children: const [ Center( child: Text( 'Veuillez générer votre premier portefeuille', @@ -154,9 +157,9 @@ class WalletsHome extends StatelessWidget { _myWalletProvider.getDefaultWallet(configBox.get('currentChest')); return CustomScrollView(slivers: [ - SliverToBoxAdapter(child: SizedBox(height: 20)), + const SliverToBoxAdapter(child: SizedBox(height: 20)), SliverGrid.count( - key: Key('listWallets'), + key: const Key('listWallets'), crossAxisCount: 2, childAspectRatio: 1, crossAxisSpacing: 0, @@ -164,7 +167,7 @@ class WalletsHome extends StatelessWidget { children: [ for (WalletData _repository in _listWallets) Padding( - padding: EdgeInsets.all(16), + padding: const EdgeInsets.all(16), child: GestureDetector( onTap: () async { await _walletOptions.readLocalWallet( @@ -185,14 +188,15 @@ class WalletsHome extends StatelessWidget { // })); }, child: ClipOvalShadow( - shadow: Shadow( + shadow: const Shadow( color: Colors.transparent, offset: Offset(0, 0), blurRadius: 5, ), clipper: CustomClipperOval(), child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(12)), + borderRadius: + const BorderRadius.all(Radius.circular(12)), child: Column(children: [ Expanded( child: Container( @@ -203,7 +207,7 @@ class WalletsHome extends StatelessWidget { radius: 0.6, colors: [ Colors.green[400], - Color(0xFFE7E7A6), + const Color(0xFFE7E7A6), ], )), child: @@ -217,29 +221,30 @@ class WalletsHome extends StatelessWidget { )), // balanceBuilder(context, _walletOptions.pubkey.text), ListTile( - shape: RoundedRectangleBorder( + shape: const RoundedRectangleBorder( borderRadius: BorderRadius.vertical( bottom: Radius.circular(12))), // contentPadding: const EdgeInsets.only(left: 7.0), tileColor: _repository.id()[1] == defaultWallet.id()[1] ? orangeC - : Color(0xffFFD58D), + : const Color(0xffFFD58D), // leading: Text('IMAGE'), // subtitle: Text(_repository.split(':')[3], // style: TextStyle(fontSize: 12.0, fontFamily: 'Monospace')), title: Center( child: Padding( - padding: EdgeInsets.symmetric(horizontal: 5), + padding: + const EdgeInsets.symmetric(horizontal: 5), child: Text( - '${_repository.name}', + _repository.name, textAlign: TextAlign.center, style: TextStyle( fontSize: 17.0, color: _repository.id()[1] == defaultWallet.id()[1] - ? Color(0xffF9F9F1) + ? const Color(0xffF9F9F1) : Colors.black, fontStyle: FontStyle.italic), ), @@ -292,7 +297,7 @@ class WalletsHome extends StatelessWidget { } if (result.isLoading) { - return Text('Loading'); + return const Text('Loading'); } String wBalanceUD; if (result.data['balance'] == null) { @@ -310,13 +315,13 @@ class WalletsHome extends StatelessWidget { Widget addNewDerivation(context) { return Padding( - padding: EdgeInsets.all(16), + padding: const EdgeInsets.all(16), child: ClipRRect( - borderRadius: BorderRadius.all(Radius.circular(12)), + borderRadius: const BorderRadius.all(Radius.circular(12)), child: Column(children: [ Expanded( child: InkWell( - key: Key('addDerivation'), + key: const Key('addDerivation'), onTap: () { showDialog( context: context, @@ -328,7 +333,7 @@ class WalletsHome extends StatelessWidget { width: double.infinity, height: double.infinity, decoration: BoxDecoration(color: floattingYellow), - child: Center( + child: const Center( child: Text( '+', style: TextStyle( @@ -355,21 +360,21 @@ class WalletsHome extends StatelessWidget { child: Column( mainAxisSize: MainAxisSize.min, children: [ - Text('Nom du portefeuille:'), + const Text('Nom du portefeuille:'), Padding( - padding: EdgeInsets.all(8.0), + padding: const EdgeInsets.all(8.0), child: TextFormField( - key: Key('DerivationNameKey'), + key: const Key('DerivationNameKey'), controller: _newDerivationName, textAlign: TextAlign.center, autofocus: true, ), ), - SizedBox(height: 20), + const SizedBox(height: 20), Padding( padding: const EdgeInsets.all(8.0), child: ElevatedButton( - key: Key('validDerivation'), + key: const Key('validDerivation'), style: ElevatedButton.styleFrom( elevation: 1, primary: yellowC, // background @@ -381,7 +386,7 @@ class WalletsHome extends StatelessWidget { context, _newDerivationName.text) .then((_) => _newDerivationName.text == ''); }, - child: Text("Créer")), + child: const Text("Créer")), ) ], ), @@ -402,7 +407,7 @@ class CustomClipperOval extends CustomClipper { @override Rect getClip(Size size) { return Rect.fromCircle( - center: new Offset(size.width / 2, size.width / 2), + center: Offset(size.width / 2, size.width / 2), radius: size.width / 2 + 3); } @@ -417,20 +422,21 @@ class ClipOvalShadow extends StatelessWidget { final CustomClipper clipper; final Widget child; - ClipOvalShadow({ + const ClipOvalShadow({ + Key key, @required this.shadow, @required this.clipper, @required this.child, - }); + }) : super(key: key); @override Widget build(BuildContext context) { return CustomPaint( painter: _ClipOvalShadowPainter( - clipper: this.clipper, - shadow: this.shadow, + clipper: clipper, + shadow: shadow, ), - child: ClipRect(child: child, clipper: this.clipper), + child: ClipRect(child: child, clipper: clipper), ); } } @@ -444,7 +450,7 @@ class _ClipOvalShadowPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { var paint = shadow.toPaint(); - var clipRect = clipper.getClip(size).shift(Offset(0, 0)); + var clipRect = clipper.getClip(size).shift(const Offset(0, 0)); canvas.drawOval(clipRect, paint); } diff --git a/lib/screens/onBoarding/0_noKeychainFound.dart b/lib/screens/onBoarding/0_no_keychain_found.dart similarity index 79% rename from lib/screens/onBoarding/0_noKeychainFound.dart rename to lib/screens/onBoarding/0_no_keychain_found.dart index c69d4d6..31745a7 100644 --- a/lib/screens/onBoarding/0_noKeychainFound.dart +++ b/lib/screens/onBoarding/0_no_keychain_found.dart @@ -1,16 +1,14 @@ +// ignore_for_file: file_names import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; -import 'package:gecko/screens/myWallets/importWallet.dart'; +import 'package:gecko/screens/common_elements.dart'; +import 'package:gecko/screens/myWallets/import_wallet.dart'; import 'package:gecko/screens/onBoarding/1.dart'; -// import 'package:gecko/models/home.dart'; -// import 'package:provider/provider.dart'; -// ignore: must_be_immutable class NoKeyChainScreen extends StatelessWidget { - TextEditingController tplController = TextEditingController(); + const NoKeyChainScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -25,16 +23,16 @@ class NoKeyChainScreen extends StatelessWidget { common.onboardingProgressBar(context, 'Mes portefeuilles', 0), common.bubbleSpeak( "Je ne connais pour l’instant aucun de vos portefeuilles.\n\nVous pouvez en créer un nouveau, ou bien importer un portefeuille Cesium existant.", - textKey: Key('textOnboarding')), - SizedBox(height: 90), + textKey: const Key('textOnboarding')), + const SizedBox(height: 90), Container( child: ClipOval( child: Material( - color: Color(0xffFFD58D), // button color + color: const Color(0xffFFD58D), // button color child: InkWell( - key: Key('goStep1'), + key: const Key('goStep1'), splashColor: orangeC, // inkwell color - child: Padding( + child: const Padding( padding: EdgeInsets.all(8), child: Image( image: AssetImage('assets/onBoarding/wallet.png'), @@ -47,7 +45,7 @@ class NoKeyChainScreen extends StatelessWidget { }), ), ), - decoration: BoxDecoration( + decoration: const BoxDecoration( shape: BoxShape.circle, color: Colors.white, boxShadow: [ @@ -59,8 +57,8 @@ class NoKeyChainScreen extends StatelessWidget { ], ), ), - SizedBox(height: 15), - Text( + const SizedBox(height: 15), + const Text( "Créer un nouveau\nportefeuille", textAlign: TextAlign.center, style: TextStyle( @@ -68,15 +66,15 @@ class NoKeyChainScreen extends StatelessWidget { fontSize: 16, fontWeight: FontWeight.w500), ), - SizedBox(height: 70), + const SizedBox(height: 70), Container( child: ClipOval( child: Material( - color: Color(0xffFFD58D), // button color + color: const Color(0xffFFD58D), // button color child: InkWell( splashColor: orangeC, // inkwell color child: Padding( - padding: EdgeInsets.all(12), + padding: const EdgeInsets.all(12), child: // Image( // image: AssetImage('assets/cesium_bw3.png'), @@ -86,11 +84,11 @@ class NoKeyChainScreen extends StatelessWidget { ), onTap: () { Navigator.push(context, - SlideLeftRoute(page: ImportWalletScreen())); + SlideLeftRoute(page: const ImportWalletScreen())); }), ), ), - decoration: BoxDecoration( + decoration: const BoxDecoration( shape: BoxShape.circle, color: Colors.white, boxShadow: [ @@ -102,8 +100,8 @@ class NoKeyChainScreen extends StatelessWidget { ], ), ), - SizedBox(height: 10), - Text( + const SizedBox(height: 10), + const Text( "Importer un\nportefeuille Cesium", textAlign: TextAlign.center, style: TextStyle(color: Colors.black, fontSize: 13), diff --git a/lib/screens/onBoarding/1.dart b/lib/screens/onBoarding/1.dart index d58c8a3..6cbd97c 100644 --- a/lib/screens/onBoarding/1.dart +++ b/lib/screens/onBoarding/1.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/2.dart'; // import 'package:gecko/models/home.dart'; // import 'package:provider/provider.dart'; @@ -11,6 +13,8 @@ class OnboardingStepOne extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 1; + OnboardingStepOne({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -24,8 +28,8 @@ class OnboardingStepOne extends StatelessWidget { context, 'Nouveau portefeuilles', progress), common.bubbleSpeak( "Il semblerait que vous n’ayez pas encore de trousseau.\n\nUn trousseau vous permet de gérer un ou plusieurs portefeuilles.", - textKey: Key('step1')), - SizedBox(height: 90), + textKey: const Key('step1')), + const SizedBox(height: 90), Image.asset( 'assets/onBoarding/keys-and-wallets-horizontal.png', height: 200, @@ -37,7 +41,7 @@ class OnboardingStepOne extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep2'), + key: const Key('goStep2'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -49,10 +53,10 @@ class OnboardingStepOne extends StatelessWidget { FaderTransition( page: OnboardingStepTwo(), isFast: true)); }, - child: Text('Créer mon trousseau', + child: const Text('Créer mon trousseau', style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/10.dart b/lib/screens/onBoarding/10.dart index 12c8211..8a92869 100644 --- a/lib/screens/onBoarding/10.dart +++ b/lib/screens/onBoarding/10.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/11.dart'; // ignore: must_be_immutable @@ -9,6 +11,8 @@ class OnboardingStepTwelve extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 9; + OnboardingStepTwelve({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -22,9 +26,9 @@ class OnboardingStepTwelve extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "Si un jour vous changez de téléphone, votre code secret sera différent, mais il vous suffira de me redonner votre phrase de restauration pour recréer votre trousseau.", - textKey: Key('step10'), + textKey: const Key('step10'), ), - SizedBox(height: 10), + const SizedBox(height: 10), Image.asset( 'assets/onBoarding/plusieurs-codes-secrets-un-trousseau.png', height: 410 * ratio, @@ -36,7 +40,7 @@ class OnboardingStepTwelve extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep11'), + key: const Key('goStep11'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -49,7 +53,7 @@ class OnboardingStepTwelve extends StatelessWidget { page: OnboardingStepThirteen(), isFast: true), ); }, - child: Text("Générer le code secret", + child: const Text("Générer le code secret", style: TextStyle(fontSize: 20))), ))), SizedBox(height: isTall ? 80 : 40), diff --git a/lib/screens/onBoarding/11.dart b/lib/screens/onBoarding/11.dart index d0173cc..38cc330 100644 --- a/lib/screens/onBoarding/11.dart +++ b/lib/screens/onBoarding/11.dart @@ -1,10 +1,12 @@ +// ignore_for_file: file_names + import 'dart:ui'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/generateWallets.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/12.dart'; import 'package:provider/provider.dart'; @@ -13,6 +15,8 @@ class OnboardingStepThirteen extends StatelessWidget { NewWallet generatedWallet; final int progress = 10; + OnboardingStepThirteen({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -32,51 +36,49 @@ class OnboardingStepThirteen extends StatelessWidget { // initialData: '...', builder: (context, snapshot) { generatedWallet = snapshot.data; - return Visibility(visible: false, child: Text('')); + return const Visibility(visible: false, child: Text('')); }), common.onboardingProgressBar( context, 'Ma phrase de restauration', progress), common.bubbleSpeakRich( [ - TextSpan( + const TextSpan( text: "Et voilà votre code secret !\n\nMémorisez-le ou notez-le, car il vous sera demandé "), - TextSpan( + const TextSpan( text: 'à chaque fois', style: TextStyle(fontWeight: FontWeight.bold)), - TextSpan( + const TextSpan( text: " que vous voudrez effectuer un paiement sur cet appareil."), ], - textKey: Key('step11'), + textKey: const Key('step11'), ), - SizedBox(height: 100), - Container( - child: Stack( - alignment: Alignment.centerRight, - children: [ - TextField( - key: Key('generatedPin'), - enabled: false, - controller: _generateWalletProvider.pin, - maxLines: 1, - textAlign: TextAlign.center, - decoration: InputDecoration(), - style: TextStyle( - letterSpacing: 5, - fontSize: 35.0, - color: Colors.black, - fontWeight: FontWeight.bold)), - IconButton( - icon: Icon(Icons.replay), - color: orangeC, - onPressed: () async { - generatedWallet = await _generateWalletProvider - .changePinCode(reload: false); - }, - ), - ], - ), + const SizedBox(height: 100), + Stack( + alignment: Alignment.centerRight, + children: [ + TextField( + key: const Key('generatedPin'), + enabled: false, + controller: _generateWalletProvider.pin, + maxLines: 1, + textAlign: TextAlign.center, + decoration: const InputDecoration(), + style: const TextStyle( + letterSpacing: 5, + fontSize: 35.0, + color: Colors.black, + fontWeight: FontWeight.bold)), + IconButton( + icon: const Icon(Icons.replay), + color: orangeC, + onPressed: () async { + generatedWallet = await _generateWalletProvider + .changePinCode(reload: false); + }, + ), + ], ), Expanded( child: Align( @@ -85,25 +87,25 @@ class OnboardingStepThirteen extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('changeSecretCode'), + key: const Key('changeSecretCode'), style: ElevatedButton.styleFrom( elevation: 5, - primary: Color(0xffFFD58D), + primary: const Color(0xffFFD58D), onPrimary: Colors.black, // foreground ), onPressed: () async { generatedWallet = await _generateWalletProvider .changePinCode(reload: false); }, - child: Text("Choisir un autre code secret", + child: const Text("Choisir un autre code secret", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 25), + const SizedBox(height: 25), SizedBox( width: 400, height: 62, child: ElevatedButton( - key: Key('goStep12'), + key: const Key('goStep12'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -120,10 +122,10 @@ class OnboardingStepThirteen extends StatelessWidget { isFast: true), ); }, - child: Text("J'ai noté mon code secret", + child: const Text("J'ai noté mon code secret", style: TextStyle(fontSize: 20))), ), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/12.dart b/lib/screens/onBoarding/12.dart index ce6361f..d715a47 100644 --- a/lib/screens/onBoarding/12.dart +++ b/lib/screens/onBoarding/12.dart @@ -1,13 +1,15 @@ +// ignore_for_file: file_names + import 'dart:async'; import 'dart:ui'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/generateWallets.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/models/walletOptions.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/models/wallet_options.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/13_congratulations.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; import 'package:provider/provider.dart'; @@ -22,7 +24,7 @@ class OnboardingStepFourteen extends StatelessWidget { NewWallet generatedWallet; final int progress = 11; final formKey = GlobalKey(); - var pinColor = Color(0xFFA4B600); + var pinColor = const Color(0xFFA4B600); bool hasError = false; @override @@ -43,7 +45,7 @@ class OnboardingStepFourteen extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "Avez-vous bien mémorisé votre code secret ?\n\nVérifions ça ensemble !\n\nTapez votre code secret dans le champ ci-dessous (après c’est fini, promis-juré-gecko).", - textKey: Key('step12'), + textKey: const Key('step12'), ), SizedBox(height: isTall ? 80 : 10), pinForm(context, _walletOptions, _pinLenght, 1, 3) @@ -70,7 +72,7 @@ class OnboardingStepFourteen extends StatelessWidget { child: Padding( padding: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 30), child: PinCodeTextField( - key: Key('formKey2'), + key: const Key('formKey2'), autoFocus: true, appContext: context, pastedTextStyle: TextStyle( @@ -98,14 +100,14 @@ class OnboardingStepFourteen extends StatelessWidget { activeFillColor: hasError ? Colors.blueAccent : Colors.black, ), cursorColor: Colors.black, - animationDuration: Duration(milliseconds: 300), - textStyle: TextStyle(fontSize: 20, height: 1.6), - backgroundColor: Color(0xffF9F9F1), + animationDuration: const Duration(milliseconds: 300), + textStyle: const TextStyle(fontSize: 20, height: 1.6), + backgroundColor: const Color(0xffF9F9F1), enableActiveFill: false, errorAnimationController: errorController, controller: _enterPin, keyboardType: TextInputType.text, - boxShadows: [ + boxShadows: const [ BoxShadow( offset: Offset(0, 1), color: Colors.black12, @@ -140,8 +142,8 @@ class OnboardingStepFourteen extends StatelessWidget { } }, onChanged: (value) { - if (pinColor != Color(0xFFA4B600)) { - pinColor = Color(0xFFA4B600); + if (pinColor != const Color(0xFFA4B600)) { + pinColor = const Color(0xFFA4B600); } }, )), diff --git a/lib/screens/onBoarding/13_congratulations.dart b/lib/screens/onBoarding/13_congratulations.dart index 58ad16a..ac73743 100644 --- a/lib/screens/onBoarding/13_congratulations.dart +++ b/lib/screens/onBoarding/13_congratulations.dart @@ -1,13 +1,17 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; // ignore: must_be_immutable class OnboardingStepFiveteen extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 12; + OnboardingStepFiveteen({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -21,7 +25,7 @@ class OnboardingStepFiveteen extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "Top !\n\nVotre trousseau de clef et votre portefeuille ont été créés avec un immense succès.\n\nFélicitations !", - textKey: Key('step13'), + textKey: const Key('step13'), ), SizedBox(height: isTall ? 20 : 10), Image.asset( @@ -35,7 +39,7 @@ class OnboardingStepFiveteen extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goWalletHome'), + key: const Key('goWalletHome'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -51,10 +55,10 @@ class OnboardingStepFiveteen extends StatelessWidget { '/mywallets', ); }, - child: Text("Accéder à mes portefeuilles", + child: const Text("Accéder à mes portefeuilles", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/2.dart b/lib/screens/onBoarding/2.dart index 0d7a3f9..19e2cbf 100644 --- a/lib/screens/onBoarding/2.dart +++ b/lib/screens/onBoarding/2.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/3.dart'; // import 'package:gecko/screens/commonElements.dart'; // import 'package:gecko/models/home.dart'; @@ -12,6 +14,8 @@ class OnboardingStepTwo extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 2; + OnboardingStepTwo({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -25,9 +29,9 @@ class OnboardingStepTwo extends StatelessWidget { context, 'Nouveau portefeuilles', progress), common.bubbleSpeak( "Un trousseau est créé à partir d’une phrase de restauration.", - textKey: Key('step2'), + textKey: const Key('step2'), ), - SizedBox(height: 70), + const SizedBox(height: 70), Image.asset( 'assets/onBoarding/keys-and-wallets-horizontal-plus-phrase.png'), Expanded( @@ -37,7 +41,7 @@ class OnboardingStepTwo extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep3'), + key: const Key('goStep3'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -50,10 +54,11 @@ class OnboardingStepTwo extends StatelessWidget { page: OnboardingStepFor(), isFast: true), ); }, - child: Text("D'accord", style: TextStyle(fontSize: 20)), + child: const Text("D'accord", + style: TextStyle(fontSize: 20)), ), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/3.dart b/lib/screens/onBoarding/3.dart index 6d589cc..815741b 100644 --- a/lib/screens/onBoarding/3.dart +++ b/lib/screens/onBoarding/3.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/4.dart'; // ignore: must_be_immutable @@ -9,6 +11,8 @@ class OnboardingStepFor extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 3; + OnboardingStepFor({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -22,7 +26,7 @@ class OnboardingStepFor extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "Si un jour vous changez de téléphone, il vous suffira de me redonner votre phrase de restauration pour recréer votre trousseau.", - textKey: Key('step3'), + textKey: const Key('step3'), ), SizedBox(height: isTall ? 15 : 0), // Row(children: [ @@ -41,7 +45,7 @@ class OnboardingStepFor extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep4'), + key: const Key('goStep4'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -54,10 +58,10 @@ class OnboardingStepFor extends StatelessWidget { page: OnboardingStepFive(), isFast: true), ); }, - child: Text("J'ai compris", + child: const Text("J'ai compris", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/4.dart b/lib/screens/onBoarding/4.dart index 8d1feec..bd0317b 100644 --- a/lib/screens/onBoarding/4.dart +++ b/lib/screens/onBoarding/4.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/5.dart'; // ignore: must_be_immutable @@ -9,6 +11,8 @@ class OnboardingStepFive extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 4; + OnboardingStepFive({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -22,7 +26,7 @@ class OnboardingStepFive extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "Par contre, attention :\n\nDans une blockchain, il n’y a pas de procédure de récupération de trousseau.\n\nSi vous perdez votre phrase de restauration, je ne pourrai pas vous la communiquer, et vous ne pourrez donc plus jamais accéder à votre compte.", - textKey: Key('step4'), + textKey: const Key('step4'), ), SizedBox(height: isTall ? 30 : 10), Image.asset( @@ -36,7 +40,7 @@ class OnboardingStepFive extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep5'), + key: const Key('goStep5'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -49,10 +53,10 @@ class OnboardingStepFive extends StatelessWidget { page: OnboardingStepSeven(), isFast: true), ); }, - child: Text("J'ai compris", + child: const Text("J'ai compris", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/5.dart b/lib/screens/onBoarding/5.dart index 426770f..dbe5ee7 100644 --- a/lib/screens/onBoarding/5.dart +++ b/lib/screens/onBoarding/5.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/6.dart'; // ignore: must_be_immutable @@ -9,6 +11,8 @@ class OnboardingStepSeven extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 5; + OnboardingStepSeven({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -22,15 +26,15 @@ class OnboardingStepSeven extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeakRich( [ - TextSpan(text: "Munissez-vous d'"), - TextSpan( + const TextSpan(text: "Munissez-vous d'"), + const TextSpan( text: 'un papier et d’un crayon\n', style: TextStyle(fontWeight: FontWeight.bold)), - TextSpan( + const TextSpan( text: "afin de pouvoir noter votre phrase de restauration."), ], - textKey: Key('step5'), + textKey: const Key('step5'), ), Expanded( child: Align( @@ -53,7 +57,7 @@ class OnboardingStepSeven extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep6'), + key: const Key('goStep6'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -66,10 +70,10 @@ class OnboardingStepSeven extends StatelessWidget { page: OnboardingStepEight(), isFast: true), ); }, - child: Text("J'ai de quoi noter", + child: const Text("J'ai de quoi noter", style: TextStyle(fontSize: 20))), ), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/onBoarding/6.dart b/lib/screens/onBoarding/6.dart index 54155cf..741947d 100644 --- a/lib/screens/onBoarding/6.dart +++ b/lib/screens/onBoarding/6.dart @@ -1,8 +1,10 @@ +// ignore_for_file: file_names + import 'dart:ui'; import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/7.dart'; // ignore: must_be_immutable @@ -10,6 +12,8 @@ class OnboardingStepEight extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 6; + OnboardingStepEight({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -23,7 +27,7 @@ class OnboardingStepEight extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "J’ai généré votre phrase de restauration !\nTâchez de la garder bien secrète, car elle permet à quiconque la connaît d’accéder à tous vos portefeuilles.", - textKey: Key('step6'), + textKey: const Key('step6'), ), SizedBox(height: isTall ? 61 : 31), // SizedBox(height: 30), @@ -36,7 +40,7 @@ class OnboardingStepEight extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep7'), + key: const Key('goStep7'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -49,10 +53,10 @@ class OnboardingStepEight extends StatelessWidget { page: OnboardingStepNine(), isFast: false), ); }, - child: Text("Afficher ma phrase", + child: const Text("Afficher ma phrase", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } @@ -60,16 +64,16 @@ class OnboardingStepEight extends StatelessWidget { Widget sentanceArray(BuildContext context) { return Container( - padding: EdgeInsets.symmetric(horizontal: 12), + padding: const EdgeInsets.symmetric(horizontal: 12), child: Container( decoration: BoxDecoration( border: Border.all(color: Colors.black), color: Colors.grey[300], - borderRadius: BorderRadius.all( - const Radius.circular(10), + borderRadius: const BorderRadius.all( + Radius.circular(10), )), // color: Colors.grey[300], - padding: EdgeInsets.all(20), + padding: const EdgeInsets.all(20), child: Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max, @@ -81,14 +85,14 @@ Widget sentanceArray(BuildContext context) { arrayCell("3:curseur"), arrayCell("4:relatif"), ]), - SizedBox(height: 15), + const SizedBox(height: 15), Row(children: [ arrayCell("5:embellir"), arrayCell("6:cultiver"), arrayCell("7:bureau"), arrayCell("8:ossature"), ]), - SizedBox(height: 15), + const SizedBox(height: 15), Row(children: [ arrayCell("9:labial"), arrayCell("10:science"), @@ -99,20 +103,20 @@ Widget sentanceArray(BuildContext context) { } Widget arrayCell(dataWord) { - return Container( + return SizedBox( width: 102, child: Column( children: [ ImageFiltered( imageFilter: ImageFilter.blur(sigmaX: 1, sigmaY: 1), child: Text(dataWord.split(':')[0], - style: TextStyle(fontSize: 14, color: Colors.black)), + style: const TextStyle(fontSize: 14, color: Colors.black)), ), - SizedBox(height: 2), + const SizedBox(height: 2), ImageFiltered( imageFilter: ImageFilter.blur(sigmaX: 4, sigmaY: 4), child: Text(dataWord.split(':')[1], - style: TextStyle(fontSize: 20, color: Colors.black)), + style: const TextStyle(fontSize: 20, color: Colors.black)), ) ], )); diff --git a/lib/screens/onBoarding/7.dart b/lib/screens/onBoarding/7.dart index 7d5fc06..be94bc4 100644 --- a/lib/screens/onBoarding/7.dart +++ b/lib/screens/onBoarding/7.dart @@ -1,8 +1,10 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/generateWallets.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/8.dart'; import 'package:printing/printing.dart'; import 'package:provider/provider.dart'; @@ -12,6 +14,8 @@ class OnboardingStepNine extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 6; + OnboardingStepNine({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -29,7 +33,7 @@ class OnboardingStepNine extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeak( "C'est le moment de noter votre phrase !", - textKey: Key('step7'), + textKey: const Key('step7'), long: 60, ), SizedBox(height: isTall ? 100 : 70), @@ -56,24 +60,24 @@ class OnboardingStepNine extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('generateMnemonic'), + key: const Key('generateMnemonic'), style: ElevatedButton.styleFrom( elevation: 5, - primary: Color(0xffFFD58D), + primary: const Color(0xffFFD58D), onPrimary: Colors.black, // foreground ), onPressed: () { _generateWalletProvider.reloadBuild(); }, - child: Text("Choisir une autre phrase", + child: const Text("Choisir une autre phrase", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 25), + const SizedBox(height: 25), SizedBox( width: 400, height: 62, child: ElevatedButton( - key: Key('goStep8'), + key: const Key('goStep8'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -97,10 +101,10 @@ class OnboardingStepNine extends StatelessWidget { isFast: true), ); }, - child: Text("J'ai noté ma phrase", + child: const Text("J'ai noté ma phrase", style: TextStyle(fontSize: 20))), ), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } @@ -112,7 +116,7 @@ Widget sentanceArray(BuildContext context) { return FutureBuilder( future: _generateWalletProvider.generateWordList(), - initialData: [ + initialData: const [ '1:...', '2:...', '3:...', @@ -129,16 +133,16 @@ Widget sentanceArray(BuildContext context) { builder: (context, formatedArray) { // print(formatedArray.data); return Container( - padding: EdgeInsets.symmetric(horizontal: 12), + padding: const EdgeInsets.symmetric(horizontal: 12), child: Container( decoration: BoxDecoration( border: Border.all(color: Colors.black), color: Colors.grey[300], - borderRadius: BorderRadius.all( - const Radius.circular(10), + borderRadius: const BorderRadius.all( + Radius.circular(10), )), // color: Colors.grey[300], - padding: EdgeInsets.all(20), + padding: const EdgeInsets.all(20), child: Column( mainAxisAlignment: MainAxisAlignment.center, mainAxisSize: MainAxisSize.max, @@ -150,14 +154,14 @@ Widget sentanceArray(BuildContext context) { arrayCell(formatedArray.data[2]), arrayCell(formatedArray.data[3]), ]), - SizedBox(height: 15), + const SizedBox(height: 15), Row(children: [ arrayCell(formatedArray.data[4]), arrayCell(formatedArray.data[5]), arrayCell(formatedArray.data[6]), arrayCell(formatedArray.data[7]), ]), - SizedBox(height: 15), + const SizedBox(height: 15), Row(children: [ arrayCell(formatedArray.data[8]), arrayCell(formatedArray.data[9]), @@ -169,20 +173,20 @@ Widget sentanceArray(BuildContext context) { } Widget arrayCell(dataWord) { - return Container( + return SizedBox( width: 102, child: Column(children: [ - Text(dataWord.split(':')[0], style: TextStyle(fontSize: 14)), - SizedBox(height: 2), + Text(dataWord.split(':')[0], style: const TextStyle(fontSize: 14)), + const SizedBox(height: 2), Text(dataWord.split(':')[1], key: Key('word${dataWord.split(':')[0]}'), - style: TextStyle(fontSize: 19, color: Colors.black)), + style: const TextStyle(fontSize: 19, color: Colors.black)), ])); } // ignore: must_be_immutable class PrintWallet extends StatelessWidget { - PrintWallet(this.sentence); + const PrintWallet(this.sentence, {Key key}) : super(key: key); final String sentence; @@ -192,7 +196,7 @@ class PrintWallet extends StatelessWidget { Provider.of(context); return MaterialApp( home: Scaffold( - appBar: AppBar(title: Text('Imprimer ce trousseau')), + appBar: AppBar(title: const Text('Imprimer ce trousseau')), body: PdfPreview( build: (format) => _generateWalletProvider.printWallet(sentence), ), diff --git a/lib/screens/onBoarding/8.dart b/lib/screens/onBoarding/8.dart index 3a16dde..9afcda8 100644 --- a/lib/screens/onBoarding/8.dart +++ b/lib/screens/onBoarding/8.dart @@ -1,10 +1,12 @@ +// ignore_for_file: file_names + import 'dart:ui'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/generateWallets.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/9.dart'; import 'package:provider/provider.dart'; @@ -21,7 +23,7 @@ class OnboardingStepTen extends StatelessWidget { TextEditingController tplController = TextEditingController(); TextEditingController wordController = TextEditingController(); - TextEditingController _mnemonicController = TextEditingController(); + final TextEditingController _mnemonicController = TextEditingController(); final int progress = 7; @@ -31,7 +33,7 @@ class OnboardingStepTen extends StatelessWidget { GenerateWalletsProvider _generateWalletProvider = Provider.of(context); CommonElements common = CommonElements(); - this._mnemonicController.text = generatedMnemonic; + _mnemonicController.text = generatedMnemonic; return WillPopScope( onWillPop: () { @@ -60,11 +62,11 @@ class OnboardingStepTen extends StatelessWidget { text: " de votre phrase de restauration :", style: TextStyle(fontSize: 16 * ratio)), ], - textKey: Key('step8'), + textKey: const Key('step8'), ), SizedBox(height: isTall ? 70 : 10), Text('${_generateWalletProvider.nbrWord + 1}', - key: Key('askedWord'), + key: const Key('askedWord'), style: TextStyle( fontSize: isTall ? 17 : 10, color: orangeC, @@ -79,10 +81,10 @@ class OnboardingStepTen extends StatelessWidget { )), width: 430, child: TextFormField( - key: Key('inputWord'), + key: const Key('inputWord'), autofocus: true, enabled: !_generateWalletProvider.isAskedWordValid, - controller: this.wordController, + controller: wordController, textInputAction: TextInputAction.next, onChanged: (value) { _generateWalletProvider.checkAskedWord( @@ -100,7 +102,7 @@ class OnboardingStepTen extends StatelessWidget { : "${_generateWalletProvider.nbrWordAlpha} mot de votre phrase de restauration", fillColor: Colors.grey[300], filled: true, - contentPadding: EdgeInsets.all(12), + contentPadding: const EdgeInsets.all(12), ), style: TextStyle( fontSize: 40.0, @@ -115,7 +117,7 @@ class OnboardingStepTen extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep9'), + key: const Key('goStep9'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -129,10 +131,10 @@ class OnboardingStepTen extends StatelessWidget { isFast: true), ); }, - child: Text("Continuer", + child: const Text("Continuer", style: TextStyle(fontSize: 20))), )))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), ))); } diff --git a/lib/screens/onBoarding/9.dart b/lib/screens/onBoarding/9.dart index 67b9cc5..35b285e 100644 --- a/lib/screens/onBoarding/9.dart +++ b/lib/screens/onBoarding/9.dart @@ -1,7 +1,9 @@ +// ignore_for_file: file_names + import 'package:flutter/services.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/commonElements.dart'; +import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/onBoarding/10.dart'; // ignore: must_be_immutable @@ -9,6 +11,8 @@ class OnboardingStepEleven extends StatelessWidget { TextEditingController tplController = TextEditingController(); final int progress = 8; + OnboardingStepEleven({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); @@ -22,15 +26,16 @@ class OnboardingStepEleven extends StatelessWidget { context, 'Ma phrase de restauration', progress), common.bubbleSpeakRich( [ - TextSpan(text: "Super !\n\nJe vais maintenant créer votre "), - TextSpan( + const TextSpan( + text: "Super !\n\nJe vais maintenant créer votre "), + const TextSpan( text: 'code secret.', style: TextStyle(fontWeight: FontWeight.bold)), - TextSpan( + const TextSpan( text: " \n\nVotre code secret chiffre votre trousseau de clefs, ce qui le rend inutilisable par d’autres, par exemple si vous perdez votre téléphone ou si on vous le vole."), ], - textKey: Key('step9'), + textKey: const Key('step9'), ), SizedBox(height: isTall ? 50 : 10), Image.asset( @@ -44,7 +49,7 @@ class OnboardingStepEleven extends StatelessWidget { width: 400, height: 62, child: ElevatedButton( - key: Key('goStep10'), + key: const Key('goStep10'), style: ElevatedButton.styleFrom( elevation: 5, primary: orangeC, @@ -57,10 +62,10 @@ class OnboardingStepEleven extends StatelessWidget { page: OnboardingStepTwelve(), isFast: true), ); }, - child: Text("J'ai compris", + child: const Text("J'ai compris", style: TextStyle(fontSize: 20))), ))), - SizedBox(height: 80), + const SizedBox(height: 80), ]), )); } diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 366cfdb..462c76c 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:gecko/models/home.dart'; -import 'package:gecko/models/myWallets.dart'; -import 'package:gecko/screens/myWallets/generateWallets.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/screens/myWallets/generate_wallets.dart'; import 'dart:io'; -import 'package:gecko/screens/myWallets/importWallet.dart'; +import 'package:gecko/screens/myWallets/import_wallet.dart'; import 'package:gecko/globals.dart'; import 'package:provider/provider.dart'; @@ -22,7 +22,9 @@ class SettingsScreen extends StatelessWidget { var pinColor = Colors.grey[300]; Directory appPath; - MyWalletsProvider _myWallets = MyWalletsProvider(); + final MyWalletsProvider _myWallets = MyWalletsProvider(); + + SettingsScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -32,12 +34,12 @@ class SettingsScreen extends StatelessWidget { // getAppDirectory(); return Scaffold( appBar: AppBar( - title: SizedBox( + title: const SizedBox( height: 22, child: Text('Paramètres'), )), body: Column(children: [ - SizedBox(height: 40), + const SizedBox(height: 40), SizedBox( height: 70, width: 500, @@ -50,19 +52,19 @@ class SettingsScreen extends StatelessWidget { onPressed: () => Navigator.push( context, MaterialPageRoute(builder: (context) { - return ImportWalletScreen(); + return const ImportWalletScreen(); }), ).then((value) => { if (value == true) {Navigator.pop(context)} }), - child: Text("Importer un portefeuille Cesium", + child: const Text("Importer un portefeuille Cesium", style: TextStyle(fontSize: 16)))), - SizedBox(height: 30), + const SizedBox(height: 30), SizedBox( height: 70, width: 500, child: ElevatedButton( - key: Key('generateKeychain'), + key: const Key('generateKeychain'), style: ElevatedButton.styleFrom( elevation: 5, primary: yellowC, // background @@ -76,7 +78,7 @@ class SettingsScreen extends StatelessWidget { ).then((value) => { if (value == true) {Navigator.pop(context)} }), - child: Text("Générer un nouveau trousseau", + child: const Text("Générer un nouveau trousseau", style: TextStyle(fontSize: 16)))), Expanded( child: Align( @@ -85,7 +87,7 @@ class SettingsScreen extends StatelessWidget { height: 100, width: 500, child: ElevatedButton( - key: Key('deleteAllWallets'), + key: const Key('deleteAllWallets'), style: ElevatedButton.styleFrom( elevation: 5, primary: Colors.redAccent, // background @@ -97,9 +99,9 @@ class SettingsScreen extends StatelessWidget { .deleteAllWallet(context) .then((v) => _homeProvider.rebuildWidget()) }, - child: Text("EFFACER TOUS MES PORTEFEUILLES", + child: const Text("EFFACER TOUS MES PORTEFEUILLES", style: TextStyle(fontSize: 20)))))), - SizedBox(height: 50), + const SizedBox(height: 50), ])); } } diff --git a/lib/screens/templateScreen.dart b/lib/screens/template_screen.dart similarity index 79% rename from lib/screens/templateScreen.dart rename to lib/screens/template_screen.dart index cf6dfd6..10b9cf4 100644 --- a/lib/screens/templateScreen.dart +++ b/lib/screens/template_screen.dart @@ -9,17 +9,19 @@ import 'package:flutter/material.dart'; class TemplateScreen extends StatelessWidget { TextEditingController tplController = TextEditingController(); + TemplateScreen({Key key}) : super(key: key); + @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); // HomeProvider _homeProvider = Provider.of(context); return Scaffold( appBar: AppBar( - title: SizedBox( + title: const SizedBox( height: 22, child: Text('Template screen'), )), - floatingActionButton: Container( + floatingActionButton: SizedBox( height: 80.0, width: 80.0, child: FittedBox( @@ -28,10 +30,10 @@ class TemplateScreen extends StatelessWidget { onPressed: () => Navigator.push( context, MaterialPageRoute(builder: (context) { - return HomeScreen(); + return const HomeScreen(); }), ), - child: Container( + child: SizedBox( height: 40.0, width: 40.0, child: Icon(Icons.home, color: Colors.grey[850]), @@ -41,20 +43,20 @@ class TemplateScreen extends StatelessWidget { ))), body: SafeArea( child: Column(children: [ - SizedBox(height: 20), + const SizedBox(height: 20), TextField( enabled: true, controller: tplController, maxLines: 1, textAlign: TextAlign.center, - decoration: InputDecoration( + decoration: const InputDecoration( contentPadding: EdgeInsets.all(15.0), ), - style: TextStyle( + style: const TextStyle( fontSize: 22.0, color: Colors.black, fontWeight: FontWeight.w400)), - SizedBox(height: 20), + const SizedBox(height: 20), ElevatedButton( style: ElevatedButton.styleFrom( primary: yellowC, // background @@ -64,12 +66,13 @@ class TemplateScreen extends StatelessWidget { Navigator.push( context, MaterialPageRoute(builder: (context) { - return HomeScreen(); + return const HomeScreen(); }), ); }, - child: Text('Retour Accueil', style: TextStyle(fontSize: 20))), - SizedBox(height: 20), + child: const Text('Retour Accueil', + style: TextStyle(fontSize: 20))), + const SizedBox(height: 20), GestureDetector( onTap: () { Navigator.popUntil( @@ -77,7 +80,7 @@ class TemplateScreen extends StatelessWidget { ModalRoute.withName('/'), ); }, - child: Icon(Icons.home)) + child: const Icon(Icons.home)) ]), )); } diff --git a/macos/.gitignore b/macos/.gitignore new file mode 100644 index 0000000..746adbb --- /dev/null +++ b/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 0000000..c2efd0b --- /dev/null +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1 @@ +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 0000000..fc41ebe --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,24 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import connectivity_plus_macos +import package_info +import package_info_plus_macos +import path_provider_macos +import printing +import sentry_flutter +import shared_preferences_macos + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin")) + FLTPackageInfoPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlugin")) + FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + PrintingPlugin.register(with: registry.registrar(forPlugin: "PrintingPlugin")) + SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin")) + SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) +} diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..bfee57a --- /dev/null +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,572 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* gecko.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "gecko.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* gecko.app */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* gecko.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 0930; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..1e2f67b --- /dev/null +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift new file mode 100644 index 0000000..d53ef64 --- /dev/null +++ b/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..a2ec33f --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4935a7ca84f0976aca34b7f2895d65fb94d1ea GIT binary patch literal 46993 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4cc16421680a50164ba74381b4b35ceaa0ccfc GIT binary patch literal 3276 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 N;OXk;vd$@?2>?>Ex^Vyi literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png new file mode 100644 index 0000000000000000000000000000000000000000..bcbf36df2f2aaaa0a63c7dabc94e600184229d0d GIT binary patch literal 5933 zcmZ{Idpwix|Np(&m_yAF>K&UIn{t*2ZOdsShYs(MibU!|=pZCJq~7E>B$QJr)hC5| zmk?V?ES039lQ~RC!kjkl-TU4?|NZ{>J$CPLUH9vHy`Hbhhnc~SD_vpzBp6Xw4`$%jfmPw(;etLCccvfU-s)1A zLl8-RiSx!#?Kwzd0E&>h;Fc z^;S84cUH7gMe#2}MHYcDXgbkI+Qh^X4BV~6y<@s`gMSNX!4@g8?ojjj5hZj5X4g9D zavr_NoeZ=4vim%!Y`GnF-?2_Gb)g$xAo>#zCOLB-jPww8a%c|r&DC=eVdE;y+HwH@ zy`JK(oq+Yw^-hLvWO4B8orWwLiKT!hX!?xw`kz%INd5f)>k1PZ`ZfM&&Ngw)HiXA| ze=+%KkiLe1hd>h!ZO2O$45alH0O|E+>G2oCiJ|3y2c$;XedBozx93BprOr$#d{W5sb*hQQ~M@+v_m!8s?9+{Q0adM?ip3qQ*P5$R~dFvP+5KOH_^A+l-qu5flE*KLJp!rtjqTVqJsmpc1 zo>T>*ja-V&ma7)K?CE9RTsKQKk7lhx$L`9d6-Gq`_zKDa6*>csToQ{&0rWf$mD7x~S3{oA z1wUZl&^{qbX>y*T71~3NWd1Wfgjg)<~BnK96Ro#om&~8mU{}D!Fu# zTrKKSM8gY^*47b2Vr|ZZe&m9Y`n+Y8lHvtlBbIjNl3pGxU{!#Crl5RPIO~!L5Y({ym~8%Ox-9g>IW8 zSz2G6D#F|L^lcotrZx4cFdfw6f){tqITj6>HSW&ijlgTJTGbc7Q#=)*Be0-s0$fCk z^YaG;7Q1dfJq#p|EJ~YYmqjs`M0jPl=E`Id{+h%Lo*|8xp6K7yfgjqiH7{61$4x~A zNnH+65?QCtL;_w(|mDNJXybin=rOy-i7A@lXEu z&jY(5jhjlP{TsjMe$*b^2kp8LeAXu~*q&5;|3v|4w4Ij_4c{4GG8={;=K#lh{#C8v z&t9d7bf{@9aUaE94V~4wtQ|LMT*Ruuu0Ndjj*vh2pWW@|KeeXi(vt!YXi~I6?r5PG z$_{M*wrccE6x42nPaJUO#tBu$l#MInrZhej_Tqki{;BT0VZeb$Ba%;>L!##cvieb2 zwn(_+o!zhMk@l~$$}hivyebloEnNQmOy6biopy`GL?=hN&2)hsA0@fj=A^uEv~TFE z<|ZJIWplBEmufYI)<>IXMv(c+I^y6qBthESbAnk?0N(PI>4{ASayV1ErZ&dsM4Z@E-)F&V0>tIF+Oubl zin^4Qx@`Un4kRiPq+LX5{4*+twI#F~PE7g{FpJ`{)K()FH+VG^>)C-VgK>S=PH!m^ zE$+Cfz!Ja`s^Vo(fd&+U{W|K$e(|{YG;^9{D|UdadmUW;j;&V!rU)W_@kqQj*Frp~ z7=kRxk)d1$$38B03-E_|v=<*~p3>)2w*eXo(vk%HCXeT5lf_Z+D}(Uju=(WdZ4xa( zg>98lC^Z_`s-=ra9ZC^lAF?rIvQZpAMz8-#EgX;`lc6*53ckpxG}(pJp~0XBd9?RP zq!J-f`h0dC*nWxKUh~8YqN{SjiJ6vLBkMRo?;|eA(I!akhGm^}JXoL_sHYkGEQWWf zTR_u*Ga~Y!hUuqb`h|`DS-T)yCiF#s<KR}hC~F%m)?xjzj6w#Za%~XsXFS@P0E3t*qs)tR43%!OUxs(|FTR4Sjz(N zppN>{Ip2l3esk9rtB#+To92s~*WGK`G+ECt6D>Bvm|0`>Img`jUr$r@##&!1Ud{r| zgC@cPkNL_na`74%fIk)NaP-0UGq`|9gB}oHRoRU7U>Uqe!U61fY7*Nj(JiFa-B7Av z;VNDv7Xx&CTwh(C2ZT{ot`!E~1i1kK;VtIh?;a1iLWifv8121n6X!{C%kw|h-Z8_U z9Y8M38M2QG^=h+dW*$CJFmuVcrvD*0hbFOD=~wU?C5VqNiIgAs#4axofE*WFYd|K;Et18?xaI|v-0hN#D#7j z5I{XH)+v0)ZYF=-qloGQ>!)q_2S(Lg3<=UsLn%O)V-mhI-nc_cJZu(QWRY)*1il%n zOR5Kdi)zL-5w~lOixilSSF9YQ29*H+Br2*T2lJ?aSLKBwv7}*ZfICEb$t>z&A+O3C z^@_rpf0S7MO<3?73G5{LWrDWfhy-c7%M}E>0!Q(Iu71MYB(|gk$2`jH?!>ND0?xZu z1V|&*VsEG9U zm)!4#oTcgOO6Hqt3^vcHx>n}%pyf|NSNyTZX*f+TODT`F%IyvCpY?BGELP#s<|D{U z9lUTj%P6>^0Y$fvIdSj5*=&VVMy&nms=!=2y<5DP8x;Z13#YXf7}G)sc$_TQQ=4BD zQ1Le^y+BwHl7T6)`Q&9H&A2fJ@IPa;On5n!VNqWUiA*XXOnvoSjEIKW<$V~1?#zts>enlSTQaG2A|Ck4WkZWQoeOu(te znV;souKbA2W=)YWldqW@fV^$6EuB`lFmXYm%WqI}X?I1I7(mQ8U-pm+Ya* z|7o6wac&1>GuQfIvzU7YHIz_|V;J*CMLJolXMx^9CI;I+{Nph?sf2pX@%OKT;N@Uz9Y zzuNq11Ccdwtr(TDLx}N!>?weLLkv~i!xfI0HGWff*!12E*?7QzzZT%TX{5b7{8^*A z3ut^C4uxSDf=~t4wZ%L%gO_WS7SR4Ok7hJ;tvZ9QBfVE%2)6hE>xu9y*2%X5y%g$8 z*8&(XxwN?dO?2b4VSa@On~5A?zZZ{^s3rXm54Cfi-%4hBFSk|zY9u(3d1ButJuZ1@ zfOHtpSt)uJnL`zg9bBvUkjbPO0xNr{^{h0~$I$XQzel_OIEkgT5L!dW1uSnKsEMVp z9t^dfkxq=BneR9`%b#nWSdj)u1G=Ehv0$L@xe_eG$Ac%f7 zy`*X(p0r3FdCTa1AX^BtmPJNR4%S1nyu-AM-8)~t-KII9GEJU)W^ng7C@3%&3lj$2 z4niLa8)fJ2g>%`;;!re+Vh{3V^}9osx@pH8>b0#d8p`Dgm{I?y@dUJ4QcSB<+FAuT)O9gMlwrERIy z6)DFLaEhJkQ7S4^Qr!JA6*SYni$THFtE)0@%!vAw%X7y~!#k0?-|&6VIpFY9>5GhK zr;nM-Z`Omh>1>7;&?VC5JQoKi<`!BU_&GLzR%92V$kMohNpMDB=&NzMB&w-^SF~_# zNsTca>J{Y555+z|IT75yW;wi5A1Z zyzv|4l|xZ-Oy8r8_c8X)h%|a8#(oWcgS5P6gtuCA_vA!t=)IFTL{nnh8iW!B$i=Kd zj1ILrL;ht_4aRKF(l1%^dUyVxgK!2QsL)-{x$`q5wWjjN6B!Cj)jB=bii;9&Ee-;< zJfVk(8EOrbM&5mUciP49{Z43|TLoE#j(nQN_MaKt16dp#T6jF7z?^5*KwoT-Y`rs$ z?}8)#5Dg-Rx!PTa2R5; zx0zhW{BOpx_wKPlTu;4ev-0dUwp;g3qqIi|UMC@A?zEb3RXY`z_}gbwju zzlNht0WR%g@R5CVvg#+fb)o!I*Zpe?{_+oGq*wOmCWQ=(Ra-Q9mx#6SsqWAp*-Jzb zKvuPthpH(Fn_k>2XPu!=+C{vZsF8<9p!T}U+ICbNtO}IAqxa57*L&T>M6I0ogt&l> z^3k#b#S1--$byAaU&sZL$6(6mrf)OqZXpUPbVW%T|4T}20q9SQ&;3?oRz6rSDP4`b z(}J^?+mzbp>MQDD{ziSS0K(2^V4_anz9JV|Y_5{kF3spgW%EO6JpJ(rnnIN%;xkKf zn~;I&OGHKII3ZQ&?sHlEy)jqCyfeusjPMo7sLVr~??NAknqCbuDmo+7tp8vrKykMb z(y`R)pVp}ZgTErmi+z`UyQU*G5stQRsx*J^XW}LHi_af?(bJ8DPho0b)^PT|(`_A$ zFCYCCF={BknK&KYTAVaHE{lqJs4g6B@O&^5oTPLkmqAB#T#m!l9?wz!C}#a6w)Z~Z z6jx{dsXhI(|D)x%Yu49%ioD-~4}+hCA8Q;w_A$79%n+X84jbf?Nh?kRNRzyAi{_oV zU)LqH-yRdPxp;>vBAWqH4E z(WL)}-rb<_R^B~fI%ddj?Qxhp^5_~)6-aB`D~Nd$S`LY_O&&Fme>Id)+iI>%9V-68 z3crl=15^%0qA~}ksw@^dpZ`p;m=ury;-OV63*;zQyRs4?1?8lbUL!bR+C~2Zz1O+E@6ZQW!wvv z|NLqSP0^*J2Twq@yws%~V0^h05B8BMNHv_ZZT+=d%T#i{faiqN+ut5Bc`uQPM zgO+b1uj;)i!N94RJ>5RjTNXN{gAZel|L8S4r!NT{7)_=|`}D~ElU#2er}8~UE$Q>g zZryBhOd|J-U72{1q;Lb!^3mf+H$x6(hJHn$ZJRqCp^In_PD+>6KWnCnCXA35(}g!X z;3YI1luR&*1IvESL~*aF8(?4deU`9!cxB{8IO?PpZ{O5&uY<0DIERh2wEoAP@bayv z#$WTjR*$bN8^~AGZu+85uHo&AulFjmh*pupai?o?+>rZ7@@Xk4muI}ZqH`n&<@_Vn zvT!GF-_Ngd$B7kLge~&3qC;TE=tEid(nQB*qzXI0m46ma*2d(Sd*M%@Zc{kCFcs;1 zky%U)Pyg3wm_g12J`lS4n+Sg=L)-Y`bU705E5wk&zVEZw`eM#~AHHW96@D>bz#7?- zV`xlac^e`Zh_O+B5-kO=$04{<cKUG?R&#bnF}-?4(Jq+?Ph!9g zx@s~F)Uwub>Ratv&v85!6}3{n$bYb+p!w(l8Na6cSyEx#{r7>^YvIj8L?c*{mcB^x zqnv*lu-B1ORFtrmhfe}$I8~h*3!Ys%FNQv!P2tA^wjbH f$KZHO*s&vt|9^w-6P?|#0pRK8NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fg!ItFh?!xdN1Q+aGJ{c&& zS>O>_%)r1c48n{Iv*t(u1=&kHeO=ifbFy+6aSK)V_AxLppYn8Z42d|rc6w}vOsL55 z`t&mC&y2@JTEyg!eDiFX^k#CC!jq%>erB=yHqUP0XcDOTw6ko}L zX;EmMrq(fKk*eygEuA616;0)>@A{TK|55PV@70 z$OfzS*(VJxQev3J?yY?O=ul(v`fp}?u9z`JK3ugibK>)DyCwImZOF4d{xK%%Ks1*} zv$oa)9anR%lXIBUqYnhLmT>VOzHfNP?ZwJNZ!5$s9M08RynIvaXw>@G^T9@r9^KH1 zVy??F&uuk)bH9Y4pQY!hP58i_H6 znl-NcuCpLV6ZWU;4C zu@9exF&OZi`Bovq_m%T+WhU2kvkz@^_LpycBvqm3bMpLw8X-Or5sL>0AKE1$(k_L=_Zc=CUq#=x1-QZf)G7nHu@fmsQ1eN_N3+nTEz`4HI4Z6uVlE zJH+X&det8JU?tO?upcM4Z=cV!JV;yF>FfL5Q$M|W_2Z!P`S=}Wzp|_1^#d%e?_H`> zV@%vA$+bFVqhw9`U;TfP|5|PD{||OiYdor8P*i??|NJcb%kzT_73*7WE?Ua5hAnR2 z=7WE=PhTlJ#ZeRznjTUb;`E(wkMZrj4e|Hilz-mK>9cZHQY**5TUPw~u}k;u73KI}xAx!0m-)GVia|x^d3p~s_9gh83jA&Ra<8rM%`>U3x69t&NzbwWY}7Ar?)FK#IZ0z|d0H0EkRO w3{9;}4Xg|ebq&m|3=9_N6z8I7$jwj5OsmAL;bP(Gi$Dzwp00i_>zopr02+f8CIA2c literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png new file mode 100644 index 0000000000000000000000000000000000000000..e71a726136a47ed24125c7efc79d68a4a01961b4 GIT binary patch literal 14800 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 + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 0000000..b374696 --- /dev/null +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = gecko + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.example.gecko + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2021 com.example. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 0000000..36b0fd9 --- /dev/null +++ b/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 0000000..dff4f49 --- /dev/null +++ b/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 0000000..42bcbf4 --- /dev/null +++ b/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements new file mode 100644 index 0000000..dddb8a3 --- /dev/null +++ b/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.server + + + diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist new file mode 100644 index 0000000..4789daa --- /dev/null +++ b/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 0000000..2722837 --- /dev/null +++ b/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController.init() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements new file mode 100644 index 0000000..852fa1a --- /dev/null +++ b/macos/Runner/Release.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.app-sandbox + + + diff --git a/pubspec.lock b/pubspec.lock index fcfb1ab..7ff1640 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -326,6 +326,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.2" + flutter_lints: + dependency: "direct main" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" flutter_logs: dependency: "direct main" description: @@ -577,6 +584,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.3.0" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" logger: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 9ee5f91..b5a9772 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,6 +55,7 @@ dependencies: xml: ^5.3.0 assorted_layout_widgets: ^5.2.1 carousel_slider: ^4.0.0 + flutter_lints: ^1.0.4 flutter_icons: android: "ic_launcher" diff --git a/test_driver/app_test.dart b/test_driver/app_test.dart index c540836..72a15f9 100644 --- a/test_driver/app_test.dart +++ b/test_driver/app_test.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'package:flutter_driver/flutter_driver.dart'; +import 'package:gecko/globals.dart'; import 'package:test/test.dart'; // import 'package:flutter/services.dart'; @@ -108,7 +109,7 @@ void main() { await sleep(300); await tapOn('generateKeychain'); while (await getText('generatedPin') == '') { - print('Waiting for pin code generation...'); + log.i('Waiting for pin code generation...'); await sleep(100); } pinCode = await getText('generatedPin'); @@ -125,13 +126,10 @@ void main() { // *** Begin of tests *** // test('OnBoarding - Open wallets management', ( - {timeout: Timeout.none}) async { + {timeout = Timeout.none}) async { // await driver.runUnsynchronized(() async { // Needed if we want to manage async drivers await driver.tap(manageWalletsFinder); - print( - '####################################################################'); - // If a wallet exist, go to delete theme all if (!await isPresent(find.byValueKey('goStep1'))) { await goBack(); @@ -154,7 +152,7 @@ void main() { }); test('OnBoarding - Go to create restore sentance', ( - {timeout: Timeout.none}) async { + {timeout = Timeout.none}) async { await tapOn('goStep1'); await tapOn('goStep2'); await tapOn('goStep3'); @@ -170,11 +168,11 @@ void main() { }); test('OnBoarding - Generate sentance and confirme it', ( - {timeout: Timeout.none}) async { + {timeout = Timeout.none}) async { await tapOn('goStep7'); while (await getText('word1') == '...') { - print('Waiting for Mnemonic generation...'); + log.i('Waiting for Mnemonic generation...'); await sleep(100); } @@ -220,7 +218,7 @@ void main() { await selectWord(); }); test('OnBoarding - Generate secret code and confirm it', ( - {timeout: Timeout.none}) async { + {timeout = Timeout.none}) async { expect(await getText('step9'), "Super !\n\nJe vais maintenant créer votre code secret. \n\nVotre code secret chiffre votre trousseau de clefs, ce qui le rend inutilisable par d’autres, par exemple si vous perdez votre téléphone ou si on vous le vole."); @@ -228,12 +226,14 @@ void main() { await tapOn('goStep11'); while (await getText('generatedPin') == '') { - print('Waiting for pin code generation...'); + log.i('Waiting for pin code generation...'); await sleep(100); } // Change secret code 4 times - for (int i = 0; i < 4; i++) await tapOn('changeSecretCode'); + for (int i = 0; i < 4; i++) { + await tapOn('changeSecretCode'); + } await sleep(500); pinCode = await getText('generatedPin'); @@ -255,7 +255,7 @@ void main() { }); test('My wallets - Rename first derivation', ( - {timeout: const Duration(seconds: 2)}) async { + {timeout = const Duration(seconds: 2)}) async { await tapOn('goWalletHome'); expect(await getText('myWallets'), "Mes portefeuilles"); @@ -278,7 +278,7 @@ void main() { }); test('My wallets - Create a derivations, open thems, tap all buttons', ( - {timeout: const Duration(seconds: 2)}) async { + {timeout = const Duration(seconds: 2)}) async { await driver.waitFor(find.text('Renommage wallet 1'), timeout: timeout); // Add a second derivation await createDerivation('Derivation 2'); @@ -321,7 +321,7 @@ void main() { }); test('My wallets - Extra tests', ( - {timeout: const Duration(seconds: 2)}) async { + {timeout = const Duration(seconds: 2)}) async { // Add derivation 5,6 and 7 await driver.waitFor(find.text('Derivation 4'), timeout: timeout); await createDerivation('Derivation 5'); @@ -404,7 +404,7 @@ void main() { }); test('Search - Search Pi profile, navigate in history transactions', ( - {timeout: const Duration(seconds: 2)}) async { + {timeout = const Duration(seconds: 2)}) async { await driver.waitFor(find.text('Derivation 20'), timeout: timeout); await goBack(); await goBack(); @@ -436,7 +436,7 @@ void main() { }, timeout: Timeout(Duration(minutes: globalTimeout))); test('Wallet generation - Fast wallets generations', ( - {timeout: const Duration(seconds: 2)}) async { + {timeout = const Duration(seconds: 2)}) async { await driver.waitFor(find.text('Commentaire:'), timeout: timeout); await goBack(); await goBack(); diff --git a/windows/.gitignore b/windows/.gitignore new file mode 100644 index 0000000..d492d0d --- /dev/null +++ b/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt new file mode 100644 index 0000000..5d61367 --- /dev/null +++ b/windows/CMakeLists.txt @@ -0,0 +1,95 @@ +cmake_minimum_required(VERSION 3.15) +project(gecko LANGUAGES CXX) + +set(BINARY_NAME "gecko") + +cmake_policy(SET CMP0063 NEW) + +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Configure build options. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() + +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") + +# Flutter library and tool build rules. +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build +add_subdirectory("runner") + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000..b02c548 --- /dev/null +++ b/windows/flutter/CMakeLists.txt @@ -0,0 +1,103 @@ +cmake_minimum_required(VERSION 3.15) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + windows-x64 $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 0000000..25cb188 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,20 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include +#include +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + ConnectivityPlusWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); + PrintingPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("PrintingPlugin")); + SentryFlutterPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("SentryFlutterPlugin")); +} diff --git a/windows/flutter/generated_plugin_registrant.h b/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 0000000..dc139d8 --- /dev/null +++ b/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake new file mode 100644 index 0000000..fcd7a40 --- /dev/null +++ b/windows/flutter/generated_plugins.cmake @@ -0,0 +1,18 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + connectivity_plus_windows + printing + sentry_flutter +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) diff --git a/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt new file mode 100644 index 0000000..0b899a0 --- /dev/null +++ b/windows/runner/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.15) +project(runner LANGUAGES CXX) + +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) +apply_standard_settings(${BINARY_NAME}) +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc new file mode 100644 index 0000000..ed275d2 --- /dev/null +++ b/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#ifdef FLUTTER_BUILD_NUMBER +#define VERSION_AS_NUMBER FLUTTER_BUILD_NUMBER +#else +#define VERSION_AS_NUMBER 1,0,0 +#endif + +#ifdef FLUTTER_BUILD_NAME +#define VERSION_AS_STRING #FLUTTER_BUILD_NAME +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "A new Flutter project." "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "gecko" "\0" + VALUE "LegalCopyright", "Copyright (C) 2021 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "gecko.exe" "\0" + VALUE "ProductName", "gecko" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp new file mode 100644 index 0000000..b43b909 --- /dev/null +++ b/windows/runner/flutter_window.cpp @@ -0,0 +1,61 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/windows/runner/flutter_window.h b/windows/runner/flutter_window.h new file mode 100644 index 0000000..6da0652 --- /dev/null +++ b/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp new file mode 100644 index 0000000..aa55141 --- /dev/null +++ b/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.CreateAndShow(L"gecko", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/windows/runner/resource.h b/windows/runner/resource.h new file mode 100644 index 0000000..66a65d1 --- /dev/null +++ b/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest new file mode 100644 index 0000000..c977c4a --- /dev/null +++ b/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp new file mode 100644 index 0000000..d19bdbb --- /dev/null +++ b/windows/runner/utils.cpp @@ -0,0 +1,64 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr); + if (target_length == 0) { + return std::string(); + } + std::string utf8_string; + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, utf8_string.data(), + target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/windows/runner/utils.h b/windows/runner/utils.h new file mode 100644 index 0000000..3879d54 --- /dev/null +++ b/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/windows/runner/win32_window.cpp b/windows/runner/win32_window.cpp new file mode 100644 index 0000000..c10f08d --- /dev/null +++ b/windows/runner/win32_window.cpp @@ -0,0 +1,245 @@ +#include "win32_window.h" + +#include + +#include "resource.h" + +namespace { + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + FreeLibrary(user32_module); + } +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + return OnCreate(); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} diff --git a/windows/runner/win32_window.h b/windows/runner/win32_window.h new file mode 100644 index 0000000..17ba431 --- /dev/null +++ b/windows/runner/win32_window.h @@ -0,0 +1,98 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates and shows a win32 window with |title| and position and size using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size to will treat the width height passed in to this function + // as logical pixels and scale to appropriate for the default monitor. Returns + // true if the window was created successfully. + bool CreateAndShow(const std::wstring& title, + const Point& origin, + const Size& size); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responsponds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ From 30d5cd2e31f4243ed16723914d86676a6972a72a Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 15 Nov 2021 00:39:40 +0100 Subject: [PATCH 11/20] Improve choose_chest and unlocking_wallet screens --- assets/avatars/3.png | Bin 0 -> 6994 bytes lib/models/my_wallets.dart | 2 +- lib/screens/myWallets/choose_chest.dart | 63 ++++++++++++++------ lib/screens/myWallets/unlocking_wallet.dart | 38 +++++++++--- lib/screens/myWallets/wallets_home.dart | 2 +- pubspec.lock | 2 +- pubspec.yaml | 4 +- 7 files changed, 80 insertions(+), 31 deletions(-) create mode 100755 assets/avatars/3.png diff --git a/assets/avatars/3.png b/assets/avatars/3.png new file mode 100755 index 0000000000000000000000000000000000000000..47e563e14283862667587106398567eee52ebd1e GIT binary patch literal 6994 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 createState() { + return _ChooseChestState(); + } +} + // ignore: must_be_immutable -class ChooseChest extends StatelessWidget { +class _ChooseChestState extends State { TextEditingController tplController = TextEditingController(); CarouselController buttonCarouselController = CarouselController(); - - ChooseChest({Key key}) : super(key: key); + int currentChest = configBox.get('currentChest'); @override Widget build(BuildContext context) { @@ -20,8 +30,6 @@ class ChooseChest extends StatelessWidget { MyWalletsProvider _myWalletProvider = Provider.of(context); - int currentChest = configBox.get('currentChest'); - return Scaffold( appBar: AppBar( title: const SizedBox( @@ -30,13 +38,14 @@ class ChooseChest extends StatelessWidget { )), body: SafeArea( child: Column(children: [ - const SizedBox(height: 190), + SizedBox(height: 160 * ratio), CarouselSlider( carouselController: buttonCarouselController, options: CarouselOptions( height: 210, onPageChanged: (index, reason) { currentChest = index; + setState(() {}); }, enableInfiniteScroll: false, initialPage: currentChest, @@ -60,14 +69,29 @@ class ChooseChest extends StatelessWidget { ); }).toList(), ), - Image.asset('assets/chests/vector.png'), - const SizedBox(height: 15), - const Text( - 'Choisir un autre\ncoffre', - textAlign: TextAlign.center, - style: TextStyle(fontSize: 13), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: chestBox.toMap().entries.map((entry) { + return GestureDetector( + onTap: () => + buttonCarouselController.animateToPage(entry.key), + child: Container( + width: 12.0, + height: 12.0, + margin: const EdgeInsets.symmetric( + vertical: 8.0, horizontal: 4.0), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: (Theme.of(context).brightness == Brightness.dark + ? Colors.white + : Colors.black) + .withOpacity( + currentChest == entry.key ? 0.9 : 0.4)), + ), + ); + }).toList(), ), - const SizedBox(height: 80), + SizedBox(height: 80 * ratio), SizedBox( width: 400, height: 70, @@ -78,11 +102,16 @@ class ChooseChest extends StatelessWidget { ), onPressed: () { configBox.put('currentChest', currentChest); + WalletData defaultWallet = _myWalletProvider + .getDefaultWallet(configBox.get('currentChest')); _myWalletProvider.rebuildWidget(); - Navigator.popUntil( - context, - ModalRoute.withName('/mywallets'), - ); + Navigator.pushAndRemoveUntil(context, + MaterialPageRoute(builder: (context) { + return UnlockingWallet( + wallet: defaultWallet, + action: "mywallets", + ); + }), ModalRoute.withName('/')); }, child: Text( 'Ouvrir ce coffre', diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index 7e810a2..d06eccf 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; +import 'package:gecko/models/chest_data.dart'; import 'package:gecko/models/history.dart'; import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/wallet_data.dart'; @@ -37,6 +38,7 @@ class UnlockingWallet extends StatelessWidget { // log.d("defaultWallet: " + defaultWallet.toString()); final int _pinLenght = _walletOptions.getPinLenght(wallet.number); errorController = StreamController(); + ChestData currentChest = chestBox.get(wallet.chest); return Scaffold( // backgroundColor: Colors.brown[600], @@ -45,15 +47,33 @@ class UnlockingWallet extends StatelessWidget { const SizedBox(height: 20), Expanded( child: Column(children: [ - const SizedBox(height: 150), - const Text( - 'Veuillez tapper votre code secret pour dévérouiller votre portefeuille.', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 15.0, - color: Colors.black, - fontWeight: FontWeight.w400), - ), + const SizedBox(height: 50), + Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + Image.asset( + 'assets/chests/${currentChest.imageName}', + ), + const SizedBox(width: 5), + SizedBox( + width: 250, + child: Text( + currentChest.name, + textAlign: TextAlign.center, + style: const TextStyle( + fontSize: 25, + color: Colors.black, + fontWeight: FontWeight.w700), + )), + ]), + const SizedBox(height: 50), + const SizedBox( + width: 400, + child: Text( + 'Pour déverrouiller votre coffre, composez votre code secret à l’abri des lézards indiscrets :', + style: TextStyle( + fontSize: 19, + color: Colors.black, + fontWeight: FontWeight.w400), + )), const SizedBox(height: 50), pinForm(context, _pinLenght, wallet.number, wallet.derivation), ]), diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index 81b5be9..ed2a036 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -113,7 +113,7 @@ class WalletsHome extends StatelessWidget { onPressed: () => Navigator.push( context, MaterialPageRoute(builder: (context) { - return ChooseChest(); + return const ChooseChest(); }), ), label: const Text( diff --git a/pubspec.lock b/pubspec.lock index 7ff1640..97d22f2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -814,7 +814,7 @@ packages: name: pin_code_fields url: "https://pub.dartlang.org" source: hosted - version: "6.1.0" + version: "7.3.0" platform: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b5a9772..92f56f5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.2+7 +version: 0.0.2+8 environment: sdk: ">=2.7.0 <3.0.0" @@ -36,7 +36,7 @@ dependencies: path_provider: ^2.0.3 pdf: ^3.5.0 permission_handler: 8.1.6 - pin_code_fields: ^6.0.2 + pin_code_fields: ^7.3.0 printing: ^5.6.0 provider: ^6.0.0 qrscan: ^0.3.2 From f15306e0831692b8cb48467cb1ea7e22a0e0243b Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 15 Nov 2021 02:28:15 +0100 Subject: [PATCH 12/20] Fix: crash when try to open camera on Android 6 --- android/app/build.gradle | 3 +++ android/app/proguard-rules.pro | 7 +++++++ pubspec.yaml | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 android/app/proguard-rules.pro diff --git a/android/app/build.gradle b/android/app/build.gradle index c892da8..a1989bf 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -66,6 +66,9 @@ android { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig signingConfigs.debug + useProguard true + + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..3df0b1b --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,7 @@ +-ignorewarnings +-keep class * { + public private *; +} +-dontwarn org.xmlpull.v1.XmlPullParser +-dontwarn org.xmlpull.v1.XmlSerializer +-keep class org.xmlpull.v1.* {*;} \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 92f56f5..d40ce04 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.2+8 +version: 0.0.2+9 environment: sdk: ">=2.7.0 <3.0.0" From 162bd0a730f13273e1bc43922e500be3960af2a4 Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 15 Nov 2021 03:55:08 +0100 Subject: [PATCH 13/20] Can change chest on unloncking screen --- lib/models/wallet_options.dart | 4 +- lib/screens/home.dart | 1 + lib/screens/myWallets/choose_chest.dart | 5 ++- lib/screens/myWallets/unlocking_wallet.dart | 42 ++++++++++++++++++--- lib/screens/myWallets/wallets_home.dart | 2 +- 5 files changed, 43 insertions(+), 11 deletions(-) diff --git a/lib/models/wallet_options.dart b/lib/models/wallet_options.dart index 19c8099..fcabefa 100644 --- a/lib/models/wallet_options.dart +++ b/lib/models/wallet_options.dart @@ -76,7 +76,7 @@ class WalletOptionsProvider with ChangeNotifier { context, WalletData _wallet, String _pin, int _pinLenght) async { isWalletUnlock = false; try { - String _localDewif = chestBox.get(configBox.get('currentChest')).dewif; + String _localDewif = chestBox.get(_wallet.chest).dewif; String _localPubkey; if ((_localPubkey = await _getPubkeyFromDewif( @@ -113,7 +113,7 @@ class WalletOptionsProvider with ChangeNotifier { int getPinLenght(_walletNbr) { String _localDewif; - if (_walletNbr is int) { + if (_walletNbr is int || _walletNbr == null) { _localDewif = chestBox.get(configBox.get('currentChest')).dewif; } else { _localDewif = _walletNbr; diff --git a/lib/screens/home.dart b/lib/screens/home.dart index fcc22a8..bcb0894 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -87,6 +87,7 @@ class HomeScreen extends StatelessWidget { ), ), appBar: AppBar( + toolbarHeight: 60 * ratio, leading: Builder( builder: (context) => IconButton( key: const Key('drawerMenu'), diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart index 2cd337e..9058d43 100644 --- a/lib/screens/myWallets/choose_chest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -58,6 +58,7 @@ class _ChooseChestState extends State { return Column(children: [ Image.asset( 'assets/chests/${i.value.imageName}', + height: 150, ), const SizedBox(height: 30), Text( @@ -102,8 +103,8 @@ class _ChooseChestState extends State { ), onPressed: () { configBox.put('currentChest', currentChest); - WalletData defaultWallet = _myWalletProvider - .getDefaultWallet(configBox.get('currentChest')); + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet(currentChest); _myWalletProvider.rebuildWidget(); Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context) { diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index d06eccf..64cb187 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -7,6 +7,7 @@ import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/models/wallet_options.dart'; import 'package:flutter/material.dart'; +import 'package:gecko/screens/myWallets/choose_chest.dart'; import 'package:pin_code_fields/pin_code_fields.dart'; import 'package:provider/provider.dart'; import 'package:gecko/globals.dart'; @@ -35,10 +36,17 @@ class UnlockingWallet extends StatelessWidget { WalletOptionsProvider _walletOptions = Provider.of(context); - // log.d("defaultWallet: " + defaultWallet.toString()); - final int _pinLenght = _walletOptions.getPinLenght(wallet.number); + int _pinLenght; + + ChestData currentChest = chestBox.get(configBox.get('currentChest')); + + if (currentChest.isCesium) { + _pinLenght = _walletOptions.getPinLenght(currentChest.dewif); + wallet = WalletData(derivation: -1, chest: currentChest.key); + } else { + _pinLenght = _walletOptions.getPinLenght(wallet.number); + } errorController = StreamController(); - ChestData currentChest = chestBox.get(wallet.chest); return Scaffold( // backgroundColor: Colors.brown[600], @@ -51,6 +59,7 @@ class UnlockingWallet extends StatelessWidget { Row(mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( 'assets/chests/${currentChest.imageName}', + height: 150, ), const SizedBox(width: 5), SizedBox( @@ -75,14 +84,35 @@ class UnlockingWallet extends StatelessWidget { fontWeight: FontWeight.w400), )), const SizedBox(height: 50), - pinForm(context, _pinLenght, wallet.number, wallet.derivation), + pinForm(context, _pinLenght), + const SizedBox(height: 5), + InkWell( + key: const Key('chooseChest'), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return const ChooseChest(); + }), + ); + }, + child: SizedBox( + width: 400, + height: 70, + child: Center( + child: Text('Changer de coffre', + style: TextStyle( + fontSize: 22, + color: orangeC, + fontWeight: FontWeight.w600))), + )), ]), ), ]), )); } - Widget pinForm(context, _pinLenght, int _walletNbr, int _derivation) { + Widget pinForm(context, _pinLenght) { // var _walletPin = ''; // ignore: close_sinks StreamController errorController = @@ -143,7 +173,7 @@ class UnlockingWallet extends StatelessWidget { onCompleted: (_pin) async { log.d("Completed"); _myWalletProvider.pinCode = _pin; - final resultWallet = await _walletOptions.readLocalWallet( + final String resultWallet = await _walletOptions.readLocalWallet( context, wallet, _pin.toUpperCase(), _pinLenght); // _myWalletProvider.pinCode = _pin.toUpperCase(); _myWalletProvider.pinLenght = _pinLenght; diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index ed2a036..d72834c 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -31,8 +31,8 @@ class WalletsHome extends StatelessWidget { if (!_currentChest.isCesium) { myWalletProvider.listWallets = myWalletProvider.readAllWallets(_currentChestNumber); - isWalletsExists = myWalletProvider.checkIfWalletExist(); } + isWalletsExists = myWalletProvider.checkIfWalletExist(); return WillPopScope( onWillPop: () { From 1b7c01bfe1fb9d38d1becac18929f03aa58b94a1 Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 15 Nov 2021 04:16:25 +0100 Subject: [PATCH 14/20] Increase AppBar height --- lib/screens/common_elements.dart | 1 + lib/screens/history.dart | 1 + lib/screens/myWallets/cesium_wallet_options.dart | 1 + lib/screens/myWallets/change_pin.dart | 1 + lib/screens/myWallets/choose_chest.dart | 7 ++++--- lib/screens/myWallets/confirm_wallet_storage.dart | 2 ++ lib/screens/myWallets/generate_wallets.dart | 11 +++++++---- lib/screens/myWallets/import_wallet.dart | 1 + lib/screens/myWallets/wallet_options.dart | 1 + lib/screens/myWallets/wallets_home.dart | 1 + lib/screens/onBoarding/7.dart | 4 +++- lib/screens/settings.dart | 7 ++++--- lib/screens/template_screen.dart | 7 ++++--- 13 files changed, 31 insertions(+), 14 deletions(-) diff --git a/lib/screens/common_elements.dart b/lib/screens/common_elements.dart index 4056d56..b9f2654 100644 --- a/lib/screens/common_elements.dart +++ b/lib/screens/common_elements.dart @@ -213,6 +213,7 @@ class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget { @override Widget build(BuildContext context) { return AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: SizedBox( height: 30, diff --git a/lib/screens/history.dart b/lib/screens/history.dart index b5dd1b6..7701a56 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -44,6 +44,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { return Scaffold( key: _scaffoldKey, appBar: AppBar( + toolbarHeight: 60 * ratio, title: _homeProvider.appBarExplorer, actions: [ Padding( diff --git a/lib/screens/myWallets/cesium_wallet_options.dart b/lib/screens/myWallets/cesium_wallet_options.dart index 319bbbe..3a976a9 100644 --- a/lib/screens/myWallets/cesium_wallet_options.dart +++ b/lib/screens/myWallets/cesium_wallet_options.dart @@ -71,6 +71,7 @@ class CesiumWalletOptions extends StatelessWidget { child: Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart index 2d51a04..477e25c 100644 --- a/lib/screens/myWallets/change_pin.dart +++ b/lib/screens/myWallets/change_pin.dart @@ -31,6 +31,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { child: Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart index 9058d43..c6d78a7 100644 --- a/lib/screens/myWallets/choose_chest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -32,10 +32,11 @@ class _ChooseChestState extends State { return Scaffold( appBar: AppBar( + toolbarHeight: 60 * ratio, title: const SizedBox( - height: 22, - child: Text('Sélectionner mon coffre'), - )), + height: 22, + child: Text('Sélectionner mon coffre'), + )), body: SafeArea( child: Column(children: [ SizedBox(height: 160 * ratio), diff --git a/lib/screens/myWallets/confirm_wallet_storage.dart b/lib/screens/myWallets/confirm_wallet_storage.dart index c31bbe7..e822f19 100644 --- a/lib/screens/myWallets/confirm_wallet_storage.dart +++ b/lib/screens/myWallets/confirm_wallet_storage.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:dubp/dubp.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:gecko/globals.dart'; import 'package:gecko/models/generate_wallets.dart'; import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/wallet_options.dart'; @@ -45,6 +46,7 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { child: Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { diff --git a/lib/screens/myWallets/generate_wallets.dart b/lib/screens/myWallets/generate_wallets.dart index 8b7bd5e..a4d851e 100644 --- a/lib/screens/myWallets/generate_wallets.dart +++ b/lib/screens/myWallets/generate_wallets.dart @@ -29,10 +29,11 @@ class GenerateWalletsScreen extends StatelessWidget { return Scaffold( appBar: AppBar( + toolbarHeight: 60 * ratio, title: const SizedBox( - height: 22, - child: Text('Générer un trousseau'), - )), + height: 22, + child: Text('Générer un trousseau'), + )), floatingActionButton: SizedBox( height: 80.0, width: 80.0, @@ -182,7 +183,9 @@ class PrintWallet extends StatelessWidget { Provider.of(context); return MaterialApp( home: Scaffold( - appBar: AppBar(title: const Text('Imprimer ce trousseau')), + appBar: AppBar( + toolbarHeight: 60 * ratio, + title: const Text('Imprimer ce trousseau')), body: PdfPreview( build: (format) => _generateWalletProvider.printWallet(sentence), ), diff --git a/lib/screens/myWallets/import_wallet.dart b/lib/screens/myWallets/import_wallet.dart index ed33ff4..5a86fc8 100644 --- a/lib/screens/myWallets/import_wallet.dart +++ b/lib/screens/myWallets/import_wallet.dart @@ -29,6 +29,7 @@ class ImportWalletScreen extends StatelessWidget { }, child: Scaffold( appBar: AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index 7efbf30..0097057 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -71,6 +71,7 @@ class WalletOptions extends StatelessWidget { child: Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index d72834c..af61e18 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -44,6 +44,7 @@ class WalletsHome extends StatelessWidget { }, child: Scaffold( appBar: AppBar( + toolbarHeight: 60 * ratio, leading: IconButton( icon: const Icon(Icons.arrow_back, color: Colors.black), onPressed: () { diff --git a/lib/screens/onBoarding/7.dart b/lib/screens/onBoarding/7.dart index be94bc4..756f046 100644 --- a/lib/screens/onBoarding/7.dart +++ b/lib/screens/onBoarding/7.dart @@ -196,7 +196,9 @@ class PrintWallet extends StatelessWidget { Provider.of(context); return MaterialApp( home: Scaffold( - appBar: AppBar(title: const Text('Imprimer ce trousseau')), + appBar: AppBar( + toolbarHeight: 60 * ratio, + title: const Text('Imprimer ce trousseau')), body: PdfPreview( build: (format) => _generateWalletProvider.printWallet(sentence), ), diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 462c76c..8551d09 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -34,10 +34,11 @@ class SettingsScreen extends StatelessWidget { // getAppDirectory(); return Scaffold( appBar: AppBar( + toolbarHeight: 60 * ratio, title: const SizedBox( - height: 22, - child: Text('Paramètres'), - )), + height: 22, + child: Text('Paramètres'), + )), body: Column(children: [ const SizedBox(height: 40), SizedBox( diff --git a/lib/screens/template_screen.dart b/lib/screens/template_screen.dart index 10b9cf4..4759e7b 100644 --- a/lib/screens/template_screen.dart +++ b/lib/screens/template_screen.dart @@ -17,10 +17,11 @@ class TemplateScreen extends StatelessWidget { // HomeProvider _homeProvider = Provider.of(context); return Scaffold( appBar: AppBar( + toolbarHeight: 60 * ratio, title: const SizedBox( - height: 22, - child: Text('Template screen'), - )), + height: 22, + child: Text('Template screen'), + )), floatingActionButton: SizedBox( height: 80.0, width: 80.0, From 6d69d039d166e5ee2ff8c536f3d78793d6847197 Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 15 Nov 2021 18:05:08 +0100 Subject: [PATCH 15/20] Improve responsive --- lib/screens/home.dart | 603 ++++++++++---------- lib/screens/myWallets/unlocking_wallet.dart | 15 +- 2 files changed, 306 insertions(+), 312 deletions(-) diff --git a/lib/screens/home.dart b/lib/screens/home.dart index bcb0894..2e4d392 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -41,315 +41,310 @@ class HomeScreen extends StatelessWidget { ratio = 1.125; } return Scaffold( - resizeToAvoidBottomInset: false, - drawer: Drawer( - child: Column( - children: [ - Expanded( - child: ListView(padding: EdgeInsets.zero, children: [ - DrawerHeader( - child: Column(children: const [ - SizedBox(height: 0), + resizeToAvoidBottomInset: false, + drawer: Drawer( + child: Column( + children: [ + Expanded( + child: ListView(padding: EdgeInsets.zero, children: [ + DrawerHeader( + child: Column(children: const [ + SizedBox(height: 0), + Image( + image: AssetImage('assets/icon/gecko_final.png'), + height: 130), + ]), + decoration: BoxDecoration( + color: orangeC, + ), + ), + ListTile( + key: const Key('parameters'), + title: const Text('Paramètres'), + onTap: () { + Navigator.pop(context); + Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return SettingsScreen(); + }), + ); + }, + ), + ListTile( + title: const Text('A propos'), + onTap: () { + // Update the state of the app. + // ... + }, + ), + ])), + Align( + alignment: FractionalOffset.bottomCenter, + child: Text('Ğecko v$appVersion')), + const SizedBox(height: 20) + ], + ), + ), + appBar: AppBar( + toolbarHeight: 60 * ratio, + leading: Builder( + builder: (context) => IconButton( + key: const Key('drawerMenu'), + icon: Icon(Icons.menu, color: Colors.grey[850]), + onPressed: () => Scaffold.of(context).openDrawer(), + )), + title: _homeProvider.appBarTitle, + actions: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: IconButton( + key: const Key('searchIcon'), + icon: _homeProvider.searchIcon, + color: Colors.grey[850], + onPressed: () { + if (_homeProvider.searchIcon.icon == Icons.search) { + _homeProvider.searchIcon = Icon( + Icons.close, + color: Colors.grey[850], + ); + _homeProvider.appBarTitle = TextField( + key: const Key('searchInput'), + autofocus: true, + controller: _homeProvider.searchQuery, + onChanged: (text) { + log.d("Clé tappé: $text"); + final String searchResult = + _historyProvider.isPubkey(context, text); + if (searchResult != '') { + _homeProvider.currentIndex = 0; + } + }, + style: TextStyle( + color: Colors.grey[850], + ), + decoration: InputDecoration( + prefixIcon: + Icon(Icons.search, color: Colors.grey[850]), + hintText: "Rechercher ...", + hintStyle: TextStyle(color: Colors.grey[850])), + ); + _homeProvider.handleSearchStart(); + } else { + _homeProvider.handleSearchEnd(); + } + })) + ], + backgroundColor: const Color(0xffFFD58D), + ), + backgroundColor: const Color(0xffF9F9F1), + body: Builder( + builder: (ctx) => StatefulWrapper( + onInit: () { + WidgetsBinding.instance.addPostFrameCallback((_) { + DubpRust.setup(); + _historyStatic.snackNode(ctx); + }); + }, + child: Column(children: [ + Padding( + padding: const EdgeInsets.only(top: 20), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: const [ + SizedBox(width: 7), Image( image: AssetImage('assets/icon/gecko_final.png'), - height: 130), + height: 180), ]), - decoration: BoxDecoration( - color: orangeC, - ), - ), - ListTile( - key: const Key('parameters'), - title: const Text('Paramètres'), - onTap: () { - Navigator.pop(context); - Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return SettingsScreen(); - }), - ); - }, - ), - ListTile( - title: const Text('A propos'), - onTap: () { - // Update the state of the app. - // ... - }, - ), - ])), - Align( - alignment: FractionalOffset.bottomCenter, - child: Text('Ğecko v$appVersion')), - const SizedBox(height: 20) - ], - ), - ), - appBar: AppBar( - toolbarHeight: 60 * ratio, - leading: Builder( - builder: (context) => IconButton( - key: const Key('drawerMenu'), - icon: Icon(Icons.menu, color: Colors.grey[850]), - onPressed: () => Scaffold.of(context).openDrawer(), - )), - title: _homeProvider.appBarTitle, - actions: [ + ), Padding( - padding: const EdgeInsets.symmetric(horizontal: 16), - child: IconButton( - key: const Key('searchIcon'), - icon: _homeProvider.searchIcon, - color: Colors.grey[850], - onPressed: () { - if (_homeProvider.searchIcon.icon == Icons.search) { - _homeProvider.searchIcon = Icon( - Icons.close, - color: Colors.grey[850], - ); - _homeProvider.appBarTitle = TextField( - key: const Key('searchInput'), - autofocus: true, - controller: _homeProvider.searchQuery, - onChanged: (text) { - log.d("Clé tappé: $text"); - final String searchResult = - _historyProvider.isPubkey(context, text); - if (searchResult != '') { - _homeProvider.currentIndex = 0; - } - }, - style: TextStyle( - color: Colors.grey[850], - ), - decoration: InputDecoration( - prefixIcon: - Icon(Icons.search, color: Colors.grey[850]), - hintText: "Rechercher ...", - hintStyle: TextStyle(color: Colors.grey[850])), - ); - _homeProvider.handleSearchStart(); - } else { - _homeProvider.handleSearchEnd(); - } - })) - ], - backgroundColor: const Color(0xffFFD58D), - ), - backgroundColor: const Color(0xffF9F9F1), - body: Builder( - builder: (ctx) => StatefulWrapper( - onInit: () { - WidgetsBinding.instance.addPostFrameCallback((_) { - DubpRust.setup(); - _historyStatic.snackNode(ctx); - }); - }, - child: Column(children: [ - Padding( - padding: const EdgeInsets.only(top: 20), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - SizedBox(width: 7), - Image( - image: - AssetImage('assets/icon/gecko_final.png'), - height: 180), - ])), - Padding( - padding: const EdgeInsets.only(top: 15), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - Text( - "y'a pas de lézard !", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, - fontSize: 17, - fontStyle: FontStyle.italic), - ) - ])), - Padding( - padding: const EdgeInsets.only(top: 60), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Column(children: [ - Container( - child: ClipOval( - child: Material( - color: const Color( - 0xffFFD58D), // button color - child: InkWell( - splashColor: orangeC, // inkwell color - child: const Padding( - padding: EdgeInsets.all(22), - child: Image( - image: AssetImage( - 'assets/qrcode-scan.png'), - height: 60)), - onTap: () async { - await _historyProvider - .scan(context); - }), - ), - ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.grey, - blurRadius: 4.0, - offset: Offset(2.0, 2.5), - spreadRadius: 0.5) - ], - ), - ), - const SizedBox(height: 12), - const Text( - "Payer par QR-Code", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, fontSize: 16), - ) - ]) - ])), - Padding( - padding: const EdgeInsets.only(top: 50), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Column(children: [ - Container( - child: ClipOval( - child: Material( - color: const Color( - 0xffFFD58D), // button color - child: InkWell( - splashColor: orangeC, // inkwell color - child: const Padding( - padding: EdgeInsets.symmetric( - horizontal: 20, vertical: 16), - child: Image( - image: AssetImage( - 'assets/blockchain.png'), - height: 70)), - onTap: () { - // Navigator.push( - // context, - // MaterialPageRoute( - // builder: (context) { - // return TemplateScreen(); - // }), - // ); - }), - ), - ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.grey, - blurRadius: 4.0, - offset: Offset(2.0, 2.5), - spreadRadius: 0.5) - ], - ), - ), - const SizedBox(height: 12), - const Text( - "Explorer\n", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, fontSize: 16), - ) - ]), - const SizedBox(width: 140), - Column(children: [ - Container( - child: ClipOval( - key: const Key('manageWallets'), - child: Material( - color: const Color( - 0xffFFD58D), // button color - child: InkWell( - splashColor: orangeC, // inkwell color - child: const Padding( - padding: EdgeInsets.all(23), - child: Image( - image: AssetImage( - 'assets/lock.png'), - height: 57)), - onTap: () { - isWalletsExists - ? Navigator.push(context, - MaterialPageRoute( - builder: (context) { - return UnlockingWallet( - wallet: defaultWallet, - action: "mywallets", - ); - })) - - // Navigator.pushNamed( - // context, '/mywallets') - : Navigator.push(context, - MaterialPageRoute( - builder: (context) { - return const NoKeyChainScreen(); - })); - }), - ), - ), - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.grey, - blurRadius: 4.0, - offset: Offset(2.0, 2.5), - spreadRadius: 0.5) - ], - ), - ), - const SizedBox(height: 12), - const Text( - "Gérer mes\nportefeuilles", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.black, fontSize: 16), - ) - ]) - ])) + padding: const EdgeInsets.only(top: 15), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: const [ + Text( + "y'a pas de lézard !", + textAlign: TextAlign.center, + style: TextStyle( + color: Colors.black, + fontSize: 17, + fontStyle: FontStyle.italic), + ) ]), - // bottomNavigationBar: BottomNavigationBar( - // backgroundColor: Color(0xffFFD58D), - // fixedColor: Colors.grey[850], - // unselectedItemColor: Color(0xffBD935C), - // type: BottomNavigationBarType.fixed, - // onTap: (index) { - // _homeProvider.currentIndex = index; - // }, - // currentIndex: _homeProvider.currentIndex, - // items: [ - // BottomNavigationBarItem( - // icon: Image.asset('assets/block-space-disabled.png', height: 26), - // activeIcon: Image.asset('assets/blockchain.png', height: 26), - // label: 'Explorateur', - // ), - // BottomNavigationBarItem( - // icon: Icon(Icons.lock), - // label: 'Mes portefeuilles', - // ), - // ], - // ), - ))); + ), + Padding( + padding: EdgeInsets.only(top: isTall ? 70 : 60), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Column(children: [ + Container( + child: ClipOval( + child: Material( + color: const Color(0xffFFD58D), // button color + child: InkWell( + splashColor: orangeC, // inkwell color + child: const Padding( + padding: EdgeInsets.all(22), + child: Image( + image: AssetImage( + 'assets/qrcode-scan.png'), + height: 60)), + onTap: () async { + await _historyProvider.scan(context); + }), + ), + ), + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey, + blurRadius: 4.0, + offset: Offset(2.0, 2.5), + spreadRadius: 0.5) + ], + ), + ), + const SizedBox(height: 12), + const Text( + "Payer par QR-Code", + textAlign: TextAlign.center, + style: TextStyle(color: Colors.black, fontSize: 16), + ) + ]) + ]), + ), + Padding( + padding: const EdgeInsets.only(top: 50), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Column(children: [ + Container( + child: ClipOval( + child: Material( + color: const Color(0xffFFD58D), // button color + child: InkWell( + splashColor: orangeC, // inkwell color + child: const Padding( + padding: EdgeInsets.symmetric( + horizontal: 20, vertical: 16), + child: Image( + image: + AssetImage('assets/blockchain.png'), + height: 70)), + onTap: () { + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) { + // return TemplateScreen(); + // }), + // ); + }), + ), + ), + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey, + blurRadius: 4.0, + offset: Offset(2.0, 2.5), + spreadRadius: 0.5) + ], + ), + ), + const SizedBox(height: 12), + const Text( + "Explorer\n", + textAlign: TextAlign.center, + style: TextStyle(color: Colors.black, fontSize: 16), + ) + ]), + const SizedBox(width: 140), + Column(children: [ + Container( + child: ClipOval( + key: const Key('manageWallets'), + child: Material( + color: const Color(0xffFFD58D), // button color + child: InkWell( + splashColor: orangeC, // inkwell color + child: const Padding( + padding: EdgeInsets.all(23), + child: Image( + image: AssetImage('assets/lock.png'), + height: 57)), + onTap: () { + isWalletsExists + ? Navigator.push(context, + MaterialPageRoute(builder: (context) { + return UnlockingWallet( + wallet: defaultWallet, + action: "mywallets", + ); + })) + + // Navigator.pushNamed( + // context, '/mywallets') + : Navigator.push(context, + MaterialPageRoute(builder: (context) { + return const NoKeyChainScreen(); + })); + }), + ), + ), + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey, + blurRadius: 4.0, + offset: Offset(2.0, 2.5), + spreadRadius: 0.5) + ], + ), + ), + const SizedBox(height: 12), + const Text( + "Gérer mes\nportefeuilles", + textAlign: TextAlign.center, + style: TextStyle(color: Colors.black, fontSize: 16), + ) + ]) + ]), + ) + ]), + // bottomNavigationBar: BottomNavigationBar( + // backgroundColor: Color(0xffFFD58D), + // fixedColor: Colors.grey[850], + // unselectedItemColor: Color(0xffBD935C), + // type: BottomNavigationBarType.fixed, + // onTap: (index) { + // _homeProvider.currentIndex = index; + // }, + // currentIndex: _homeProvider.currentIndex, + // items: [ + // BottomNavigationBarItem( + // icon: Image.asset('assets/block-space-disabled.png', height: 26), + // activeIcon: Image.asset('assets/blockchain.png', height: 26), + // label: 'Explorateur', + // ), + // BottomNavigationBarItem( + // icon: Icon(Icons.lock), + // label: 'Mes portefeuilles', + // ), + // ], + // ), + ), + ), + ); } } diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index 64cb187..8980a49 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -52,14 +52,13 @@ class UnlockingWallet extends StatelessWidget { // backgroundColor: Colors.brown[600], body: SafeArea( child: Column(children: [ - const SizedBox(height: 20), Expanded( child: Column(children: [ - const SizedBox(height: 50), + SizedBox(height: isTall ? 80 : 20), Row(mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( 'assets/chests/${currentChest.imageName}', - height: 150, + height: 120 * ratio, ), const SizedBox(width: 5), SizedBox( @@ -73,7 +72,7 @@ class UnlockingWallet extends StatelessWidget { fontWeight: FontWeight.w700), )), ]), - const SizedBox(height: 50), + SizedBox(height: 30 * ratio), const SizedBox( width: 400, child: Text( @@ -83,9 +82,9 @@ class UnlockingWallet extends StatelessWidget { color: Colors.black, fontWeight: FontWeight.w400), )), - const SizedBox(height: 50), + SizedBox(height: 40 * ratio), pinForm(context, _pinLenght), - const SizedBox(height: 5), + SizedBox(height: 3 * ratio), InkWell( key: const Key('chooseChest'), onTap: () { @@ -127,7 +126,7 @@ class UnlockingWallet extends StatelessWidget { return Form( key: formKey, child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 30), + padding: EdgeInsets.symmetric(vertical: 5 * ratio, horizontal: 30), child: PinCodeTextField( autoFocus: true, appContext: context, @@ -151,7 +150,7 @@ class UnlockingWallet extends StatelessWidget { borderWidth: 4, shape: PinCodeFieldShape.box, borderRadius: BorderRadius.circular(5), - fieldHeight: 60, + fieldHeight: 50 * ratio, fieldWidth: 50, activeFillColor: hasError ? Colors.blueAccent : Colors.black, ), From 4f316c40f5839e85d16ab6352120b3962aaf12c3 Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 15 Nov 2021 21:04:06 +0100 Subject: [PATCH 16/20] Fix bad certificat for Duniter node on old Android version --- lib/main.dart | 13 +++++++++++++ lib/models/my_wallets.dart | 1 - lib/screens/myWallets/unlocking_wallet.dart | 2 +- lib/screens/myWallets/wallets_home.dart | 14 ++++++++------ pubspec.yaml | 2 +- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index e1c3f5b..ea12add 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -16,6 +16,7 @@ // ignore_for_file: avoid_print import 'dart:async'; +import 'dart:io'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/cesium_plus.dart'; @@ -103,6 +104,8 @@ Future main() async { } else { print('Debug mode enabled: No sentry alerte'); + HttpOverrides.global = MyHttpOverrides(); + runApp(Gecko(endPointGVA)); } } @@ -177,3 +180,13 @@ class Gecko extends StatelessWidget { )); } } + +// This http overriding is needed to fix fail certifcat checking for Duniter node on old Android version +class MyHttpOverrides extends HttpOverrides { + @override + HttpClient createHttpClient(SecurityContext context) { + return super.createHttpClient(context) + ..badCertificateCallback = + (X509Certificate cert, String host, int port) => true; + } +} diff --git a/lib/models/my_wallets.dart b/lib/models/my_wallets.dart index c37d994..6953108 100644 --- a/lib/models/my_wallets.dart +++ b/lib/models/my_wallets.dart @@ -133,7 +133,6 @@ class MyWalletsProvider with ChangeNotifier { await walletBox.add(newWallet); notifyListeners(); - Navigator.pop(context); } void rebuildWidget() { diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index 8980a49..0db74a0 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -58,7 +58,7 @@ class UnlockingWallet extends StatelessWidget { Row(mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( 'assets/chests/${currentChest.imageName}', - height: 120 * ratio, + height: isTall ? 130 : 100, ), const SizedBox(width: 5), SizedBox( diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index af61e18..91a0768 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -315,6 +315,11 @@ class WalletsHome extends StatelessWidget { } Widget addNewDerivation(context) { + MyWalletsProvider _myWalletProvider = + Provider.of(context); + + String _newDerivationName = + 'Portefeuille ${_myWalletProvider.listWallets.last.number + 2}'; return Padding( padding: const EdgeInsets.all(16), child: ClipRRect( @@ -323,12 +328,9 @@ class WalletsHome extends StatelessWidget { Expanded( child: InkWell( key: const Key('addDerivation'), - onTap: () { - showDialog( - context: context, - builder: (BuildContext context) { - return addNewDerivationPopup(context); - }); + onTap: () async { + await _myWalletProvider.generateNewDerivation( + context, _newDerivationName); }, child: Container( width: double.infinity, diff --git a/pubspec.yaml b/pubspec.yaml index d40ce04..02d1c66 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.2+9 +version: 0.0.2+10 environment: sdk: ">=2.7.0 <3.0.0" From 106fcf283558998e1780195860351a8d4e3c4beb Mon Sep 17 00:00:00 2001 From: poka Date: Wed, 17 Nov 2021 06:20:23 +0100 Subject: [PATCH 17/20] Implemente cesium wallet view --- lib/main.dart | 2 + lib/models/chest_data.dart | 6 + lib/models/chest_data.g.dart | 7 +- lib/models/chest_provider.dart | 53 ++ lib/models/generate_wallets.dart | 54 +- lib/models/wallet_data.dart | 14 +- lib/models/wallet_data.g.dart | 7 +- lib/models/wallet_options.dart | 66 +- lib/screens/home.dart | 9 +- .../myWallets/cesium_wallet_options.dart | 653 ++++++++---------- lib/screens/myWallets/choose_chest.dart | 61 +- lib/screens/myWallets/unlocking_wallet.dart | 21 +- lib/screens/myWallets/wallet_options.dart | 38 +- lib/screens/myWallets/wallets_home.dart | 29 +- pubspec.lock | 7 + pubspec.yaml | 2 + test_driver/app_test.dart | 78 +-- 17 files changed, 564 insertions(+), 543 deletions(-) create mode 100644 lib/models/chest_provider.dart diff --git a/lib/main.dart b/lib/main.dart index ea12add..9ad437f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,6 +22,7 @@ import 'package:gecko/globals.dart'; import 'package:gecko/models/cesium_plus.dart'; import 'package:gecko/models/change_pin.dart'; import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/chest_provider.dart'; import 'package:gecko/models/generate_wallets.dart'; import 'package:gecko/models/history.dart'; import 'package:gecko/models/home.dart'; @@ -136,6 +137,7 @@ class Gecko extends StatelessWidget { ChangeNotifierProvider(create: (_) => HomeProvider()), ChangeNotifierProvider(create: (_) => HistoryProvider('')), ChangeNotifierProvider(create: (_) => MyWalletsProvider()), + ChangeNotifierProvider(create: (_) => ChestProvider()), ChangeNotifierProvider(create: (_) => GenerateWalletsProvider()), ChangeNotifierProvider(create: (_) => WalletOptionsProvider()), ChangeNotifierProvider(create: (_) => ChangePinProvider()), diff --git a/lib/models/chest_data.dart b/lib/models/chest_data.dart index 923a385..9e01d9a 100644 --- a/lib/models/chest_data.dart +++ b/lib/models/chest_data.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:hive_flutter/hive_flutter.dart'; part 'chest_data.g.dart'; @@ -17,6 +19,9 @@ class ChestData extends HiveObject { String imageName; @HiveField(5) + File imageFile; + + @HiveField(6) bool isCesium; ChestData({ @@ -24,6 +29,7 @@ class ChestData extends HiveObject { this.name, this.defaultWallet, this.imageName, + this.imageFile, this.isCesium, }); diff --git a/lib/models/chest_data.g.dart b/lib/models/chest_data.g.dart index ca25dff..1d0be58 100644 --- a/lib/models/chest_data.g.dart +++ b/lib/models/chest_data.g.dart @@ -21,14 +21,15 @@ class ChestDataAdapter extends TypeAdapter { name: fields[2] as String, defaultWallet: fields[3] as int, imageName: fields[4] as String, - isCesium: fields[5] as bool, + imageFile: fields[5] as File, + isCesium: fields[6] as bool, ); } @override void write(BinaryWriter writer, ChestData obj) { writer - ..writeByte(5) + ..writeByte(6) ..writeByte(0) ..write(obj.dewif) ..writeByte(2) @@ -38,6 +39,8 @@ class ChestDataAdapter extends TypeAdapter { ..writeByte(4) ..write(obj.imageName) ..writeByte(5) + ..write(obj.imageFile) + ..writeByte(6) ..write(obj.isCesium); } diff --git a/lib/models/chest_provider.dart b/lib/models/chest_provider.dart new file mode 100644 index 0000000..c466e50 --- /dev/null +++ b/lib/models/chest_provider.dart @@ -0,0 +1,53 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:gecko/globals.dart'; +import 'package:gecko/models/chest_data.dart'; + +class ChestProvider with ChangeNotifier { + void rebuildWidget() { + notifyListeners(); + } + + Future deleteChest(context, ChestData _chest) async { + final bool _answer = await _confirmDeletingChest(context, _chest.name); + + if (_answer) { + chestBox.delete(_chest.key); + int lastChest = chestBox.toMap().keys.first; + configBox.put('currentChest', lastChest); + notifyListeners(); + + Navigator.popUntil( + context, + ModalRoute.withName('/'), + ); + } + } + + Future _confirmDeletingChest(context, String _walletName) async { + return showDialog( + context: context, + barrierDismissible: true, // user must tap button! + builder: (BuildContext context) { + return AlertDialog( + title: Text( + 'Êtes-vous sûr de vouloir supprimer le coffre "$_walletName" ?'), + actions: [ + TextButton( + child: const Text("Non", key: Key('cancelDeleting')), + onPressed: () { + Navigator.pop(context, false); + }, + ), + TextButton( + child: const Text("Oui", key: Key('confirmDeleting')), + onPressed: () { + Navigator.pop(context, true); + }, + ), + ], + ); + }, + ); + } +} diff --git a/lib/models/generate_wallets.dart b/lib/models/generate_wallets.dart index 3b8cec8..1266dfc 100644 --- a/lib/models/generate_wallets.dart +++ b/lib/models/generate_wallets.dart @@ -39,15 +39,14 @@ class GenerateWalletsProvider with ChangeNotifier { bool canImport = false; bool isPinChanged = false; - void storeHDWChest( + Future storeHDWChest( NewWallet _wallet, String _name, BuildContext context) async { - int chestNumber = chestBox.length; - WalletData myWallet = WalletData( - chest: chestNumber, - number: 0, - name: _name, - derivation: 3, - imageName: '0.png'); + int chestNumber = 0; + chestBox.toMap().forEach((key, value) { + if (!value.isCesium) { + chestNumber++; + } + }); String chestName; if (chestNumber == 0) { @@ -55,7 +54,6 @@ class GenerateWalletsProvider with ChangeNotifier { } else { chestName = 'Coffre à Ğecko ${chestNumber + 1}'; } - walletBox.add(myWallet); ChestData thisChest = ChestData( dewif: _wallet.dewif, name: chestName, @@ -63,8 +61,19 @@ class GenerateWalletsProvider with ChangeNotifier { imageName: '${chestNumber % 8}.png', isCesium: false, ); - chestBox.add(thisChest); - configBox.put('currentChest', chestNumber); + await chestBox.add(thisChest); + int chestKey = chestBox.keys.last; + + WalletData myWallet = WalletData( + chest: chestKey, + number: 0, + name: _name, + derivation: 3, + imageName: '0.png'); + await walletBox.add(myWallet); + + await configBox.put('currentChest', chestKey); + notifyListeners(); } void checkAskedWord(String inputWord, String _mnemo) { @@ -240,16 +249,31 @@ class GenerateWalletsProvider with ChangeNotifier { isCesiumIDVisible = false; isCesiumPWDVisible = false; + int chestNumber = 0; + chestBox.toMap().forEach((key, value) { + if (value.isCesium) { + chestNumber++; + } + }); + + String chestName; + if (chestNumber == 0) { + chestName = 'Coffre à Césium'; + } else { + chestName = 'Coffre à Césium ${chestNumber + 1}'; + } + ChestData cesiumChest = ChestData( dewif: actualWallet.dewif, - name: 'Coffre à Cesium', + name: chestName, imageName: 'cesium.png', defaultWallet: 0, isCesium: true); - int chestNumber = chestBox.length; - chestBox.add(cesiumChest); - configBox.put('currentChest', chestNumber); + await chestBox.add(cesiumChest).then((value) => null); + int chestKey = await chestBox.toMap().keys.last; + // chestBox.toMap(). + await configBox.put('currentChest', chestKey); notifyListeners(); } diff --git a/lib/models/wallet_data.dart b/lib/models/wallet_data.dart index f4ce723..20ea9ef 100644 --- a/lib/models/wallet_data.dart +++ b/lib/models/wallet_data.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:hive_flutter/hive_flutter.dart'; part 'wallet_data.g.dart'; @@ -19,8 +21,16 @@ class WalletData extends HiveObject { @HiveField(4) String imageName; + @HiveField(5) + File imageFile; + WalletData( - {this.chest, this.number, this.name, this.derivation, this.imageName}); + {this.chest, + this.number, + this.name, + this.derivation, + this.imageName, + this.imageFile}); // representation of WalletData when debugging @override @@ -34,7 +44,7 @@ class WalletData extends HiveObject { } // returns only the id part of the ':'-separated string - List id() { + List id() { return [chest, number]; } } diff --git a/lib/models/wallet_data.g.dart b/lib/models/wallet_data.g.dart index 4ef937a..3f8ee52 100644 --- a/lib/models/wallet_data.g.dart +++ b/lib/models/wallet_data.g.dart @@ -22,13 +22,14 @@ class WalletDataAdapter extends TypeAdapter { name: fields[2] as String, derivation: fields[3] as int, imageName: fields[4] as String, + imageFile: fields[5] as File, ); } @override void write(BinaryWriter writer, WalletData obj) { writer - ..writeByte(5) + ..writeByte(6) ..writeByte(0) ..write(obj.chest) ..writeByte(1) @@ -38,7 +39,9 @@ class WalletDataAdapter extends TypeAdapter { ..writeByte(3) ..write(obj.derivation) ..writeByte(4) - ..write(obj.imageName); + ..write(obj.imageName) + ..writeByte(5) + ..write(obj.imageFile); } @override diff --git a/lib/models/wallet_options.dart b/lib/models/wallet_options.dart index fcabefa..68a55be 100644 --- a/lib/models/wallet_options.dart +++ b/lib/models/wallet_options.dart @@ -8,6 +8,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/chest_data.dart'; import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/wallet_data.dart'; import 'package:image_picker/image_picker.dart'; @@ -24,7 +25,6 @@ class WalletOptionsProvider with ChangeNotifier { bool isBalanceBlur = true; FocusNode walletNameFocus = FocusNode(); TextEditingController nameController = TextEditingController(); - List walletID; bool isDefaultWallet; Future get badWallet => null; @@ -125,63 +125,28 @@ class WalletOptionsProvider with ChangeNotifier { return _pinLenght; } - void _renameWallet(List _walletID, _newName) async { - MyWalletsProvider myWalletClass = MyWalletsProvider(); + void _renameWallet(List _walletID, _newName, {bool isCesium}) async { + if (isCesium) { + ChestData _chestTarget = chestBox.get(_walletID[0]); + _chestTarget.name = _newName; + await chestBox.put(_chestTarget.key, _chestTarget); + } else { + MyWalletsProvider myWalletClass = MyWalletsProvider(); - WalletData _walletTarget = myWalletClass.getWalletData(_walletID); - _walletTarget.name = _newName; - await walletBox.put(_walletTarget.key, _walletTarget); + WalletData _walletTarget = myWalletClass.getWalletData(_walletID); + _walletTarget.name = _newName; + await walletBox.put(_walletTarget.key, _walletTarget); + } _newWalletName.text = ''; } - Future renameWalletAlerte( - context, _walletName, _walletNbr, _derivation) async { - return showDialog( - context: context, - barrierDismissible: true, - builder: (BuildContext context) { - return AlertDialog( - title: const Text('Choisissez un nouveau nom pour ce portefeuille'), - content: SingleChildScrollView( - child: ListBody( - children: [ - TextField( - controller: _newWalletName, - maxLines: 1, - textAlign: TextAlign.center, - decoration: const InputDecoration(), - style: const TextStyle( - fontSize: 14.0, - color: Colors.black, - fontWeight: FontWeight.bold)), - ], - ), - ), - actions: [ - TextButton( - child: const Text("Valider"), - onPressed: () { - WidgetsBinding.instance.addPostFrameCallback((_) async { - // await _renameWallet(_walletName, this._newWalletName.text, - // _walletNbr, _derivation); - }); - // notifyListeners(); - Navigator.pop(context, true); - }, - ), - ], - ); - }, - ); - } - - bool editWalletName(List _wID) { + bool editWalletName(List _wID, {bool isCesium}) { bool nameState; if (isEditing) { if (!nameController.text.contains(':') && nameController.text.length <= 39) { - _renameWallet(_wID, nameController.text); + _renameWallet(_wID, nameController.text, isCesium: isCesium); nameState = true; } else { nameState = false; @@ -281,10 +246,11 @@ class WalletOptionsProvider with ChangeNotifier { File _image; final picker = ImagePicker(); - final pickedFile = await picker.pickImage(source: ImageSource.gallery); + XFile pickedFile = await picker.pickImage(source: ImageSource.gallery); if (pickedFile != null) { _image = File(pickedFile.path); + log.i(pickedFile.path); return _image; } else { log.w('No image selected.'); diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 2e4d392..7130569 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -1,5 +1,6 @@ import 'package:dubp/dubp.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/chest_provider.dart'; import 'package:gecko/models/history.dart'; import 'package:gecko/models/home.dart'; import 'package:flutter/material.dart'; @@ -23,10 +24,9 @@ class HomeScreen extends StatelessWidget { HistoryProvider _historyStatic = HistoryProvider(''); MyWalletsProvider _myWalletProvider = Provider.of(context); - final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); + Provider.of(context); - WalletData defaultWallet = - _myWalletProvider.getDefaultWallet(configBox.get('currentChest')); + final bool isWalletsExists = _myWalletProvider.checkIfWalletExist(); // walletBox.toMap().forEach((key, value) { // if (value.chest == 0) { @@ -281,6 +281,9 @@ class HomeScreen extends StatelessWidget { image: AssetImage('assets/lock.png'), height: 57)), onTap: () { + WalletData defaultWallet = + _myWalletProvider.getDefaultWallet( + configBox.get('currentChest')); isWalletsExists ? Navigator.push(context, MaterialPageRoute(builder: (context) { diff --git a/lib/screens/myWallets/cesium_wallet_options.dart b/lib/screens/myWallets/cesium_wallet_options.dart index 3a976a9..4e48b47 100644 --- a/lib/screens/myWallets/cesium_wallet_options.dart +++ b/lib/screens/myWallets/cesium_wallet_options.dart @@ -1,399 +1,310 @@ +import 'dart:io'; import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:gecko/models/chest_provider.dart'; import 'package:gecko/models/history.dart'; -import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/queries.dart'; -import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/models/wallet_options.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; -// ignore: must_be_immutable -class CesiumWalletOptions extends StatelessWidget { - CesiumWalletOptions({Key keyMyWallets, @required this.cesiumWallet}) - : super(key: keyMyWallets); - WalletData cesiumWallet; - int _nbrLinesName = 1; - bool _isNewNameValid = false; +int _nbrLinesName = 1; +bool _isNewNameValid = false; - @override - Widget build(BuildContext context) { - SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - WalletOptionsProvider _walletOptions = - Provider.of(context); - MyWalletsProvider _myWalletProvider = - Provider.of(context); - HistoryProvider _historyProvider = Provider.of(context); +Widget cesiumWalletOptions(BuildContext context, ChestData cesiumWallet) { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + WalletOptionsProvider _walletOptions = + Provider.of(context); + ChestProvider _chestProvider = Provider.of(context); + HistoryProvider _historyProvider = Provider.of(context); - final int _currentChest = _myWalletProvider.getCurrentChest(); - final String shortPubkey = - _walletOptions.getShortPubkey(_walletOptions.pubkey.text); + final String shortPubkey = + _walletOptions.getShortPubkey(_walletOptions.pubkey.text); - if (_walletOptions.nameController.text == null || - _isNewNameValid == false) { - _walletOptions.nameController.text = cesiumWallet.name; - } else { - cesiumWallet.name = _walletOptions.nameController.text; - } + if (_walletOptions.nameController.text == null || _isNewNameValid == false) { + _walletOptions.nameController.text = cesiumWallet.name; + } else { + cesiumWallet.name = _walletOptions.nameController.text; + } - _walletOptions.nameController.text.length >= 15 - ? _nbrLinesName = 2 - : _nbrLinesName = 1; - if (_walletOptions.nameController.text.length >= 26 && isTall) { - _nbrLinesName = 3; - } + _walletOptions.nameController.text.length >= 15 + ? _nbrLinesName = 2 + : _nbrLinesName = 1; + if (_walletOptions.nameController.text.length >= 26 && isTall) { + _nbrLinesName = 3; + } - _walletOptions.walletID = [0, cesiumWallet.number]; - - WalletData defaultWallet = - _myWalletProvider.getDefaultWallet(_currentChest); - - _walletOptions.isDefaultWallet = - (defaultWallet.number == _walletOptions.walletID[1]); - - int currentChest = _myWalletProvider.getCurrentChest(); - - log.d("Wallet options: $currentChest:${cesiumWallet.number}"); - - return WillPopScope( - onWillPop: () { - _walletOptions.isEditing = false; - _walletOptions.isBalanceBlur = true; - Navigator.popUntil( - context, - ModalRoute.withName('/mywallets'), - ); - return Future.value(true); - }, - child: Scaffold( - resizeToAvoidBottomInset: false, - appBar: AppBar( - toolbarHeight: 60 * ratio, - leading: IconButton( - icon: const Icon(Icons.arrow_back, color: Colors.black), - onPressed: () { - _walletOptions.isEditing = false; - _walletOptions.isBalanceBlur = true; - Navigator.popUntil( - context, - ModalRoute.withName('/mywallets'), - ); - }), - title: SizedBox( - height: 22, - child: Text(_walletOptions.nameController.text), + return Scaffold( + resizeToAvoidBottomInset: false, + body: Builder( + builder: (ctx) => SafeArea( + child: Column(children: [ + Container( + height: isTall ? 30 : 15, + color: yellowC, + ), + Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + yellowC, + const Color(0xfffafafa), + ], )), - body: Builder( - builder: (ctx) => SafeArea( - child: Column(children: [ - Container( - height: isTall ? 15 : 0, - color: yellowC, + child: Row(children: [ + const SizedBox(width: 25), + InkWell( + onTap: () async { + File newAvatar = await _walletOptions.changeAvatar(); + if (newAvatar != null) { + cesiumWallet.imageFile = newAvatar; + } + _walletOptions.reloadBuild(); + }, + child: cesiumWallet.imageFile == null + ? Image.asset( + 'assets/chests/${cesiumWallet.imageName}', + width: 110, + ) + : Image.file(cesiumWallet.imageFile, width: 110), ), - Container( - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topCenter, - end: Alignment.bottomCenter, - colors: [ - yellowC, - const Color(0xfffafafa), - ], - )), - child: Row(children: [ - const SizedBox(width: 25), + InkWell( + onTap: () async { + File newAvatar = await _walletOptions.changeAvatar(); + if (newAvatar != null) { + cesiumWallet.imageFile = newAvatar; + } + _walletOptions.reloadBuild(); + }, + child: Column(children: [ + Image.asset( + 'assets/walletOptions/camera.png', + ), + const SizedBox(height: 100) + ])), + Column(children: [ + Row(children: [ + Column(children: [ + SizedBox( + width: 260, + child: TextField( + key: const Key('walletName'), + autofocus: false, + focusNode: _walletOptions.walletNameFocus, + enabled: _walletOptions.isEditing, + controller: _walletOptions.nameController, + maxLines: _nbrLinesName, + textAlign: TextAlign.center, + decoration: const InputDecoration( + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.all(15.0), + ), + style: TextStyle( + fontSize: isTall ? 27 : 23, + color: Colors.black, + fontWeight: FontWeight.w400, + fontFamily: 'Monospace')), + ), + SizedBox(height: isTall ? 5 : 0), + Query( + options: QueryOptions( + document: gql(getBalance), + variables: { + 'pubkey': _walletOptions.pubkey.text, + }, + // pollInterval: Duration(seconds: 1), + ), + builder: (QueryResult result, + {VoidCallback refetch, FetchMore fetchMore}) { + if (result.hasException) { + return Text(result.exception.toString()); + } + + if (result.isLoading) { + return const Text('Loading'); + } + + // List repositories = result.data['viewer']['repositories']['nodes']; + String wBalanceUD; + if (result.data['balance'] == null) { + wBalanceUD = '0.0'; + } else { + int wBalanceG1 = result.data['balance']['amount']; + int currentUD = result.data['currentUd']['amount']; + double wBalanceUDBrut = + wBalanceG1 / currentUD; // .toString(); + wBalanceUD = double.parse( + (wBalanceUDBrut).toStringAsFixed(2)) + .toString(); + } + return Row(children: [ + ImageFiltered( + imageFilter: ImageFilter.blur( + sigmaX: _walletOptions.isBalanceBlur ? 6 : 0, + sigmaY: _walletOptions.isBalanceBlur ? 5 : 0), + child: Text(wBalanceUD, + style: TextStyle( + fontSize: isTall ? 20 : 18, + color: Colors.black)), + ), + Text(' DU', + style: TextStyle( + fontSize: isTall ? 20 : 18, + color: Colors.black)) + ]); + + // Text( + // '$wBalanceUD DU', + // style: TextStyle( + // fontSize: 20, color: Colors.black), + // ); + }, + ), + const SizedBox(height: 5), InkWell( - onTap: () async { - await _walletOptions.changeAvatar(); + key: const Key('displayBalance'), + onTap: () { + _walletOptions.bluringBalance(); }, child: Image.asset( - 'assets/avatars/${cesiumWallet.imageName}', - width: 110, + _walletOptions.isBalanceBlur + ? 'assets/walletOptions/icon_oeuil.png' + : 'assets/walletOptions/icon_oeuil_close.png', )), + ]), + const SizedBox(width: 0), + Column(children: [ InkWell( + key: const Key('renameWallet'), onTap: () async { - await _walletOptions.changeAvatar(); + _isNewNameValid = _walletOptions.editWalletName( + [cesiumWallet.key, 0], + isCesium: cesiumWallet.isCesium); + await Future.delayed( + const Duration(milliseconds: 30)); + _walletOptions.walletNameFocus.requestFocus(); }, - child: Column(children: [ - Image.asset( - 'assets/walletOptions/camera.png', - ), - const SizedBox(height: 100) - ])), - Column(children: [ - Row(children: [ - Column(children: [ - SizedBox( - width: 260, - child: TextField( - key: const Key('walletName'), - autofocus: false, - focusNode: _walletOptions.walletNameFocus, - enabled: _walletOptions.isEditing, - controller: _walletOptions.nameController, - maxLines: _nbrLinesName, - textAlign: TextAlign.center, - decoration: const InputDecoration( - border: InputBorder.none, - focusedBorder: InputBorder.none, - enabledBorder: InputBorder.none, - disabledBorder: InputBorder.none, - contentPadding: EdgeInsets.all(15.0), - ), - style: TextStyle( - fontSize: isTall ? 27 : 23, - color: Colors.black, - fontWeight: FontWeight.w400, - fontFamily: 'Monospace')), - ), - SizedBox(height: isTall ? 5 : 0), - Query( - options: QueryOptions( - document: gql(getBalance), - variables: { - 'pubkey': _walletOptions.pubkey.text, - }, - // pollInterval: Duration(seconds: 1), + child: ClipRRect( + child: Image.asset( + _walletOptions.isEditing + ? 'assets/walletOptions/android-checkmark.png' + : 'assets/walletOptions/edit.png', + width: 20, + height: 20), + )), + const SizedBox( + height: 60, + ) + ]) + ]), + ]), + ])), + SizedBox(height: 4 * ratio), + FutureBuilder( + future: _walletOptions.generateQRcode(_walletOptions.pubkey.text), + builder: (context, snapshot) { + return snapshot.data != null + ? Image.memory(snapshot.data, height: isTall ? 300 : 270) + : const Text('-', style: TextStyle(fontSize: 20)); + }), + SizedBox(height: 15 * ratio), + GestureDetector( + key: const Key('copyPubkey'), + onTap: () { + Clipboard.setData( + ClipboardData(text: _walletOptions.pubkey.text)); + _walletOptions.snackCopyKey(ctx); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + const SizedBox(width: 30), + Image.asset( + 'assets/walletOptions/key.png', + ), + const SizedBox(width: 10), + Text("${shortPubkey.split(':')[0]}:", + style: const TextStyle( + fontSize: 22, + fontWeight: FontWeight.w800, + fontFamily: 'Monospace', + color: Colors.black)), + Text(shortPubkey.split(':')[1], + style: const TextStyle( + fontSize: 22, + fontWeight: FontWeight.w800, + fontFamily: 'Monospace')), + const SizedBox(width: 15), + SizedBox( + height: 40, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), ), - builder: (QueryResult result, - {VoidCallback refetch, FetchMore fetchMore}) { - if (result.hasException) { - return Text(result.exception.toString()); - } - - if (result.isLoading) { - return const Text('Loading'); - } - - // List repositories = result.data['viewer']['repositories']['nodes']; - String wBalanceUD; - if (result.data['balance'] == null) { - wBalanceUD = '0.0'; - } else { - int wBalanceG1 = - result.data['balance']['amount']; - int currentUD = - result.data['currentUd']['amount']; - double wBalanceUDBrut = - wBalanceG1 / currentUD; // .toString(); - wBalanceUD = double.parse( - (wBalanceUDBrut).toStringAsFixed(2)) - .toString(); - } - return Row(children: [ - ImageFiltered( - imageFilter: ImageFilter.blur( - sigmaX: _walletOptions.isBalanceBlur - ? 6 - : 0, - sigmaY: _walletOptions.isBalanceBlur - ? 5 - : 0), - child: Text(wBalanceUD, - style: TextStyle( - fontSize: isTall ? 20 : 18, - color: Colors.black)), - ), - Text(' DU', - style: TextStyle( - fontSize: isTall ? 20 : 18, - color: Colors.black)) - ]); - - // Text( - // '$wBalanceUD DU', - // style: TextStyle( - // fontSize: 20, color: Colors.black), - // ); - }, + elevation: 1, + primary: orangeC, // background + onPrimary: Colors.black, // foreground ), - const SizedBox(height: 5), - InkWell( - key: const Key('displayBalance'), - onTap: () { - _walletOptions.bluringBalance(); - }, - child: Image.asset( - _walletOptions.isBalanceBlur - ? 'assets/walletOptions/icon_oeuil.png' - : 'assets/walletOptions/icon_oeuil_close.png', - )), - ]), - const SizedBox(width: 0), - Column(children: [ - InkWell( - key: const Key('renameWallet'), - onTap: () async { - _isNewNameValid = _walletOptions - .editWalletName(_walletOptions.walletID); - await Future.delayed( - const Duration(milliseconds: 30)); - _walletOptions.walletNameFocus.requestFocus(); - }, - child: ClipRRect( - child: Image.asset( - _walletOptions.isEditing - ? 'assets/walletOptions/android-checkmark.png' - : 'assets/walletOptions/edit.png', - width: 20, - height: 20), - )), - const SizedBox( - height: 60, - ) - ]) - ]), - ]), - ])), - SizedBox(height: 4 * ratio), - FutureBuilder( - future: _walletOptions - .generateQRcode(_walletOptions.pubkey.text), - builder: (context, snapshot) { - return snapshot.data != null - ? Image.memory(snapshot.data, - height: isTall ? 300 : 270) - : const Text('-', style: TextStyle(fontSize: 20)); - }), - SizedBox(height: 15 * ratio), - GestureDetector( - key: const Key('copyPubkey'), - onTap: () { - Clipboard.setData( - ClipboardData(text: _walletOptions.pubkey.text)); - _walletOptions.snackCopyKey(ctx); - }, - child: SizedBox( - height: 50, - child: Row(children: [ - const SizedBox(width: 30), - Image.asset( - 'assets/walletOptions/key.png', - ), - const SizedBox(width: 10), - Text("${shortPubkey.split(':')[0]}:", - style: const TextStyle( - fontSize: 22, - fontWeight: FontWeight.w800, - fontFamily: 'Monospace', - color: Colors.black)), - Text(shortPubkey.split(':')[1], - style: const TextStyle( - fontSize: 22, - fontWeight: FontWeight.w800, - fontFamily: 'Monospace')), - const SizedBox(width: 15), - SizedBox( - height: 40, - child: ElevatedButton( - style: ElevatedButton.styleFrom( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8), - ), - elevation: 1, - primary: orangeC, // background - onPrimary: Colors.black, // foreground - ), - onPressed: () { - Clipboard.setData(ClipboardData( - text: _walletOptions.pubkey.text)); - _walletOptions.snackCopyKey(ctx); - }, - child: Row(children: [ - Image.asset( - 'assets/walletOptions/copy-white.png', - ), - const SizedBox(width: 7), - Text('Copier', - style: TextStyle( - fontSize: 15, - color: Colors.grey[50])) - ]))), - ]))), - SizedBox(height: 10 * ratio), - InkWell( - key: const Key('displayHistory'), - onTap: () { - _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text, - goHistory: true); - }, - child: SizedBox( - height: 50, - child: Row(children: [ - const SizedBox(width: 30), - Image.asset( - 'assets/walletOptions/clock.png', - ), - const SizedBox(width: 12), - const Text('Historique des transactions', - style: - TextStyle(fontSize: 20, color: Colors.black)), - ]))), - SizedBox(height: 12 * ratio), - InkWell( - key: const Key('setDefaultWallet'), - onTap: !_walletOptions.isDefaultWallet - ? () { - defaultWallet = cesiumWallet; - chestBox.get(currentChest).defaultWallet = - cesiumWallet.number; - _myWalletProvider.readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); - } - : null, - child: SizedBox( - height: 50, - child: Row(children: [ - const SizedBox(width: 31), - CircleAvatar( - backgroundColor: Colors.grey[ - _walletOptions.isDefaultWallet ? 300 : 500], - child: Image.asset( - 'assets/walletOptions/android-checkmark.png', - )), - const SizedBox(width: 12), - Text( - _walletOptions.isDefaultWallet - ? 'Ce portefeuille est celui par defaut' - : 'Définir comme portefeuille par défaut', - style: TextStyle( - fontSize: 20, - color: _walletOptions.isDefaultWallet - ? Colors.grey[500] - : Colors.black)), - ]))), - SizedBox(height: 17 * ratio), - if (!_walletOptions.isDefaultWallet) - InkWell( - key: const Key('deleteWallet'), - onTap: !_walletOptions.isDefaultWallet - ? () async { - await _walletOptions.deleteWallet( - context, cesiumWallet); - WidgetsBinding.instance.addPostFrameCallback((_) { - _myWalletProvider.listWallets = - _myWalletProvider - .readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); - }); - } - : null, - child: Row(children: [ - const SizedBox(width: 33), - Image.asset( - 'assets/walletOptions/trash.png', - ), - const SizedBox(width: 14), - const Text('Supprimer ce portefeuille', - style: TextStyle( - fontSize: 20, color: Color(0xffD80000))), - ])), - ]), - ), - ), - )); - } + onPressed: () { + Clipboard.setData(ClipboardData( + text: _walletOptions.pubkey.text)); + _walletOptions.snackCopyKey(ctx); + }, + child: Row(children: [ + Image.asset( + 'assets/walletOptions/copy-white.png', + ), + const SizedBox(width: 7), + Text('Copier', + style: TextStyle( + fontSize: 15, color: Colors.grey[50])) + ]))), + ]))), + SizedBox(height: 10 * ratio), + InkWell( + key: const Key('displayHistory'), + onTap: () { + _historyProvider.isPubkey(ctx, _walletOptions.pubkey.text, + goHistory: true); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + const SizedBox(width: 30), + Image.asset( + 'assets/walletOptions/clock.png', + ), + const SizedBox(width: 12), + const Text('Historique des transactions', + style: TextStyle(fontSize: 20, color: Colors.black)), + ]))), + SizedBox(height: 12 * ratio), + InkWell( + key: const Key('deleteWallet'), + onTap: () async { + await _chestProvider.deleteChest(context, cesiumWallet); + }, + child: Row(children: [ + const SizedBox(width: 33), + Image.asset( + 'assets/walletOptions/trash.png', + ), + const SizedBox(width: 14), + const Text('Supprimer ce coffre', + style: TextStyle(fontSize: 20, color: Color(0xffD80000))), + ])), + ]), + ), + ), + ); } diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart index c6d78a7..d24e37e 100644 --- a/lib/screens/myWallets/choose_chest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -45,7 +45,7 @@ class _ChooseChestState extends State { options: CarouselOptions( height: 210, onPageChanged: (index, reason) { - currentChest = index; + currentChest = chestBox.toMap().keys.toList()[index]; setState(() {}); }, enableInfiniteScroll: false, @@ -57,10 +57,15 @@ class _ChooseChestState extends State { return Builder( builder: (BuildContext context) { return Column(children: [ - Image.asset( - 'assets/chests/${i.value.imageName}', - height: 150, - ), + i.value.imageFile == null + ? Image.asset( + 'assets/chests/${i.value.imageName}', + height: 150, + ) + : Image.file( + i.value.imageFile, + height: 150, + ), const SizedBox(height: 30), Text( i.value.name, @@ -71,28 +76,30 @@ class _ChooseChestState extends State { ); }).toList(), ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: chestBox.toMap().entries.map((entry) { - return GestureDetector( - onTap: () => - buttonCarouselController.animateToPage(entry.key), - child: Container( - width: 12.0, - height: 12.0, - margin: const EdgeInsets.symmetric( - vertical: 8.0, horizontal: 4.0), - decoration: BoxDecoration( - shape: BoxShape.circle, - color: (Theme.of(context).brightness == Brightness.dark - ? Colors.white - : Colors.black) - .withOpacity( - currentChest == entry.key ? 0.9 : 0.4)), - ), - ); - }).toList(), - ), + if (chestBox.values.toList().length > 1) + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: chestBox.toMap().entries.map((entry) { + return GestureDetector( + onTap: () => + buttonCarouselController.animateToPage(entry.key), + child: Container( + width: 12.0, + height: 12.0, + margin: const EdgeInsets.symmetric( + vertical: 8.0, horizontal: 4.0), + decoration: BoxDecoration( + shape: BoxShape.circle, + color: + (Theme.of(context).brightness == Brightness.dark + ? Colors.white + : Colors.black) + .withOpacity( + currentChest == entry.key ? 0.9 : 0.4)), + ), + ); + }).toList(), + ), SizedBox(height: 80 * ratio), SizedBox( width: 400, diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart index 0db74a0..65c1b5f 100644 --- a/lib/screens/myWallets/unlocking_wallet.dart +++ b/lib/screens/myWallets/unlocking_wallet.dart @@ -23,7 +23,6 @@ class UnlockingWallet extends StatelessWidget { // ignore: close_sinks StreamController errorController; final formKey = GlobalKey(); - bool hasError = false; var pinColor = const Color(0xffF9F9F1); var walletPin = ''; String resultPay; @@ -56,10 +55,15 @@ class UnlockingWallet extends StatelessWidget { child: Column(children: [ SizedBox(height: isTall ? 80 : 20), Row(mainAxisAlignment: MainAxisAlignment.center, children: [ - Image.asset( - 'assets/chests/${currentChest.imageName}', - height: isTall ? 130 : 100, - ), + currentChest.imageFile == null + ? Image.asset( + 'assets/chests/${currentChest.imageName}', + width: isTall ? 130 : 100, + ) + : Image.file( + currentChest.imageFile, + width: isTall ? 130 : 100, + ), const SizedBox(width: 5), SizedBox( width: 250, @@ -123,11 +127,14 @@ class UnlockingWallet extends StatelessWidget { Provider.of(context); HistoryProvider _historyProvider = Provider.of(context); + FocusNode pinFocus = FocusNode(); + return Form( key: formKey, child: Padding( padding: EdgeInsets.symmetric(vertical: 5 * ratio, horizontal: 30), child: PinCodeTextField( + focusNode: pinFocus, autoFocus: true, appContext: context, pastedTextStyle: TextStyle( @@ -152,7 +159,7 @@ class UnlockingWallet extends StatelessWidget { borderRadius: BorderRadius.circular(5), fieldHeight: 50 * ratio, fieldWidth: 50, - activeFillColor: hasError ? Colors.blueAccent : Colors.black, + activeFillColor: Colors.black, ), cursorColor: Colors.black, animationDuration: const Duration(milliseconds: 300), @@ -180,9 +187,9 @@ class UnlockingWallet extends StatelessWidget { if (resultWallet == 'bad') { errorController.add(ErrorAnimationType .shake); // Triggering error shake animation - hasError = true; pinColor = Colors.red[600]; _walletOptions.reloadBuild(); + pinFocus.requestFocus(); } else { pinColor = Colors.green[400]; // await Future.delayed(Duration(milliseconds: 50)); diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index 0097057..fc1dc99 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -1,3 +1,4 @@ +import 'dart:io'; import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -46,13 +47,10 @@ class WalletOptions extends StatelessWidget { _nbrLinesName = 3; } - _walletOptions.walletID = [0, wallet.number]; - WalletData defaultWallet = _myWalletProvider.getDefaultWallet(_currentChest); - _walletOptions.isDefaultWallet = - (defaultWallet.number == _walletOptions.walletID[1]); + _walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]); int currentChest = _myWalletProvider.getCurrentChest(); @@ -107,15 +105,30 @@ class WalletOptions extends StatelessWidget { const SizedBox(width: 25), InkWell( onTap: () async { - await _walletOptions.changeAvatar(); + File newAvatar = + await _walletOptions.changeAvatar(); + if (newAvatar != null) { + wallet.imageFile = newAvatar; + } + _walletOptions.reloadBuild(); }, - child: Image.asset( - 'assets/avatars/${wallet.imageName}', - width: 110, - )), + child: wallet.imageFile == null + ? Image.asset( + 'assets/avatars/${wallet.imageName}', + width: 110, + ) + : Image.file( + wallet.imageFile, + width: 110, + )), InkWell( onTap: () async { - await _walletOptions.changeAvatar(); + File newAvatar = + await _walletOptions.changeAvatar(); + if (newAvatar != null) { + wallet.imageFile = newAvatar; + } + _walletOptions.reloadBuild(); }, child: Column(children: [ Image.asset( @@ -227,8 +240,9 @@ class WalletOptions extends StatelessWidget { InkWell( key: const Key('renameWallet'), onTap: () async { - _isNewNameValid = _walletOptions - .editWalletName(_walletOptions.walletID); + _isNewNameValid = + _walletOptions.editWalletName(wallet.id(), + isCesium: false); await Future.delayed( const Duration(milliseconds: 30)); _walletOptions.walletNameFocus.requestFocus(); diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index 91a0768..453382e 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -7,6 +7,7 @@ import 'package:gecko/models/wallet_data.dart'; import 'package:gecko/models/wallet_options.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/common_elements.dart'; +import 'package:gecko/screens/myWallets/cesium_wallet_options.dart'; import 'package:gecko/screens/myWallets/choose_chest.dart'; import 'package:gecko/screens/myWallets/wallet_options.dart'; import 'package:gecko/screens/onBoarding/0_no_keychain_found.dart'; @@ -62,18 +63,18 @@ class WalletsHome extends StatelessWidget { child: !isWalletsExists ? const NoKeyChainScreen() : _currentChest.isCesium - ? cesiumWalletOptions(context) + ? cesiumWalletOptions(context, _currentChest) : myWalletsTiles(context), ), ), ); } - Widget cesiumWalletOptions(BuildContext context) { - return Column(children: const [ - Center(child: Text('This is a Cesium wallet')), - ]); - } + // Widget cesiumWalletOptions(BuildContext context) { + // return Column(children: const [ + // Center(child: Text('This is a Cesium wallet')), + // ]); + // } Widget chestOptions(BuildContext context) { return Column(children: [ @@ -214,11 +215,17 @@ class WalletsHome extends StatelessWidget { child: // SvgPicture.asset('assets/chopp-gecko2.png', // semanticsLabel: 'Gecko', height: 48), - Image.asset( - 'assets/avatars/${_repository.imageName}', - alignment: Alignment.bottomCenter, - scale: 0.5, - ), + _repository.imageFile == null + ? Image.asset( + 'assets/avatars/${_repository.imageName}', + alignment: Alignment.bottomCenter, + scale: 0.5, + ) + : Image.file( + _repository.imageFile, + alignment: Alignment.bottomCenter, + scale: 0.5, + ), )), // balanceBuilder(context, _walletOptions.pubkey.text), ListTile( diff --git a/pubspec.lock b/pubspec.lock index 97d22f2..49c04fe 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -176,6 +176,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.15.0" + confirm_dialog: + dependency: "direct main" + description: + name: confirm_dialog + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" connectivity_plus: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 02d1c66..df55520 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -56,6 +56,7 @@ dependencies: assorted_layout_widgets: ^5.2.1 carousel_slider: ^4.0.0 flutter_lints: ^1.0.4 + confirm_dialog: ^1.0.0 flutter_icons: android: "ic_launcher" @@ -79,6 +80,7 @@ flutter: - images/ - config/gva_endpoints.json - assets/ + - assets/customs/ - assets/avatars/ - assets/chests/ - assets/icon/ diff --git a/test_driver/app_test.dart b/test_driver/app_test.dart index 72a15f9..09de003 100644 --- a/test_driver/app_test.dart +++ b/test_driver/app_test.dart @@ -1,8 +1,8 @@ -// Imports the Flutter Driver API. +// ignore_for_file: avoid_print + import 'dart:async'; import 'dart:io'; import 'package:flutter_driver/flutter_driver.dart'; -import 'package:gecko/globals.dart'; import 'package:test/test.dart'; // import 'package:flutter/services.dart'; @@ -71,13 +71,8 @@ void main() { } // Create a derivation - Future createDerivation(String _name) async { + Future createDerivation() async { await tapOn('addDerivation'); - await sleep(100); - - await driver.enterText(_name); - - await tapOn('validDerivation'); await sleep(300); } @@ -109,7 +104,7 @@ void main() { await sleep(300); await tapOn('generateKeychain'); while (await getText('generatedPin') == '') { - log.i('Waiting for pin code generation...'); + print('Waiting for pin code generation...'); await sleep(100); } pinCode = await getText('generatedPin'); @@ -172,7 +167,7 @@ void main() { await tapOn('goStep7'); while (await getText('word1') == '...') { - log.i('Waiting for Mnemonic generation...'); + print('Waiting for Mnemonic generation...'); await sleep(100); } @@ -226,7 +221,7 @@ void main() { await tapOn('goStep11'); while (await getText('generatedPin') == '') { - log.i('Waiting for pin code generation...'); + print('Waiting for pin code generation...'); await sleep(100); } @@ -258,7 +253,7 @@ void main() { {timeout = const Duration(seconds: 2)}) async { await tapOn('goWalletHome'); - expect(await getText('myWallets'), "Mes portefeuilles"); + expect(await getText('myWallets'), "Coffre à Ğecko"); await sleep(300); // Go to first derivation and rename it @@ -281,10 +276,10 @@ void main() { {timeout = const Duration(seconds: 2)}) async { await driver.waitFor(find.text('Renommage wallet 1'), timeout: timeout); // Add a second derivation - await createDerivation('Derivation 2'); + await createDerivation(); // Go to second derivation options - await driver.tap(find.text('Derivation 2')); + await driver.tap(find.text('Portefeuille 2')); await sleep(100); // Test options @@ -305,14 +300,14 @@ void main() { await goBack(); // Add a third derivation - await createDerivation('Derivation 3'); + await createDerivation(); // Add a fourth derivation - await createDerivation('Derivation 4'); + await createDerivation(); await sleep(50); // Go to third derivation options - await driver.tap(find.text('Derivation 3')); + await driver.tap(find.text('Portefeuille 3')); await sleep(100); await tapOn('displayBalance'); @@ -323,10 +318,10 @@ void main() { test('My wallets - Extra tests', ( {timeout = const Duration(seconds: 2)}) async { // Add derivation 5,6 and 7 - await driver.waitFor(find.text('Derivation 4'), timeout: timeout); - await createDerivation('Derivation 5'); - await createDerivation('Derivation 6'); - await createDerivation('Derivation 7'); + await driver.waitFor(find.text('Portefeuille 4'), timeout: timeout); + await createDerivation(); + await createDerivation(); + await createDerivation(); // Go home and come back to my wallets view await goBack(); @@ -338,12 +333,12 @@ void main() { await sleep(200); // Go to derivation 6 and delete it - await driver.tap(find.text('Derivation 6')); + await driver.tap(find.text('Portefeuille 6')); await sleep(100); await deleteWallet(true); // Go to 2nd derivation and check if it's de default - await driver.tap(find.text('Derivation 2')); + await driver.tap(find.text('Portefeuille 2')); await driver.waitFor(find.text('Ce portefeuille est celui par defaut')); await tapOn('setDefaultWallet'); await sleep(100); @@ -369,43 +364,44 @@ void main() { await sleep(400); await goBack(); await driver.waitFor(find.text('Renommage wallet 2')); - await createDerivation('Derivation 8'); await driver.scrollIntoView(find.text('+')); - await createDerivation('Derivation 9'); - await createDerivation('Derivation 10'); + await createDerivation(); + await createDerivation(); await driver.scrollIntoView(find.text('+')); - await createDerivation('Derivation 11'); - await createDerivation('Derivation 12'); + await createDerivation(); + await createDerivation(); await driver.scrollIntoView(find.text('+')); - await createDerivation('Derivation 13'); - await createDerivation('Derivation 14'); + await createDerivation(); + await createDerivation(); await driver.scrollIntoView(find.text('+')); - await createDerivation('Derivation 15'); - await createDerivation('Derivation 16'); + await createDerivation(); + await createDerivation(); await driver.scrollIntoView(find.text('+')); - await createDerivation('Derivation 17'); - await createDerivation('Derivation 18'); + await createDerivation(); + await createDerivation(); await driver.scrollIntoView(find.text('+')); - await createDerivation('Derivation 19'); - await createDerivation('Derivation 20'); + await createDerivation(); + await createDerivation(); + await driver.scrollIntoView(find.text('+')); + await createDerivation(); await sleep(400); // Scroll the wallet screen until Derivation 20 and open it await driver.scrollUntilVisible( find.byValueKey('listWallets'), - find.text('Derivation 20'), + find.text('Portefeuille 20'), dyScroll: -300.0, ); - await driver.waitFor(find.text('Derivation 20')); + await driver.waitFor(find.text('Portefeuille 20')); await sleep(400); - await driver.tap(find.text('Derivation 20')); + await driver.tap(find.text('Portefeuille 20')); await tapOn('copyPubkey'); }); test('Search - Search Pi profile, navigate in history transactions', ( {timeout = const Duration(seconds: 2)}) async { - await driver.waitFor(find.text('Derivation 20'), timeout: timeout); + await driver.waitFor(find.text('Portefeuille 20'), timeout: timeout); await goBack(); await goBack(); await sleep(200); @@ -448,7 +444,7 @@ void main() { await sleep(200); await driver.enterText(pincode); await sleep(100); - await createDerivation('Derivation 2'); + await createDerivation(); await sleep(100); await driver.tap(find.text('Fast wallet')); await driver.waitFor(find.text('Fast wallet')); From dfbab5a219cf4bd9a68293185b62d7ece6469c66 Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 18 Nov 2021 02:37:46 +0100 Subject: [PATCH 18/20] Can change pin code of Cesium chest --- assets/chests/secret_code.png | Bin 0 -> 6765 bytes lib/models/change_pin.dart | 22 +++-- lib/models/chest_provider.dart | 12 ++- lib/screens/home.dart | 2 +- .../myWallets/cesium_wallet_options.dart | 68 ++++++++++--- lib/screens/myWallets/change_pin.dart | 90 ++++++++++-------- lib/screens/myWallets/wallets_home.dart | 3 +- packages/dubp_rs/pubspec.lock | 10 +- pubspec.yaml | 2 +- 9 files changed, 134 insertions(+), 75 deletions(-) create mode 100755 assets/chests/secret_code.png diff --git a/assets/chests/secret_code.png b/assets/chests/secret_code.png new file mode 100755 index 0000000000000000000000000000000000000000..10ef999edbde1ee10c2b680667db3849947799a3 GIT binary patch literal 6765 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 P00000NkvXXu0mjfeAdhT literal 0 HcmV?d00001 diff --git a/lib/models/change_pin.dart b/lib/models/change_pin.dart index b65e74c..cb31cca 100644 --- a/lib/models/change_pin.dart +++ b/lib/models/change_pin.dart @@ -3,24 +3,24 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; -import 'package:gecko/models/chest_data.dart'; class ChangePinProvider with ChangeNotifier { bool ischangedPin = false; TextEditingController newPin = TextEditingController(); + String pinToGive; Future get badWallet => null; - Future changePin(_name, _oldPin) async { + Future changePin(String _oldPin) async { try { final _dewif = chestBox.get(configBox.get('currentChest')).dewif; NewWallet newWalletFile = await DubpRust.changeDewifPin( dewif: _dewif, - oldPin: _oldPin, + oldPin: _oldPin.toUpperCase(), ); - newPin.text = newWalletFile.pin; + newPin.text = pinToGive = newWalletFile.pin; ischangedPin = true; notifyListeners(); return newWalletFile; @@ -30,12 +30,14 @@ class ChangePinProvider with ChangeNotifier { } } - Future storeNewPinChest(context, NewWallet _newWalletFile) async { - ChestData currentChest = chestBox.getAt(configBox.get('currentChest')); - currentChest.dewif = _newWalletFile.dewif; - // currentChest.name = _name; - chestBox.add(currentChest); + void storeNewPinChest(context, NewWallet _newWalletFile) { + // ChestData currentChest = chestBox.getAt(configBox.get('currentChest')); + // currentChest.dewif = _newWalletFile.dewif; + // await chestBox.add(currentChest); - Navigator.pop(context); + chestBox.get(configBox.get('currentChest')).dewif = _newWalletFile.dewif; + + Navigator.pop(context, pinToGive); + pinToGive = ''; } } diff --git a/lib/models/chest_provider.dart b/lib/models/chest_provider.dart index c466e50..748315b 100644 --- a/lib/models/chest_provider.dart +++ b/lib/models/chest_provider.dart @@ -12,15 +12,19 @@ class ChestProvider with ChangeNotifier { final bool _answer = await _confirmDeletingChest(context, _chest.name); if (_answer) { - chestBox.delete(_chest.key); - int lastChest = chestBox.toMap().keys.first; - configBox.put('currentChest', lastChest); - notifyListeners(); + await chestBox.delete(_chest.key); + if (chestBox.isEmpty) { + await configBox.put('currentChest', 0); + } else { + int lastChest = chestBox.toMap().keys.first; + await configBox.put('currentChest', lastChest); + } Navigator.popUntil( context, ModalRoute.withName('/'), ); + notifyListeners(); } } diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 7130569..f305064 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -174,7 +174,7 @@ class HomeScreen extends StatelessWidget { ]), ), Padding( - padding: EdgeInsets.only(top: isTall ? 70 : 60), + padding: EdgeInsets.only(top: isTall ? 100 : 60), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ diff --git a/lib/screens/myWallets/cesium_wallet_options.dart b/lib/screens/myWallets/cesium_wallet_options.dart index 4e48b47..1d8854d 100644 --- a/lib/screens/myWallets/cesium_wallet_options.dart +++ b/lib/screens/myWallets/cesium_wallet_options.dart @@ -6,8 +6,10 @@ import 'package:gecko/globals.dart'; import 'package:gecko/models/chest_data.dart'; import 'package:gecko/models/chest_provider.dart'; import 'package:gecko/models/history.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/queries.dart'; import 'package:gecko/models/wallet_options.dart'; +import 'package:gecko/screens/myWallets/change_pin.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; @@ -15,11 +17,13 @@ import 'package:flutter/services.dart'; int _nbrLinesName = 1; bool _isNewNameValid = false; -Widget cesiumWalletOptions(BuildContext context, ChestData cesiumWallet) { +Widget cesiumWalletOptions(BuildContext context, ChestData cesiumWallet, + MyWalletsProvider _myWalletProvider) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); WalletOptionsProvider _walletOptions = Provider.of(context); - ChestProvider _chestProvider = Provider.of(context); + ChestProvider _chestProvider = + Provider.of(context, listen: false); HistoryProvider _historyProvider = Provider.of(context); final String shortPubkey = @@ -231,7 +235,7 @@ Widget cesiumWalletOptions(BuildContext context, ChestData cesiumWallet) { Image.asset( 'assets/walletOptions/key.png', ), - const SizedBox(width: 10), + const SizedBox(width: 20), Text("${shortPubkey.split(':')[0]}:", style: const TextStyle( fontSize: 22, @@ -284,25 +288,63 @@ Widget cesiumWalletOptions(BuildContext context, ChestData cesiumWallet) { Image.asset( 'assets/walletOptions/clock.png', ), - const SizedBox(width: 12), + const SizedBox(width: 22), const Text('Historique des transactions', style: TextStyle(fontSize: 20, color: Colors.black)), ]))), - SizedBox(height: 12 * ratio), + SizedBox(height: 7 * ratio), InkWell( - key: const Key('deleteWallet'), - onTap: () async { - await _chestProvider.deleteChest(context, cesiumWallet); - }, + key: const Key('changePin'), + onTap: () async { + // await _chestProvider.changePin(context, cesiumWallet); + _myWalletProvider.pinCode = await Navigator.push( + context, + MaterialPageRoute( + builder: (context) { + return ChangePinScreen( + walletName: cesiumWallet.name, + walletProvider: _myWalletProvider, + ); + }, + ), + ); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + const SizedBox(width: 28), + Image.asset( + 'assets/chests/secret_code.png', + ), + const SizedBox(width: 18), + const Text('Changer mon code secret', + style: TextStyle(fontSize: 20, color: Colors.black)), + ])), + ), + SizedBox(height: 7 * ratio), + InkWell( + key: const Key('deleteWallet'), + onTap: () async { + await _chestProvider.deleteChest(context, cesiumWallet); + }, + child: SizedBox( + height: 50, child: Row(children: [ const SizedBox(width: 33), Image.asset( 'assets/walletOptions/trash.png', ), - const SizedBox(width: 14), - const Text('Supprimer ce coffre', - style: TextStyle(fontSize: 20, color: Color(0xffD80000))), - ])), + const SizedBox(width: 25), + const Text( + 'Supprimer ce coffre', + style: TextStyle( + fontSize: 20, + color: Color(0xffD80000), + ), + ), + ]), + ), + ), ]), ), ), diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart index 477e25c..25ba873 100644 --- a/lib/screens/myWallets/change_pin.dart +++ b/lib/screens/myWallets/change_pin.dart @@ -4,16 +4,19 @@ import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/change_pin.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'dart:io'; import 'package:provider/provider.dart'; // ignore: must_be_immutable class ChangePinScreen extends StatelessWidget with ChangeNotifier { ChangePinScreen( - {Key keyMyWallets, @required this.walletName, @required this.oldPin}) + {Key keyMyWallets, + @required this.walletName, + @required this.walletProvider}) : super(key: keyMyWallets); final String walletName; - final String oldPin; + final MyWalletsProvider walletProvider; Directory appPath; NewWallet _newWalletFile; @@ -24,27 +27,27 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { // _walletOptions.changePin(walletName, oldPin); // _walletOptions.newPin.text = _tmpPin; return WillPopScope( - onWillPop: () { - _changePin.newPin.text = ''; - return Future.value(true); - }, - child: Scaffold( - resizeToAvoidBottomInset: false, - appBar: AppBar( - toolbarHeight: 60 * ratio, - leading: IconButton( - icon: const Icon(Icons.arrow_back, color: Colors.black), - onPressed: () { - _changePin.newPin.text = ''; - Navigator.of(context).pop(); - }), - title: SizedBox( - height: 22, - child: Text(walletName), - )), - body: Center( - child: SafeArea( - child: Column(children: [ + onWillPop: () { + _changePin.newPin.text = ''; + return Future.value(true); + }, + child: Scaffold( + resizeToAvoidBottomInset: false, + appBar: AppBar( + toolbarHeight: 60 * ratio, + leading: IconButton( + icon: const Icon(Icons.arrow_back, color: Colors.black), + onPressed: () { + _changePin.newPin.text = ''; + Navigator.of(context).pop(); + }), + title: SizedBox( + height: 22, + child: Text(walletName), + )), + body: Center( + child: SafeArea( + child: Column(children: [ const SizedBox(height: 80), Text( 'Choisissez un code secret autogénéré :', @@ -59,7 +62,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { alignment: Alignment.centerRight, children: [ TextField( - enabled: true, + enabled: false, controller: _changePin.newPin, maxLines: 1, textAlign: TextAlign.center, @@ -73,7 +76,7 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { color: orangeC, onPressed: () async { _newWalletFile = - await _changePin.changePin(walletName, oldPin); + await _changePin.changePin(walletProvider.pinCode); }, ), ], @@ -83,21 +86,28 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier { width: 200, height: 50, child: ElevatedButton( - style: ElevatedButton.styleFrom( - elevation: 12, - primary: Colors.green[400], //smoothYellow, // background - onPrimary: Colors.black, // foreground - ), - onPressed: _changePin.newPin.text != '' - ? () { - _changePin.newPin.text = ''; - _changePin.storeNewPinChest( - context, _newWalletFile); - } - : null, - child: const Text('Confirmer', - style: TextStyle(fontSize: 28))), + style: ElevatedButton.styleFrom( + elevation: 12, + primary: Colors.green[400], //smoothYellow, // background + onPrimary: Colors.black, // foreground + ), + onPressed: _changePin.newPin.text != '' + ? () { + _changePin.newPin.text = ''; + _changePin.storeNewPinChest(context, _newWalletFile); + walletProvider.pinCode = _changePin.newPin.text; + } + : null, + child: const Text( + 'Confirmer', + style: TextStyle(fontSize: 28), + ), + ), ) - ]))))); + ]), + ), + ), + ), + ); } } diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index 453382e..26af3ba 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -63,7 +63,8 @@ class WalletsHome extends StatelessWidget { child: !isWalletsExists ? const NoKeyChainScreen() : _currentChest.isCesium - ? cesiumWalletOptions(context, _currentChest) + ? cesiumWalletOptions( + context, _currentChest, myWalletProvider) : myWalletsTiles(context), ), ), diff --git a/packages/dubp_rs/pubspec.lock b/packages/dubp_rs/pubspec.lock index 98f9562..e6f0b3d 100644 --- a/packages/dubp_rs/pubspec.lock +++ b/packages/dubp_rs/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.8.1" boolean_selector: dependency: transitive description: @@ -28,7 +28,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.1" clock: dependency: transitive description: @@ -108,7 +108,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.7.0" path: dependency: transitive description: @@ -127,7 +127,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" stack_trace: dependency: transitive description: @@ -169,7 +169,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.2.19" + version: "0.4.2" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index df55520..7de7c38 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.2+10 +version: 0.0.2+11 environment: sdk: ">=2.7.0 <3.0.0" From f36529819c3daec2b37587b20c0df3f0f9a11aab Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 18 Nov 2021 04:41:45 +0100 Subject: [PATCH 19/20] Add chest options for standart chests: Can change pin code and delete chest --- lib/screens/myWallets/chest_options.dart | 102 ++++++++++++++++++++ lib/screens/myWallets/choose_chest.dart | 7 +- lib/screens/myWallets/generate_wallets.dart | 22 ++++- lib/screens/myWallets/wallet_options.dart | 8 +- lib/screens/myWallets/wallets_home.dart | 13 ++- lib/screens/settings.dart | 6 +- 6 files changed, 140 insertions(+), 18 deletions(-) create mode 100644 lib/screens/myWallets/chest_options.dart diff --git a/lib/screens/myWallets/chest_options.dart b/lib/screens/myWallets/chest_options.dart new file mode 100644 index 0000000..dfae9b7 --- /dev/null +++ b/lib/screens/myWallets/chest_options.dart @@ -0,0 +1,102 @@ +import 'dart:ui'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:gecko/globals.dart'; +import 'package:gecko/models/chest_data.dart'; +import 'package:flutter/services.dart'; +import 'package:gecko/models/chest_provider.dart'; +import 'package:gecko/models/my_wallets.dart'; +import 'package:gecko/screens/myWallets/change_pin.dart'; +import 'package:provider/provider.dart'; + +class ChestOptions extends StatelessWidget { + const ChestOptions({Key keyMyWallets, @required this.walletProvider}) + : super(key: keyMyWallets); + final MyWalletsProvider walletProvider; + + @override + Widget build(BuildContext context) { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + ChestProvider _chestProvider = + Provider.of(context, listen: false); + + ChestData currentChest = chestBox.get(configBox.get('currentChest')); + + return Scaffold( + resizeToAvoidBottomInset: false, + appBar: AppBar( + toolbarHeight: 60 * ratio, + leading: IconButton( + icon: const Icon(Icons.arrow_back, color: Colors.black), + onPressed: () { + Navigator.popUntil( + context, + ModalRoute.withName('/mywallets'), + ); + }), + title: SizedBox( + height: 22, + child: Text(currentChest.name), + )), + body: Builder( + builder: (ctx) => SafeArea( + child: Column(children: [ + SizedBox(height: 30 * ratio), + InkWell( + key: const Key('changePin'), + onTap: () async { + // await _chestProvider.changePin(context, cesiumWallet); + walletProvider.pinCode = await Navigator.push( + context, + MaterialPageRoute( + builder: (context) { + return ChangePinScreen( + walletName: currentChest.name, + walletProvider: walletProvider, + ); + }, + ), + ); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + const SizedBox(width: 28), + Image.asset( + 'assets/chests/secret_code.png', + ), + const SizedBox(width: 18), + const Text('Changer mon code secret', + style: TextStyle(fontSize: 20, color: Colors.black)), + ])), + ), + SizedBox(height: 10 * ratio), + InkWell( + key: const Key('deleteChest'), + onTap: () async { + await _chestProvider.deleteChest(context, currentChest); + }, + child: SizedBox( + height: 50, + child: Row(children: [ + const SizedBox(width: 33), + Image.asset( + 'assets/walletOptions/trash.png', + ), + const SizedBox(width: 24), + const Text( + 'Supprimer ce coffre', + style: TextStyle( + fontSize: 20, + color: Color(0xffD80000), + ), + ), + ]), + ), + ), + ]), + ), + ), + ); + } +} diff --git a/lib/screens/myWallets/choose_chest.dart b/lib/screens/myWallets/choose_chest.dart index d24e37e..6377d2e 100644 --- a/lib/screens/myWallets/choose_chest.dart +++ b/lib/screens/myWallets/choose_chest.dart @@ -2,10 +2,9 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/models/wallet_data.dart'; -import 'package:gecko/screens/common_elements.dart'; import 'package:flutter/material.dart'; +import 'package:gecko/screens/myWallets/generate_wallets.dart'; import 'package:gecko/screens/myWallets/unlocking_wallet.dart'; -import 'package:gecko/screens/onBoarding/1.dart'; import 'package:carousel_slider/carousel_slider.dart'; import 'package:provider/provider.dart'; @@ -137,7 +136,9 @@ class _ChooseChestState extends State { onTap: () { Navigator.push( context, - FaderTransition(page: OnboardingStepOne(), isFast: false), + MaterialPageRoute(builder: (context) { + return GenerateFastChestScreen(); + }), ); }, child: SizedBox( diff --git a/lib/screens/myWallets/generate_wallets.dart b/lib/screens/myWallets/generate_wallets.dart index a4d851e..b85fdba 100644 --- a/lib/screens/myWallets/generate_wallets.dart +++ b/lib/screens/myWallets/generate_wallets.dart @@ -1,14 +1,16 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/generate_wallets.dart'; +import 'package:gecko/models/my_wallets.dart'; import 'package:gecko/screens/myWallets/confirm_wallet_storage.dart'; import 'package:flutter/material.dart'; +import 'package:gecko/screens/myWallets/unlocking_wallet.dart'; import 'package:printing/printing.dart'; import 'package:provider/provider.dart'; import 'package:super_tooltip/super_tooltip.dart'; // ignore: must_be_immutable -class GenerateWalletsScreen extends StatelessWidget { +class GenerateFastChestScreen extends StatelessWidget { SuperTooltip tooltip; bool hasError = false; String validPin = 'NO PIN'; @@ -18,7 +20,7 @@ class GenerateWalletsScreen extends StatelessWidget { final GlobalKey _toolTipSentence = GlobalKey(); final GlobalKey _toolTipSecret = GlobalKey(); - GenerateWalletsScreen({Key key}) : super(key: key); + GenerateFastChestScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -27,6 +29,8 @@ class GenerateWalletsScreen extends StatelessWidget { Provider.of(context); _generateWalletProvider.generateMnemonic(); + MyWalletsProvider _myWalletClass = MyWalletsProvider(); + return Scaffold( appBar: AppBar( toolbarHeight: 60 * ratio, @@ -102,10 +106,10 @@ class GenerateWalletsScreen extends StatelessWidget { onPrimary: Colors.black, // foreground ), onPressed: _generateWalletProvider.walletIsGenerated - ? () { + ? () async { _generateWalletProvider.nbrWord = _generateWalletProvider.getRandomInt(); - Navigator.push( + await Navigator.push( context, MaterialPageRoute(builder: (context) { return ConfirmStoreWallet( @@ -116,6 +120,16 @@ class GenerateWalletsScreen extends StatelessWidget { .actualWallet); }), ); + await Future.delayed( + const Duration(milliseconds: 20)); + await Navigator.pushAndRemoveUntil(context, + MaterialPageRoute(builder: (context) { + return UnlockingWallet( + wallet: _myWalletClass.getDefaultWallet( + configBox.get('currentChest')), + action: "mywallets", + ); + }), ModalRoute.withName('/')); } : null, child: const Text('Enregistrer ce trousseau', diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index fc1dc99..1e0ca91 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -287,7 +287,7 @@ class WalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/key.png', ), - const SizedBox(width: 10), + const SizedBox(width: 20), Text("${shortPubkey.split(':')[0]}:", style: const TextStyle( fontSize: 22, @@ -341,7 +341,7 @@ class WalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/clock.png', ), - const SizedBox(width: 12), + const SizedBox(width: 22), const Text('Historique des transactions', style: TextStyle(fontSize: 20, color: Colors.black)), @@ -368,7 +368,7 @@ class WalletOptions extends StatelessWidget { child: Image.asset( 'assets/walletOptions/android-checkmark.png', )), - const SizedBox(width: 12), + const SizedBox(width: 22), Text( _walletOptions.isDefaultWallet ? 'Ce portefeuille est celui par defaut' @@ -400,7 +400,7 @@ class WalletOptions extends StatelessWidget { Image.asset( 'assets/walletOptions/trash.png', ), - const SizedBox(width: 14), + const SizedBox(width: 24), const Text('Supprimer ce portefeuille', style: TextStyle( fontSize: 20, color: Color(0xffD80000))), diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index 26af3ba..c323c1e 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -8,6 +8,7 @@ import 'package:gecko/models/wallet_options.dart'; import 'package:flutter/material.dart'; import 'package:gecko/screens/common_elements.dart'; import 'package:gecko/screens/myWallets/cesium_wallet_options.dart'; +import 'package:gecko/screens/myWallets/chest_options.dart'; import 'package:gecko/screens/myWallets/choose_chest.dart'; import 'package:gecko/screens/myWallets/wallet_options.dart'; import 'package:gecko/screens/onBoarding/0_no_keychain_found.dart'; @@ -77,7 +78,8 @@ class WalletsHome extends StatelessWidget { // ]); // } - Widget chestOptions(BuildContext context) { + Widget chestOptions( + BuildContext context, MyWalletsProvider _myWalletProvider) { return Column(children: [ const SizedBox(height: 50), SizedBox( @@ -92,7 +94,12 @@ class WalletsHome extends StatelessWidget { primary: floattingYellow, // background onPrimary: Colors.black, // foreground ), - onPressed: () => null, + onPressed: () => Navigator.push( + context, + MaterialPageRoute(builder: (context) { + return ChestOptions(walletProvider: _myWalletProvider); + }), + ), label: const Text( " Paramétrer ce coffre", style: TextStyle( @@ -286,7 +293,7 @@ class WalletsHome extends StatelessWidget { // )) ]), // SliverToBoxAdapter(child: Spacer()), - SliverToBoxAdapter(child: chestOptions(context)), + SliverToBoxAdapter(child: chestOptions(context, _myWalletProvider)), ]); } diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 8551d09..9494df2 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -74,11 +74,9 @@ class SettingsScreen extends StatelessWidget { onPressed: () => Navigator.push( context, MaterialPageRoute(builder: (context) { - return GenerateWalletsScreen(); + return GenerateFastChestScreen(); }), - ).then((value) => { - if (value == true) {Navigator.pop(context)} - }), + ), child: const Text("Générer un nouveau trousseau", style: TextStyle(fontSize: 16)))), Expanded( From 8cef9be7fe187482204cf3f4416cdab9f4abc8a2 Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 18 Nov 2021 05:00:03 +0100 Subject: [PATCH 20/20] Fix integration testy --- lib/main.dart | 2 ++ test_driver/app_test.dart | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 9ad437f..d53b367 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -41,10 +41,12 @@ import 'package:flutter/foundation.dart'; import 'package:responsive_framework/responsive_framework.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; +import 'package:flutter_driver/driver_extension.dart'; const bool enableSentry = true; Future main() async { + enableFlutterDriverExtension(); WidgetsFlutterBinding.ensureInitialized(); HomeProvider _homeProvider = HomeProvider(); diff --git a/test_driver/app_test.dart b/test_driver/app_test.dart index 09de003..e9f4c76 100644 --- a/test_driver/app_test.dart +++ b/test_driver/app_test.dart @@ -113,6 +113,7 @@ void main() { await driver.enterText('triche'); await tapOn('walletName'); await driver.enterText(name); + await sleep(50); await tapOn('confirmStorage'); await sleep(300); return pinCode; @@ -439,8 +440,6 @@ void main() { await deleteAllWallets(); await sleep(100); final String pincode = await createNewKeychain('Fast wallet'); - await sleep(100); - await tapOn('manageWallets'); await sleep(200); await driver.enterText(pincode); await sleep(100);