This commit is contained in:
Juan Felipe Duarte
2023-03-24 19:43:37 -05:00
parent 203912d362
commit 5e76777cc8
6 changed files with 256 additions and 10 deletions
+28
View File
@@ -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();
}
}
+24
View File
@@ -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(