fix nav initialize
This commit is contained in:
parent
a68c240c57
commit
d98227b5eb
|
@ -42,22 +42,7 @@ class AppStateNotifier extends ChangeNotifier {
|
|||
}
|
||||
}
|
||||
|
||||
initializeRouter() async {
|
||||
final bool isLogged = await StorageHelper.instance.get(SecureStorageKey.isLogged.value, Storage.SecureStorage) == 'true';
|
||||
final bool? haveLocal = await StorageHelper.instance.get(SecureStorageKey.haveLocal.value, Storage.SecureStorage) == 'true';;
|
||||
final bool haveUserUUID = (await StorageHelper.instance.get(SQLiteStorageKey.userUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||
final bool haveDevUUID = (await StorageHelper.instance.get(SQLiteStorageKey.devUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||
}
|
||||
|
||||
GoRouter createRouter(AppStateNotifier appStateNotifier) {
|
||||
final bool isLogged = await StorageHelper.instance.get(SecureStorageKey.isLogged.value, Storage.SecureStorage) == 'true';
|
||||
final bool? haveLocal = await StorageHelper.instance.get(SecureStorageKey.haveLocal.value, Storage.SecureStorage) == 'true';;
|
||||
final bool haveUserUUID = (await StorageHelper.instance.get(SQLiteStorageKey.userUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||
final bool haveDevUUID = (await StorageHelper.instance.get(SQLiteStorageKey.devUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||
|
||||
log('() => isLogged: $isLogged');
|
||||
log('() => haveLocal: $haveLocal');
|
||||
|
||||
return GoRouter(
|
||||
initialLocation: '/',
|
||||
debugLogDiagnostics: true,
|
||||
|
@ -93,16 +78,30 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) {
|
|||
name: '_initialize',
|
||||
path: '/',
|
||||
builder: (context, _) {
|
||||
try {
|
||||
return isLogged && haveDevUUID && haveUserUUID
|
||||
? haveLocal == true
|
||||
? const HomePageWidget()
|
||||
: const ReceptionPageWidget()
|
||||
: const WelcomePageWidget();
|
||||
} catch (e) {
|
||||
DialogUtil.error(context, e.toString());
|
||||
return FutureBuilder<Widget>(
|
||||
future: () async {
|
||||
final bool isLogged = await StorageHelper.instance.get(SecureStorageKey.isLogged.value, Storage.SecureStorage) == 'true';
|
||||
final bool haveLocal = await StorageHelper.instance.get(SecureStorageKey.haveLocal.value, Storage.SecureStorage) == 'true';
|
||||
final bool haveUserUUID = (await StorageHelper.instance.get(SQLiteStorageKey.userUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||
final bool haveDevUUID = (await StorageHelper.instance.get(SQLiteStorageKey.devUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||
|
||||
if (isLogged && haveDevUUID && haveUserUUID) {
|
||||
return haveLocal ? const HomePageWidget() : const ReceptionPageWidget();
|
||||
} else {
|
||||
return const WelcomePageWidget();
|
||||
}
|
||||
}(),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
} else if (snapshot.hasError) {
|
||||
DialogUtil.error(context, snapshot.error.toString());
|
||||
return const WelcomePageWidget();
|
||||
} else {
|
||||
return snapshot.data!;
|
||||
}
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
FFRoute(
|
||||
|
|
Loading…
Reference in New Issue