Add optionnal bottomAppBar
This commit is contained in:
parent
459b3f0c29
commit
79e0773820
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
|
@ -7,10 +7,16 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
import 'dart:async';
|
||||
import 'package:gecko/globals.dart';
|
||||
import 'package:gecko/models/wallet_data.dart';
|
||||
import 'package:gecko/providers/my_wallets.dart';
|
||||
import 'package:gecko/providers/wallets_profiles.dart';
|
||||
import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
|
||||
import 'package:gecko/screens/search.dart';
|
||||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
import 'package:path_provider/path_provider.dart' as pp;
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class HomeProvider with ChangeNotifier {
|
||||
bool? isSearching;
|
||||
|
@ -20,9 +26,6 @@ class HomeProvider with ChangeNotifier {
|
|||
Widget appBarExplorer =
|
||||
Text('Explorateur', style: TextStyle(color: Colors.grey[850]));
|
||||
|
||||
bool isFirstBuild = true;
|
||||
// AudioCache player = AudioCache(prefix: 'sounds/');
|
||||
|
||||
Future<void> initHive() async {
|
||||
late Directory hivePath;
|
||||
|
||||
|
@ -132,6 +135,165 @@ class HomeProvider with ChangeNotifier {
|
|||
// volume: volume, mode: PlayerMode.LOW_LATENCY, stayAwake: false);
|
||||
// }
|
||||
|
||||
Widget bottomAppBar(BuildContext context, int index) {
|
||||
MyWalletsProvider _myWalletProvider =
|
||||
Provider.of<MyWalletsProvider>(context, listen: false);
|
||||
WalletsProfilesProvider _historyProvider =
|
||||
Provider.of<WalletsProfilesProvider>(context, listen: false);
|
||||
|
||||
const bool _showBottomBar = true;
|
||||
|
||||
return Visibility(
|
||||
visible: _showBottomBar,
|
||||
child: Container(
|
||||
color: yellowC,
|
||||
width: double.infinity,
|
||||
height: 80,
|
||||
child: Expanded(
|
||||
child: Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: [
|
||||
const Spacer(flex: 1),
|
||||
IconButton(
|
||||
iconSize: 50,
|
||||
icon: const Image(image: AssetImage('assets/loupe-noire.png')),
|
||||
onPressed: () {
|
||||
Navigator.popUntil(
|
||||
context,
|
||||
ModalRoute.withName('/'),
|
||||
);
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) {
|
||||
return const SearchScreen();
|
||||
}),
|
||||
);
|
||||
},
|
||||
),
|
||||
// SizedBox(width: 0),
|
||||
const Spacer(flex: 2),
|
||||
IconButton(
|
||||
iconSize: 60,
|
||||
icon: const Image(
|
||||
image: AssetImage('assets/qrcode-scan.png'), height: 50),
|
||||
onPressed: () async {
|
||||
Navigator.popUntil(
|
||||
context,
|
||||
ModalRoute.withName('/'),
|
||||
);
|
||||
await _historyProvider.scan(context);
|
||||
},
|
||||
),
|
||||
const Spacer(flex: 2),
|
||||
IconButton(
|
||||
iconSize: 60,
|
||||
icon: const Image(image: AssetImage('assets/wallet.png')),
|
||||
onPressed: () {
|
||||
WalletData? defaultWallet =
|
||||
_myWalletProvider.getDefaultWallet();
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) {
|
||||
return UnlockingWallet(
|
||||
wallet: defaultWallet,
|
||||
action: "mywallets",
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
const Spacer(flex: 1),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
// BottomAppBar bottomAppBar(BuildContext context, int index) {
|
||||
// MyWalletsProvider _myWalletProvider =
|
||||
// Provider.of<MyWalletsProvider>(context, listen: false);
|
||||
|
||||
// return BottomAppBar(
|
||||
// color: yellowC,
|
||||
// notchMargin: 0, //not
|
||||
// child: SizedBox(
|
||||
// height: 70,
|
||||
// child: Row(
|
||||
// children: [
|
||||
// const Spacer(flex: 1),
|
||||
// IconButton(
|
||||
// iconSize: 50,
|
||||
// icon: const Image(image: AssetImage('assets/loupe-noire.png')),
|
||||
// onPressed: () {
|
||||
// Navigator.popUntil(
|
||||
// context,
|
||||
// ModalRoute.withName('/'),
|
||||
// );
|
||||
// Navigator.push(
|
||||
// context,
|
||||
// MaterialPageRoute(builder: (context) {
|
||||
// return const SearchScreen();
|
||||
// }),
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// const Spacer(flex: 4),
|
||||
// IconButton(
|
||||
// iconSize: 60,
|
||||
// icon: const Image(image: AssetImage('assets/wallet.png')),
|
||||
// onPressed: () {
|
||||
// WalletData? defaultWallet =
|
||||
// _myWalletProvider.getDefaultWallet();
|
||||
// Navigator.push(
|
||||
// context,
|
||||
// MaterialPageRoute(
|
||||
// builder: (context) {
|
||||
// return UnlockingWallet(
|
||||
// wallet: defaultWallet,
|
||||
// action: "mywallets",
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
// const Spacer(flex: 1),
|
||||
// ],
|
||||
// )),
|
||||
// );
|
||||
// }
|
||||
|
||||
// Widget floatingAction(BuildContext context, index) {
|
||||
// WalletsProfilesProvider _historyProvider =
|
||||
// Provider.of<WalletsProfilesProvider>(context, listen: false);
|
||||
// return SizedBox(
|
||||
// height: 90,
|
||||
// width: 90,
|
||||
// child: FittedBox(
|
||||
// child: FloatingActionButton(
|
||||
// // shape: const RoundedRectangleBorder(
|
||||
// // borderRadius: BorderRadius.all(Radius.elliptical(150, 100)),
|
||||
// // ),
|
||||
// backgroundColor: yellowC,
|
||||
// elevation: 0,
|
||||
// onPressed: () async {
|
||||
// Navigator.popUntil(
|
||||
// context,
|
||||
// ModalRoute.withName('/'),
|
||||
// );
|
||||
// await _historyProvider.scan(context);
|
||||
// },
|
||||
// child: const Image(
|
||||
// image: AssetImage('assets/qrcode-scan.png'),
|
||||
// height: 35), //icon inside button
|
||||
// ),
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
|
||||
void handleSearchEnd() {
|
||||
searchIcon = Icon(
|
||||
Icons.search,
|
||||
|
|
|
@ -94,6 +94,7 @@ class HomeScreen extends StatelessWidget {
|
|||
],
|
||||
),
|
||||
),
|
||||
// bottomNavigationBar: _homeProvider.bottomBar(context, 1),
|
||||
backgroundColor: const Color(0xffF9F9F1),
|
||||
body: Builder(
|
||||
builder: (ctx) => StatefulWrapper(
|
||||
|
|
|
@ -3,6 +3,7 @@ import 'package:gecko/globals.dart';
|
|||
import 'package:gecko/models/chest_data.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:gecko/providers/chest_provider.dart';
|
||||
import 'package:gecko/providers/home.dart';
|
||||
import 'package:gecko/providers/my_wallets.dart';
|
||||
import 'package:gecko/screens/myWallets/change_pin.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
@ -17,6 +18,8 @@ class ChestOptions extends StatelessWidget {
|
|||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
ChestProvider _chestProvider =
|
||||
Provider.of<ChestProvider>(context, listen: false);
|
||||
HomeProvider _homeProvider =
|
||||
Provider.of<HomeProvider>(context, listen: false);
|
||||
|
||||
ChestData currentChest = chestBox.get(configBox.get('currentChest'))!;
|
||||
|
||||
|
@ -37,6 +40,7 @@ class ChestOptions extends StatelessWidget {
|
|||
height: 22,
|
||||
child: Text(currentChest.name!),
|
||||
)),
|
||||
bottomNavigationBar: _homeProvider.bottomAppBar(context, 2),
|
||||
body: Builder(
|
||||
builder: (ctx) => SafeArea(
|
||||
child: Column(children: <Widget>[
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'dart:async';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:gecko/globals.dart';
|
||||
import 'package:gecko/models/chest_data.dart';
|
||||
import 'package:gecko/providers/home.dart';
|
||||
import 'package:gecko/providers/my_wallets.dart';
|
||||
import 'package:gecko/models/wallet_data.dart';
|
||||
import 'package:gecko/providers/substrate_sdk.dart';
|
||||
|
@ -26,6 +27,8 @@ class WalletOptions extends StatelessWidget {
|
|||
Provider.of<WalletsProfilesProvider>(context, listen: false);
|
||||
MyWalletsProvider _myWalletProvider =
|
||||
Provider.of<MyWalletsProvider>(context);
|
||||
HomeProvider _homeProvider =
|
||||
Provider.of<HomeProvider>(context, listen: false);
|
||||
|
||||
log.d(_walletOptions.address.text);
|
||||
|
||||
|
@ -62,6 +65,7 @@ class WalletOptions extends StatelessWidget {
|
|||
}),
|
||||
),
|
||||
),
|
||||
bottomNavigationBar: _homeProvider.bottomAppBar(context, 2),
|
||||
body: Builder(
|
||||
builder: (ctx) => SafeArea(
|
||||
child: Column(children: <Widget>[
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/services.dart';
|
||||
import 'package:gecko/globals.dart';
|
||||
import 'package:gecko/models/chest_data.dart';
|
||||
import 'package:gecko/providers/home.dart';
|
||||
import 'package:gecko/providers/my_wallets.dart';
|
||||
import 'package:gecko/models/queries.dart';
|
||||
import 'package:gecko/models/wallet_data.dart';
|
||||
|
@ -21,6 +22,8 @@ class WalletsHome extends StatelessWidget {
|
|||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
MyWalletsProvider myWalletProvider =
|
||||
Provider.of<MyWalletsProvider>(context);
|
||||
HomeProvider _homeProvider =
|
||||
Provider.of<HomeProvider>(context, listen: false);
|
||||
|
||||
final int? _currentChestNumber = myWalletProvider.getCurrentChest();
|
||||
final ChestData _currentChest = chestBox.get(_currentChestNumber)!;
|
||||
|
@ -53,6 +56,7 @@ class WalletsHome extends StatelessWidget {
|
|||
style: TextStyle(color: Colors.grey[850])),
|
||||
backgroundColor: const Color(0xffFFD58D),
|
||||
),
|
||||
bottomNavigationBar: _homeProvider.bottomAppBar(context, 2),
|
||||
body: SafeArea(
|
||||
child: myWalletsTiles(context, _currentChestNumber!),
|
||||
),
|
||||
|
@ -154,8 +158,7 @@ class WalletsHome extends StatelessWidget {
|
|||
}
|
||||
|
||||
List _listWallets = _myWalletProvider.listWallets;
|
||||
WalletData? defaultWallet =
|
||||
_myWalletProvider.getDefaultWallet();
|
||||
WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
|
||||
final double screenWidth = MediaQuery.of(context).size.width;
|
||||
int nTule = 2;
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ class SearchScreen extends StatelessWidget {
|
|||
SearchProvider _searchProvider = Provider.of<SearchProvider>(context);
|
||||
final double screenHeight = MediaQuery.of(context).size.height;
|
||||
|
||||
|
||||
return WillPopScope(
|
||||
onWillPop: () {
|
||||
_searchProvider.searchController.text = '';
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/services.dart';
|
|||
import 'package:gecko/globals.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gecko/providers/cesium_plus.dart';
|
||||
import 'package:gecko/providers/home.dart';
|
||||
import 'package:gecko/providers/substrate_sdk.dart';
|
||||
import 'package:gecko/providers/wallet_options.dart';
|
||||
import 'package:gecko/providers/my_wallets.dart';
|
||||
|
@ -30,6 +31,8 @@ class WalletViewScreen extends StatelessWidget {
|
|||
Provider.of<CesiumPlusProvider>(context, listen: false);
|
||||
_walletViewProvider.pubkey = pubkey!;
|
||||
SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
|
||||
HomeProvider _homeProvider =
|
||||
Provider.of<HomeProvider>(context, listen: false);
|
||||
|
||||
MyWalletsProvider _myWalletProvider =
|
||||
Provider.of<MyWalletsProvider>(context, listen: false);
|
||||
|
@ -46,11 +49,14 @@ class WalletViewScreen extends StatelessWidget {
|
|||
child: Text('Voir un portefeuille'),
|
||||
),
|
||||
),
|
||||
bottomNavigationBar: _homeProvider.bottomAppBar(context, 1),
|
||||
// floatingActionButton: _homeProvider.floatingAction(context, 1),
|
||||
// floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
|
||||
body: SafeArea(
|
||||
child: Column(children: <Widget>[
|
||||
headerProfileView(
|
||||
context, _walletViewProvider, _cesiumPlusProvider),
|
||||
SizedBox(height: isTall ? 120 : 70),
|
||||
SizedBox(height: isTall ? 50 : 20),
|
||||
Row(mainAxisAlignment: MainAxisAlignment.spaceAround, children: [
|
||||
Column(children: <Widget>[
|
||||
SizedBox(
|
||||
|
@ -233,7 +239,7 @@ class WalletViewScreen extends StatelessWidget {
|
|||
style: TextStyle(
|
||||
fontSize: buttonFontSize, fontWeight: FontWeight.w500),
|
||||
),
|
||||
SizedBox(height: isTall ? 120 : 70)
|
||||
SizedBox(height: isTall ? 50 : 20)
|
||||
]),
|
||||
));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue