Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

57 rindas
1.6KB

  1. import 'package:flutter/material.dart';
  2. import '../../../data/services/auth_service.dart'; // Assurez-vous que le chemin est correct
  3. class LoginScreen extends StatefulWidget {
  4. const LoginScreen({super.key});
  5. @override
  6. State<LoginScreen> createState() => _LoginScreenState();
  7. }
  8. class _LoginScreenState extends State<LoginScreen> {
  9. final AuthService _authService = AuthService();
  10. bool _isLoading = false;
  11. void _handleFacebookLogin() async {
  12. setState(() {
  13. _isLoading = true;
  14. });
  15. final success = await _authService.loginWithFacebook();
  16. setState(() {
  17. _isLoading = false;
  18. });
  19. if (success && mounted) {
  20. // Naviguer vers l'écran principal de l'application
  21. // Par exemple :
  22. Navigator.of(context).pushReplacementNamed('/home');
  23. } else if (mounted) {
  24. // Afficher un message d'erreur
  25. ScaffoldMessenger.of(context).showSnackBar(
  26. const SnackBar(content: Text('La connexion a échoué. Veuillez réessayer.')),
  27. );
  28. }
  29. }
  30. @override
  31. Widget build(BuildContext context) => Scaffold(
  32. appBar: AppBar(title: const Text('Connexion')),
  33. body: Center(
  34. child: _isLoading
  35. ? const CircularProgressIndicator()
  36. : ElevatedButton.icon(
  37. icon: const Icon(Icons.facebook),
  38. label: const Text('Se connecter avec Facebook'),
  39. onPressed: _handleFacebookLogin,
  40. style: ElevatedButton.styleFrom(
  41. backgroundColor: const Color(0xFF1877F2), // Couleur de Facebook
  42. foregroundColor: Colors.white,
  43. padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12),
  44. ),
  45. ),
  46. ),
  47. );
  48. }