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) {
|
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(
|
return GoRouter(
|
||||||
initialLocation: '/',
|
initialLocation: '/',
|
||||||
debugLogDiagnostics: true,
|
debugLogDiagnostics: true,
|
||||||
|
@ -93,17 +78,31 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) {
|
||||||
name: '_initialize',
|
name: '_initialize',
|
||||||
path: '/',
|
path: '/',
|
||||||
builder: (context, _) {
|
builder: (context, _) {
|
||||||
try {
|
return FutureBuilder<Widget>(
|
||||||
return isLogged && haveDevUUID && haveUserUUID
|
future: () async {
|
||||||
? haveLocal == true
|
final bool isLogged = await StorageHelper.instance.get(SecureStorageKey.isLogged.value, Storage.SecureStorage) == 'true';
|
||||||
? const HomePageWidget()
|
final bool haveLocal = await StorageHelper.instance.get(SecureStorageKey.haveLocal.value, Storage.SecureStorage) == 'true';
|
||||||
: const ReceptionPageWidget()
|
final bool haveUserUUID = (await StorageHelper.instance.get(SQLiteStorageKey.userUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||||
: const WelcomePageWidget();
|
final bool haveDevUUID = (await StorageHelper.instance.get(SQLiteStorageKey.devUUID.value, Storage.SQLiteStorage))?.isNotEmpty ?? false;
|
||||||
} catch (e) {
|
|
||||||
DialogUtil.error(context, e.toString());
|
if (isLogged && haveDevUUID && haveUserUUID) {
|
||||||
return const WelcomePageWidget();
|
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(
|
FFRoute(
|
||||||
name: 'forgotPassword',
|
name: 'forgotPassword',
|
||||||
|
|
Loading…
Reference in New Issue