Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- import 'package:shared_preferences/shared_preferences.dart';
- import 'package:fluttertoast/fluttertoast.dart';
- import 'package:firebase_auth/firebase_auth.dart';
- import 'package:google_sign_in/google_sign_in.dart';
- import 'package:cloud_firestore/cloud_firestore.dart';
- import 'package:shop_app_mobb/pages/home.dart';
- class login extends StatefulWidget {
- const login({Key? key}) : super(key: key);
- @override
- _loginState createState() => _loginState();
- }
- class _loginState extends State<login> {
- final googlesignin = GoogleSignIn();
- final firebaseauth = FirebaseAuth.instance;
- late SharedPreferences preferences;
- bool loading = false;
- bool islogedin = false;
- @override
- void initState() {
- super.initState();
- issignedin();
- }
- void issignedin() async {
- setState(() {
- loading = true;
- });
- preferences = await SharedPreferences.getInstance();
- islogedin = await googlesignin.isSignedIn();
- if (islogedin) {
- Navigator.pushReplacement(
- context, MaterialPageRoute(builder: (context) => Homepage()));
- }
- setState(() {
- loading = false;
- });
- }
- Future handlesignin() async {
- preferences = await SharedPreferences.getInstance();
- setState(() async {
- loading = true;
- GoogleSignInAccount? googleuser = await googlesignin.signIn();
- GoogleSignInAuthentication googleSignInAuthentication =
- await googleuser!.authentication;
- final AuthCredential credential = GoogleAuthProvider.credential(
- accessToken: googleSignInAuthentication.accessToken,
- idToken: googleSignInAuthentication.idToken,
- );
- final User firebaseuser =
- (await firebaseauth.signInWithCredential(credential)) as User;
- if (firebaseuser != null) {
- final QuerySnapshot result = (await FirebaseFirestore.instance
- .collection("users")
- .where("id", isEqualTo: firebaseuser.uid))
- as QuerySnapshot<Object?>;
- final List<DocumentSnapshot> documents =
- result as List<DocumentSnapshot<Object?>>;
- // if (documents.length == 0) {
- // FirebaseFirestore.instance.collection("users").doc(User.uid).set({
- // "id": User.uid,
- // "username": User.displayName,
- // "profilepicture": User.photoURL
- // });
- FirebaseFirestore.instance.collection("users").add({
- "id": User.uid,
- "username": User.displayName,
- "profilepicture": User.photoURL
- });
- }
- }
- }
- );
- }
- @override
- Widget build(BuildContext context) {
- return Container();
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement