step 25 : upload ktp, qrcode string, edit data,
check token expired 10 menit dari expired_date
This commit is contained in:
@@ -28,25 +28,29 @@ class NoLoginHomeScreen extends HookConsumerWidget {
|
||||
final host = currentUser?.host ?? "";
|
||||
final isLoading = useState<bool>(false);
|
||||
final listScanArr = ref.watch(listScanRwt);
|
||||
final userId = currentUser?.client_id ?? "";
|
||||
final client_id = currentUser?.client_id ?? "";
|
||||
final token = currentUser?.token ?? "";
|
||||
final expire_date = currentUser?.expire_date ?? "";
|
||||
final readProsesAksi = ref.watch(noLoginprosesAksi);
|
||||
|
||||
useEffect(() {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||
final userID = currentUser?.client_id ?? "0";
|
||||
// final prefs = await SharedPreferences.getInstance();
|
||||
final token = currentUser?.token ?? "";
|
||||
|
||||
if (userID == "0") {
|
||||
// not logged in
|
||||
if (client_id == "0" || token == "") {
|
||||
// not logged in and doesn't have token
|
||||
Navigator.of(context)
|
||||
.pushNamedAndRemoveUntil(noLoginRoute, (route) => false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (token == "") {
|
||||
Navigator.of(context)
|
||||
.pushNamedAndRemoveUntil(noLoginRoute, (route) => false);
|
||||
return;
|
||||
if (token != "") {
|
||||
if (await isTokenExpired() == true) {
|
||||
print("Token expired, refreshing...");
|
||||
ref.read(noLoginRefreshTokenProvider.notifier).refreshToken(
|
||||
client_id: client_id,
|
||||
host: host,
|
||||
expire_date: expire_date,
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
return () {};
|
||||
@@ -56,14 +60,42 @@ class NoLoginHomeScreen extends HookConsumerWidget {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timestap) async {
|
||||
ref.read(noLoginRiwayatScanProvider.notifier).noLoginRiwayatScan(
|
||||
host: host,
|
||||
userId: userId,
|
||||
token: currentUser?.token ?? "",
|
||||
expire_date: currentUser?.expire_date ?? "",
|
||||
client_id: client_id,
|
||||
token: token,
|
||||
expire_date: expire_date,
|
||||
);
|
||||
});
|
||||
return () {};
|
||||
}, []);
|
||||
|
||||
// refreshToken Provider
|
||||
ref.listen(noLoginRefreshTokenProvider, (prev, next) async {
|
||||
if (next is NoLoginRefreshTokenStateLoading) {
|
||||
isLoading.value = true;
|
||||
} else if (next is NoLoginRefreshTokenStateError) {
|
||||
isLoading.value = false;
|
||||
// errorMessage.value = next.message;
|
||||
snackbarWidget(
|
||||
context,
|
||||
next.message,
|
||||
snackbarType.error,
|
||||
Duration(seconds: 3),
|
||||
);
|
||||
} else if (next is NoLoginRefreshTokenStateDone) {
|
||||
isLoading.value = false;
|
||||
|
||||
// check proses aksi yg berlangsung
|
||||
if (readProsesAksi == Constant.getRiwayat) {
|
||||
ref.read(noLoginRiwayatScanProvider.notifier).noLoginRiwayatScan(
|
||||
host: host,
|
||||
client_id: client_id,
|
||||
token: token,
|
||||
expire_date: expire_date,
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// listRiwayProvider
|
||||
ref.listen(noLoginRiwayatScanProvider, (prev, next) async {
|
||||
if (next is NoLoginRiwayatScanStateLoading) {
|
||||
@@ -83,33 +115,20 @@ class NoLoginHomeScreen extends HookConsumerWidget {
|
||||
});
|
||||
|
||||
void getRiwayat() async {
|
||||
final currentUser = ref.read(noLoginCurrentUserProvider);
|
||||
final host = currentUser?.host ?? "";
|
||||
final userId = currentUser?.client_id ?? "";
|
||||
final expireDate = currentUser?.expire_date ?? "";
|
||||
|
||||
if (await isTokenExpired() == true) {
|
||||
ref.read(noLoginprosesAksi.notifier).state = Constant.getRiwayat;
|
||||
print("Token expired, refreshing...");
|
||||
ref.read(noLoginRefreshTokenProvider.notifier).refreshToken(
|
||||
client_id: userId,
|
||||
client_id: client_id,
|
||||
host: host,
|
||||
expire_date: expireDate,
|
||||
);
|
||||
|
||||
ref.read(noLoginRiwayatScanProvider.notifier).noLoginRiwayatScan(
|
||||
host: host,
|
||||
userId: userId,
|
||||
token: ref.read(noLoginCurrentUserProvider)?.token ?? "",
|
||||
expire_date:
|
||||
ref.read(noLoginCurrentUserProvider)?.expire_date ?? "",
|
||||
expire_date: expire_date,
|
||||
);
|
||||
} else {
|
||||
ref.read(noLoginRiwayatScanProvider.notifier).noLoginRiwayatScan(
|
||||
host: host,
|
||||
userId: userId,
|
||||
token: ref.read(noLoginCurrentUserProvider)?.token ?? "",
|
||||
expire_date:
|
||||
ref.read(noLoginCurrentUserProvider)?.expire_date ?? "",
|
||||
client_id: client_id,
|
||||
token: token,
|
||||
expire_date: expire_date,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user