enh: improve routes to safe home

This commit is contained in:
poka 2023-11-24 22:48:24 +01:00
parent db5358ace8
commit 6d16b99cbf
5 changed files with 25 additions and 33 deletions

View File

@ -166,9 +166,9 @@ class Gecko extends StatelessWidget {
colorScheme:
ColorScheme.fromSwatch().copyWith(secondary: Colors.grey[850]),
),
home: const HomeScreen(),
initialRoute: "/",
routes: {
'/': (context) => const HomeScreen(),
'/mywallets': (context) => const WalletsHome(),
'/search': (context) => const SearchScreen(),
'/searchResult': (context) => const SearchResultScreen(),

View File

@ -10,7 +10,6 @@ import 'package:flutter/material.dart';
import 'package:gecko/screens/myWallets/restore_chest.dart';
import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:gecko/screens/myWallets/wallets_home.dart';
import 'package:gecko/screens/onBoarding/5.dart';
import 'package:provider/provider.dart';
@ -132,12 +131,7 @@ class _ChooseChestState extends State<ChooseChest> {
ModalRoute.withName('/'),
);
if (myWalletProvider.pinCode != '') {
Navigator.push(
context,
MaterialPageRoute(builder: (context) {
return const WalletsHome();
}),
);
Navigator.pushNamed(context, '/mywallets');
}
},
child: Text(

View File

@ -137,12 +137,6 @@ class _CustomDerivationState extends State<CustomDerivation> {
}
Navigator.pop(context);
Navigator.pop(context);
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) {
// return const WalletsHome();
// }),
// );
}
},
child: Text(

View File

@ -1,5 +1,7 @@
// ignore_for_file: use_build_context_synchronously
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:gecko/globals.dart';
import 'package:gecko/models/wallet_data.dart';
@ -8,7 +10,6 @@ import 'package:gecko/providers/my_wallets.dart';
import 'package:gecko/providers/search.dart';
import 'package:gecko/providers/wallets_profiles.dart';
import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
import 'package:gecko/screens/myWallets/wallets_home.dart';
import 'package:gecko/screens/search.dart';
import 'package:provider/provider.dart';
@ -111,18 +112,15 @@ class GeckoBottomAppBar extends StatelessWidget {
),
);
}
if (pin != null || myWalletProvider.pinCode != '') {
Navigator.popUntil(
context,
ModalRoute.withName('/'),
);
Navigator.push(
context,
MaterialPageRoute(builder: (context) {
return const WalletsHome();
}),
);
// log.d(
// isRoutePresentInNavigator(context, '/mywallets'));
Navigator.popUntil(context, ModalRoute.withName('/'));
//FIXME: Should not have to wait 300 milliseconds when /mywallets exist in navigator...
sleep(const Duration(milliseconds: 300));
Navigator.pushNamed(context, '/mywallets');
// Navigator.pushNamedAndRemoveUntil(
// context, '/mywallets', ModalRoute.withName('/'));
}
},
),
@ -134,3 +132,15 @@ class GeckoBottomAppBar extends StatelessWidget {
);
}
}
bool isRoutePresentInNavigator(BuildContext context, String routeName) {
bool isPresent = false;
Navigator.popUntil(context, (route) {
log.d(route.settings.name);
if (route.settings.name == routeName) {
isPresent = true;
}
return true;
});
return isPresent;
}

View File

@ -9,7 +9,6 @@ import 'package:gecko/providers/home.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/myWallets/wallets_home.dart';
import 'package:gecko/screens/search.dart';
import 'package:provider/provider.dart';
@ -105,12 +104,7 @@ class HomeButtons extends StatelessWidget {
);
}
if (pin != null || myWalletProvider.pinCode != '') {
Navigator.push(
context,
MaterialPageRoute(builder: (context) {
return const WalletsHome();
}),
);
Navigator.pushNamed(context, '/mywallets');
}
},
child: Padding(