diff --git a/lib/widget/custom_drawer.dart b/lib/widget/custom_drawer.dart index 84823f0..cc6c94c 100644 --- a/lib/widget/custom_drawer.dart +++ b/lib/widget/custom_drawer.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -10,6 +11,7 @@ import '../app/constant.dart'; import '../app/route.dart'; import '../provider/current_menu_provider.dart'; import '../provider/current_user_provider.dart'; +import '../provider/google_login_provider.dart'; import '../screen/login/logout_provider.dart'; class CustomDrawer extends HookConsumerWidget { @@ -59,14 +61,13 @@ class CustomDrawer extends HookConsumerWidget { if (bearerString.isNotEmpty) { shared.remove(bearerString); shared.clear(); - // Navigator.popAndPushNamed(context, loginRoute); - Navigator.of(context) - .pushNamedAndRemoveUntil(loginRoute, (route) => false); } - Timer(const Duration(seconds: 3), () async { - successMessage.value = ""; - }); } + final googleSignIn = ref.watch(googleSignInProvider); + if (await googleSignIn.isSignedIn()) { + await googleSignIn.disconnect(); + } + SystemChannels.platform.invokeMethod('SystemNavigator.pop'); }); final currentMenu = ref.read(currentPageProvider); @@ -170,25 +171,25 @@ class CustomDrawer extends HookConsumerWidget { // Navigator.of(context).popAndPushNamed(homeRoute); }, ), - // ListTile( - // leading: Icon( - // Icons.logout, - // color: Constant.textLightGrey, - // ), - // title: Text( - // 'Logout', - // style: TextStyle(color: Constant.textLightGrey), - // ), - // onTap: () { - // // di set ke 0 lagi - // ref.read(currentPageProvider.state).update((state) => 0); - // // ref.read(logoutProvider.notifier).logout( - // // M_UserID: selectedUser?.model.M_UserID ?? "", - // // M_UserUsername: - // // selectedUser?.model.M_UserUsername ?? "", - // // ); - // }, - // ), + ListTile( + leading: Icon( + Icons.logout, + color: Constant.textLightGrey, + ), + title: Text( + 'Logout', + style: TextStyle(color: Constant.textLightGrey), + ), + onTap: () { + // di set ke 0 lagi + ref.read(currentPageProvider.state).update((state) => 0); + ref.read(logoutProvider.notifier).logout( + email: selectedUser?.model.email ?? "", + idGoogleSignIn: + selectedUser?.model.idGoogleSignIn ?? "", + ); + }, + ), ], ), ),