update
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:firebase_auth/firebase_auth.dart';
|
||||
import 'package:google_sign_in/google_sign_in.dart';
|
||||
|
||||
class GoogleSignProvider extends ChangeNotifier {
|
||||
final googleSign = GoogleSignIn();
|
||||
|
||||
GoogleSignInAccount? _user;
|
||||
|
||||
GoogleSignInAccount get user => _user!;
|
||||
|
||||
Future googleLogin() async {
|
||||
final googleUser = await googleSign.signIn();
|
||||
if (googleUser == null) return;
|
||||
_user = googleUser;
|
||||
|
||||
final googleAuth = await googleUser.authentication;
|
||||
|
||||
final credential = GoogleAuthProvider.credential(
|
||||
accessToken: googleAuth.accessToken, idToken: googleAuth.idToken);
|
||||
|
||||
await FirebaseAuth.instance.signInWithCredential(credential);
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:prosappco/src/provider/google_sign.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class LoginScreen extends StatefulWidget {
|
||||
const LoginScreen({super.key});
|
||||
@@ -63,6 +66,27 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||
),
|
||||
),
|
||||
const Text('Un código sera enviado a este numero de celular'),
|
||||
ElevatedButton(
|
||||
onPressed: () {
|
||||
final provider =
|
||||
Provider.of<GoogleSignProvider>(context, listen: false);
|
||||
provider.googleLogin();
|
||||
},
|
||||
style: ElevatedButton.styleFrom(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(
|
||||
15), // Establece el radio de los bordes
|
||||
),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
FaIcon(FontAwesomeIcons.google), // Icono del botón
|
||||
SizedBox(width: 5), // Espacio entre el icono y el texto
|
||||
Text('Entrar con Google'), // Texto del botón
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 80.0),
|
||||
child: Container(
|
||||
|
||||
Reference in New Issue
Block a user