Advertisement
Hitesh_jadhav

Firebase.initializeApp()

Feb 28th, 2022
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. import 'package:firebase_core/firebase_core.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:shared_preferences/shared_preferences.dart';
  4. import 'package:fluttertoast/fluttertoast.dart';
  5. import 'package:firebase_auth/firebase_auth.dart';
  6. import 'package:google_sign_in/google_sign_in.dart';
  7. import 'package:cloud_firestore/cloud_firestore.dart';
  8. import 'package:shop_app_mobb/pages/home.dart';
  9.  
  10. class login extends StatefulWidget {
  11. const login({Key? key}) : super(key: key);
  12.  
  13. @override
  14. _loginState createState() => _loginState();
  15. }
  16.  
  17. class _loginState extends State<login> {
  18. final googlesignin = GoogleSignIn();
  19. final firebaseauth = FirebaseAuth.instance;
  20. late SharedPreferences preferences;
  21. bool loading = false;
  22. bool islogedin = false;
  23.  
  24. @override
  25. void initState() {
  26. super.initState();
  27. // Firebase.initializeApp();
  28. issignedin();
  29. }
  30.  
  31. void issignedin() async {
  32. // await Firebase.initializeApp();
  33. setState(() {
  34. loading = true;
  35. });
  36. preferences = await SharedPreferences.getInstance();
  37. islogedin = await googlesignin.isSignedIn();
  38. if (islogedin) {
  39. Navigator.pushReplacement(
  40. context, MaterialPageRoute(builder: (context) => Homepage()));
  41. }
  42. setState(() {
  43. loading = false;
  44. });
  45. }
  46.  
  47. Future handlesignin() async {
  48. preferences = await SharedPreferences.getInstance();
  49. setState(() async {
  50. loading = true;
  51. GoogleSignInAccount? googleuser = await googlesignin.signIn();
  52. GoogleSignInAuthentication googleSignInAuthentication =
  53. await googleuser!.authentication;
  54. final AuthCredential credential = GoogleAuthProvider.credential(
  55. accessToken: googleSignInAuthentication.accessToken,
  56. idToken: googleSignInAuthentication.idToken,
  57. );
  58. // await Firebase.initializeApp();
  59. final User firebaseuser =
  60. (await firebaseauth.signInWithCredential(credential)) as User;
  61. if (firebaseuser != null) {
  62. final QuerySnapshot result = (await FirebaseFirestore.instance
  63. .collection("users")
  64. .where("id", isEqualTo: firebaseuser.uid))
  65. as QuerySnapshot<Object?>;
  66. final List<DocumentSnapshot> documents =
  67. result as List<DocumentSnapshot<Object?>>;
  68. if (documents.length == 0) {
  69. // await Firebase.initializeApp();
  70. FirebaseFirestore.instance
  71. .collection("users")
  72. .doc(firebaseuser.uid)
  73. .set({
  74. "id": firebaseuser.uid,
  75. "username": firebaseuser.displayName,
  76. "profilepicture": firebaseuser.photoURL
  77. });
  78. await preferences.setString("id", firebaseuser.uid);
  79. await preferences.setString(
  80. "username", firebaseuser.displayName as String);
  81. await preferences.setString(
  82. "photoUrl", firebaseuser.photoURL as String);
  83. // FirebaseFirestore.instance.collection("users").add({
  84. // "id": firebaseuser.uid,
  85. // "username": firebaseuser.displayName,
  86. // "profilepicture": firebaseuser.photoURL
  87. // });
  88. } else {
  89. await preferences.setString("id", documents[0]['id']);
  90. await preferences.setString("username", documents[0]['username']);
  91. await preferences.setString("photoUrl", documents[0]['photoUrl']);
  92. }
  93. Fluttertoast.showToast(msg: "Logged in");
  94. setState(() {
  95. loading = false;
  96. });
  97. }
  98. });
  99. }
  100.  
  101. @override
  102. Widget build(BuildContext context) {
  103. // Firebase.initializeApp();
  104. return Container();
  105. }
  106. }
  107.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement