signOut static method

Future<void> signOut({
  1. required BuildContext context,
  2. required dynamic actionAfterLogin(
    1. BuildContext,
    2. User
    ),
})

Implementation

static Future<void> signOut({required BuildContext context, required Function(BuildContext, User) actionAfterLogin}) async {
  try {
    if (!kIsWeb) {
      final GoogleSignIn googleSignIn = GoogleSignIn();
      await googleSignIn.signOut();
    }
    await FirebaseAuth.instance.signOut();
    Navigator.of(context).pushReplacement(
      MaterialPageRoute(
        builder: (context) => SignInScreen(actionAfterLogin),
      ),
    );
  } catch (e) {
    ScaffoldMessenger.of(context).showSnackBar(
      Authentication.customSnackBar(
        content: 'Error signing out. Try again.',
      ),
    );
  }
}