step 18 : perbaikan login pada useeffect dan logout pada mutation

This commit is contained in:
sindhu
2024-08-29 11:05:18 +07:00
parent 5bf87205cc
commit 40d6f5ec2f
2 changed files with 43 additions and 4 deletions

View File

@@ -36,7 +36,7 @@ class AuthRepository extends BaseRepository {
Future<LogoutResponseModel> logout( Future<LogoutResponseModel> logout(
String email, String idGoogleSignIn) async { String email, String idGoogleSignIn) async {
const String query = const String query =
r'''mutation($emailParam:String!, $id_google_sign_in_Param:String!){ logoutAttendance(email:$emailParam, id_google_sign_in:$id_google_sign_in_Param){ staff_id nip name email phone_number token id_google_sign_in company_id company_name } }'''; r'''mutation($emailParam:String!, $id_google_sign_in_Param:String!){ logoutAttendance(email:$emailParam, id_google_sign_in:$id_google_sign_in_Param){ status message } }''';
Map<String, dynamic> inpVariables = { Map<String, dynamic> inpVariables = {
"emailParam": email, "emailParam": email,

View File

@@ -55,12 +55,51 @@ class LoginScreen extends HookConsumerWidget {
), ),
); );
if (xmodel != null) { // NEW
// if (xmodel != null) {
// ref.read(loginProvider.notifier).login(
// authModel.model.email ?? "",
// authModel.model.idGoogleSignIn ?? "",
// );
// }
// OLD
await googleSignIn.signInSilently();
googleSignIn.onCurrentUserChanged.listen((account) {
// ref
// .read(currentUserGoogleProvider.notifier)
// .update((state) => account);
ref.read(currentUserProvider.notifier).state = authModel;
ref.read(currentPageProvider.state).update((state) => 0);
if (account != null &&
ref.read(currentUserProvider)?.model.staffId == "0") {
// Lakukan login
ref.read(loginProvider.notifier).login(
account.email,
account.id,
);
}
});
// kalau sudah pernah login
if (googleSignIn.currentUser?.email != null) {
googleSignIn.signInSilently();
// ref.read(currentUserGoogleProvider.notifier).update(
// (state) => googleSignIn.currentUser,
// );
ref.read(loginProvider.notifier).login( ref.read(loginProvider.notifier).login(
authModel.model.email ?? "", googleSignIn.currentUser?.email ?? "",
authModel.model.idGoogleSignIn ?? "", googleSignIn.currentUser?.id ?? "",
); );
} }
// ref.read(currentUserProvider.notifier).state = authModel;
// Navigator.of(context).pushNamedAndRemoveUntil(
// homeRoute,
// (route) => false,
// );
}); });
return () {}; return () {};
}, []); }, []);