update boton google
This commit is contained in:
@@ -5,6 +5,14 @@ import 'package:firebase_core/firebase_core.dart';
|
|||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:firebase_core/firebase_core.dart';
|
import 'package:firebase_core/firebase_core.dart';
|
||||||
import 'firebase_options.dart';
|
import 'firebase_options.dart';
|
||||||
|
import 'package:prosappco/src/provider/google_sign.dart';
|
||||||
|
import 'package:prosappco/src/screens/login.dart';
|
||||||
|
import 'package:prosappco/src/screens/welcome.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import 'package:firebase_auth/firebase_auth.dart';
|
||||||
|
import 'package:google_sign_in/google_sign_in.dart';
|
||||||
|
import 'package:prosappco/src/screens/register.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
@@ -14,6 +22,21 @@ void main() async {
|
|||||||
runApp(const MyApp());
|
runApp(const MyApp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final FirebaseAuth _auth = FirebaseAuth.instance;
|
||||||
|
final GoogleSignIn googleSignIn = GoogleSignIn();
|
||||||
|
Future<UserCredential> signInWithGoogle() async {
|
||||||
|
final GoogleSignInAccount? googleSignInAccount = await googleSignIn.signIn();
|
||||||
|
final GoogleSignInAuthentication googleSignInAuthentication =
|
||||||
|
await googleSignInAccount!.authentication;
|
||||||
|
|
||||||
|
final AuthCredential credential = GoogleAuthProvider.credential(
|
||||||
|
accessToken: googleSignInAuthentication.accessToken,
|
||||||
|
idToken: googleSignInAuthentication.idToken,
|
||||||
|
);
|
||||||
|
|
||||||
|
return await _auth.signInWithCredential(credential);
|
||||||
|
}
|
||||||
|
|
||||||
class MyApp extends StatelessWidget {
|
class MyApp extends StatelessWidget {
|
||||||
const MyApp({super.key});
|
const MyApp({super.key});
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
import 'package:prosappco/main.dart';
|
||||||
import 'package:prosappco/src/provider/google_sign.dart';
|
import 'package:prosappco/src/provider/google_sign.dart';
|
||||||
import 'package:prosappco/src/screens/login.dart';
|
import 'package:prosappco/src/screens/login.dart';
|
||||||
import 'package:prosappco/src/screens/welcome.dart';
|
import 'package:prosappco/src/screens/welcome.dart';
|
||||||
@@ -16,21 +17,6 @@ class LoginEmailScreen extends StatefulWidget {
|
|||||||
State<LoginEmailScreen> createState() => _LoginEmailScreenState();
|
State<LoginEmailScreen> createState() => _LoginEmailScreenState();
|
||||||
}
|
}
|
||||||
|
|
||||||
final FirebaseAuth _auth = FirebaseAuth.instance;
|
|
||||||
final GoogleSignIn googleSignIn = GoogleSignIn();
|
|
||||||
Future<UserCredential> signInWithGoogle() async {
|
|
||||||
final GoogleSignInAccount? googleSignInAccount = await googleSignIn.signIn();
|
|
||||||
final GoogleSignInAuthentication googleSignInAuthentication =
|
|
||||||
await googleSignInAccount!.authentication;
|
|
||||||
|
|
||||||
final AuthCredential credential = GoogleAuthProvider.credential(
|
|
||||||
accessToken: googleSignInAuthentication.accessToken,
|
|
||||||
idToken: googleSignInAuthentication.idToken,
|
|
||||||
);
|
|
||||||
|
|
||||||
return await _auth.signInWithCredential(credential);
|
|
||||||
}
|
|
||||||
|
|
||||||
class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
||||||
bool _obscureText = true;
|
bool _obscureText = true;
|
||||||
|
|
||||||
@@ -125,7 +111,6 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
SizedBox(width: 5),
|
|
||||||
Text(
|
Text(
|
||||||
'Entrar con Google ',
|
'Entrar con Google ',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -134,6 +119,7 @@ class _LoginEmailScreenState extends State<LoginEmailScreen> {
|
|||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
SizedBox(width: 5),
|
||||||
FaIcon(FontAwesomeIcons.google),
|
FaIcon(FontAwesomeIcons.google),
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
|
import 'package:firebase_auth/firebase_auth.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
|
import 'package:prosappco/main.dart';
|
||||||
import 'package:prosappco/src/provider/google_sign.dart';
|
import 'package:prosappco/src/provider/google_sign.dart';
|
||||||
import 'package:prosappco/src/screens/login.dart';
|
import 'package:prosappco/src/screens/login.dart';
|
||||||
|
import 'package:prosappco/src/screens/welcome.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class RegisterScreen extends StatefulWidget {
|
class RegisterScreen extends StatefulWidget {
|
||||||
@@ -76,10 +79,23 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(bottom: 20),
|
padding: EdgeInsets.only(bottom: 20),
|
||||||
child: ElevatedButton(
|
child: ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () async {
|
||||||
final provider = Provider.of<GoogleSignProvider>(context,
|
try {
|
||||||
listen: false);
|
final UserCredential userCredential =
|
||||||
provider.googleLogin();
|
await signInWithGoogle();
|
||||||
|
// Si la autenticación es exitosa, realiza una acción
|
||||||
|
// Por ejemplo, navegar a otra pantalla:
|
||||||
|
Navigator.push(
|
||||||
|
context,
|
||||||
|
MaterialPageRoute(
|
||||||
|
builder: (context) => WelcomeScreen()));
|
||||||
|
} catch (e) {
|
||||||
|
// Si ocurre un error durante la autenticación, muestra un mensaje al usuario
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||||
|
content: Text(
|
||||||
|
'Error al iniciar sesion intentalo de nuevo'),
|
||||||
|
));
|
||||||
|
}
|
||||||
},
|
},
|
||||||
style: ElevatedButton.styleFrom(
|
style: ElevatedButton.styleFrom(
|
||||||
primary: Color(0xFF2BA4EC),
|
primary: Color(0xFF2BA4EC),
|
||||||
@@ -92,7 +108,6 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
SizedBox(width: 5),
|
|
||||||
Text(
|
Text(
|
||||||
'Entrar con Google ',
|
'Entrar con Google ',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@@ -101,6 +116,7 @@ class _RegisterScreenState extends State<RegisterScreen> {
|
|||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
SizedBox(width: 5),
|
||||||
FaIcon(FontAwesomeIcons.google),
|
FaIcon(FontAwesomeIcons.google),
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
|
|||||||
Reference in New Issue
Block a user