fix nav initialize

This commit is contained in:
J. A. Messias 2024-11-04 17:54:03 -03:00
parent a68c240c57
commit d98227b5eb
1 changed files with 25 additions and 26 deletions

View File

@ -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,17 +78,31 @@ 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 const WelcomePageWidget();
}
},
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(
name: 'forgotPassword',