|
- import 'package:flutter/material.dart';
- import '../../../data/services/auth_service.dart'; // Assurez-vous que le chemin est correct
-
- class LoginScreen extends StatefulWidget {
- const LoginScreen({super.key});
-
- @override
- State<LoginScreen> createState() => _LoginScreenState();
- }
-
- class _LoginScreenState extends State<LoginScreen> {
- final AuthService _authService = AuthService();
- bool _isLoading = false;
-
- void _handleFacebookLogin() async {
- setState(() {
- _isLoading = true;
- });
-
- final success = await _authService.loginWithFacebook();
-
- setState(() {
- _isLoading = false;
- });
-
- if (success && mounted) {
- // Naviguer vers l'écran principal de l'application
- // Par exemple :
- Navigator.of(context).pushReplacementNamed('/home');
- } else if (mounted) {
- // Afficher un message d'erreur
- ScaffoldMessenger.of(context).showSnackBar(
- const SnackBar(content: Text('La connexion a échoué. Veuillez réessayer.')),
- );
- }
- }
-
- @override
- Widget build(BuildContext context) => Scaffold(
- appBar: AppBar(title: const Text('Connexion')),
- body: Center(
- child: _isLoading
- ? const CircularProgressIndicator()
- : ElevatedButton.icon(
- icon: const Icon(Icons.facebook),
- label: const Text('Se connecter avec Facebook'),
- onPressed: _handleFacebookLogin,
- style: ElevatedButton.styleFrom(
- backgroundColor: const Color(0xFF1877F2), // Couleur de Facebook
- foregroundColor: Colors.white,
- padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
- ),
- ),
- ),
- );
- }
|