From 584a725fe06480ed85140ff4305638f3f64aad4a Mon Sep 17 00:00:00 2001 From: "PC-PAUL\\paulf" Date: Tue, 4 Mar 2025 17:15:15 +0100 Subject: [PATCH] =?UTF-8?q?Page=20de=20connexion=20OK=20Manque=20la=20logi?= =?UTF-8?q?que=20de=20mot=20de=20passe=20oubli=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- em2rp/assets/images/tshirt-incrust.webp | Bin 0 -> 82486 bytes em2rp/lib/main.dart | 11 +- em2rp/lib/views/calendar_page.dart | 22 +++ em2rp/lib/views/login_page.dart | 167 +++++++++++------- .../widgets/auth/forgot_password_button.dart | 21 +++ .../lib/views/widgets/auth/login_button.dart | 29 +++ .../views/widgets/auth/mail_textfield.dart | 31 ++++ .../widgets/auth/password_textfield.dart | 43 +++++ .../lib/views/widgets/auth/welcome_text.dart | 16 ++ em2rp/lib/views/widgets/error_message.dart | 22 +++ .../views/widgets/image/big_image_left.dart | 23 +++ .../views/widgets/image/em2_logo_n_sur_b.dart | 13 ++ em2rp/pubspec.yaml | 1 + 13 files changed, 337 insertions(+), 62 deletions(-) create mode 100644 em2rp/assets/images/tshirt-incrust.webp create mode 100644 em2rp/lib/views/calendar_page.dart create mode 100644 em2rp/lib/views/widgets/auth/forgot_password_button.dart create mode 100644 em2rp/lib/views/widgets/auth/login_button.dart create mode 100644 em2rp/lib/views/widgets/auth/mail_textfield.dart create mode 100644 em2rp/lib/views/widgets/auth/password_textfield.dart create mode 100644 em2rp/lib/views/widgets/auth/welcome_text.dart create mode 100644 em2rp/lib/views/widgets/error_message.dart create mode 100644 em2rp/lib/views/widgets/image/big_image_left.dart create mode 100644 em2rp/lib/views/widgets/image/em2_logo_n_sur_b.dart diff --git a/em2rp/assets/images/tshirt-incrust.webp b/em2rp/assets/images/tshirt-incrust.webp new file mode 100644 index 0000000000000000000000000000000000000000..cb5a13e2dc33d9f6a353e3777df7c3aac01fb59a GIT binary patch literal 82486 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 z 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 + LoginPage(), // Remplacez HomePage par votre page d'accueil + '/calendar': (context) => + CalendarPage(), // Ajoutez cette ligne pour la route /calendar + }, theme: ThemeData( primarySwatch: Colors.red, primaryColor: AppColors.noir, @@ -32,7 +40,7 @@ class MyApp extends StatelessWidget { focusedBorder: OutlineInputBorder( // Bordure lorsqu'il est focus borderSide: - BorderSide(color: AppColors.rouge), // Couleur rouge quand focus + BorderSide(color: AppColors.noir), // Couleur rouge quand focus ), enabledBorder: OutlineInputBorder( // Bordure par défaut (non focus) @@ -55,7 +63,6 @@ class MyApp extends StatelessWidget { ), ), ), - home: const LoginPage(), ); } } diff --git a/em2rp/lib/views/calendar_page.dart b/em2rp/lib/views/calendar_page.dart new file mode 100644 index 0000000..580a4ff --- /dev/null +++ b/em2rp/lib/views/calendar_page.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; +import 'package:firebase_auth/firebase_auth.dart'; + +class CalendarPage extends StatelessWidget { + @override + Widget build(BuildContext context) { + final User? user = FirebaseAuth.instance.currentUser; + final String email = user?.email ?? 'Guest'; + + return Scaffold( + appBar: AppBar( + title: Text('Calendar Page'), + ), + body: Center( + child: Text( + 'Hello $email, welcome to EM2RP', + style: TextStyle(fontSize: 20), + ), + ), + ); + } +} diff --git a/em2rp/lib/views/login_page.dart b/em2rp/lib/views/login_page.dart index 94c47ca..4f2a70e 100644 --- a/em2rp/lib/views/login_page.dart +++ b/em2rp/lib/views/login_page.dart @@ -1,5 +1,13 @@ -import 'package:flutter/material.dart'; +import 'package:em2rp/views/widgets/auth/mail_textfield.dart'; +import 'package:em2rp/views/widgets/error_message.dart'; +import 'package:em2rp/views/widgets/auth/forgot_password_button.dart'; +import 'package:em2rp/views/widgets/image/big_image_left.dart'; +import 'package:em2rp/views/widgets/auth/login_button.dart'; +import 'package:em2rp/views/widgets/image/em2_logo_n_sur_b.dart'; +import 'package:em2rp/views/widgets/auth/password_textfield.dart'; +import 'package:em2rp/views/widgets/auth/welcome_text.dart'; import 'package:firebase_auth/firebase_auth.dart'; +import 'package:flutter/material.dart'; class LoginPage extends StatefulWidget { const LoginPage({super.key}); @@ -13,6 +21,9 @@ class _LoginPageState extends State { final _passwordController = TextEditingController(); String _errorMessage = ''; bool _isLoading = false; + bool _obscurePassword = true; + bool _highlightPasswordField = false; + bool _highlightEmailField = false; @override void dispose() { @@ -25,82 +36,118 @@ class _LoginPageState extends State { setState(() { _errorMessage = ''; _isLoading = true; + _highlightPasswordField = false; + _highlightEmailField = false; }); try { await FirebaseAuth.instance.signInWithEmailAndPassword( email: _emailController.text.trim(), password: _passwordController.text, ); - // Navigation vers la page principale après connexion réussie (à implémenter) - // Par exemple : Navigator.of(context).pushReplacementNamed('/home'); + Navigator.of(context).pushReplacementNamed('/calendar'); + print('Connexion réussie!'); } on FirebaseAuthException catch (e) { setState(() { - _errorMessage = "Erreur de connexion: ${e.message}"; _isLoading = false; + if (e.code == 'user-not-found' || e.code == 'wrong-password') { + _errorMessage = "Email ou mot de passe incorrect."; + _highlightPasswordField = true; + _highlightEmailField = true; + } else if (e.code == 'invalid-email') { + _errorMessage = "Adresse email invalide."; + _highlightEmailField = true; + } else { + _errorMessage = "Erreur de connexion. Veuillez réessayer."; + } }); + print('Erreur de connexion: ${e.code} - ${e.message}'); } } + void _togglePasswordVisibility() { + setState(() { + _obscurePassword = !_obscurePassword; + }); + } + + void _forgotPassword() { + // TODO: Implémenter la logique de mot de passe oublié + print("Mot de passe oublié cliqué !"); + } + @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - title: const Text('Connexion'), - ), - body: Center( - child: SingleChildScrollView( - // Pour éviter le débordement sur les petits écrans - padding: const EdgeInsets.all(20.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - 'assets/EM2_NsurB.jpg', - height: 150, - ), - const SizedBox(height: 20), - const Text( - 'Bienvenue !', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), - ), - const SizedBox(height: 20), - TextField( - controller: _emailController, - keyboardType: TextInputType.emailAddress, - decoration: const InputDecoration( - labelText: 'Email', - border: OutlineInputBorder(), - ), - ), - const SizedBox(height: 10), - TextField( - controller: _passwordController, - obscureText: true, - decoration: const InputDecoration( - labelText: 'Mot de passe', - border: OutlineInputBorder(), - ), - ), - const SizedBox(height: 20), - ElevatedButton( - onPressed: _isLoading - ? null - : _signInWithEmailAndPassword, // Désactiver pendant le chargement - child: _isLoading - ? const CircularProgressIndicator() // Indicateur de chargement - : const Text('Se connecter'), - ), - const SizedBox(height: 10), - const SizedBox(height: 10), - if (_errorMessage.isNotEmpty) - Text( - _errorMessage, - style: const TextStyle(color: Colors.red), - ), - ], - ), - ), + body: LayoutBuilder( + builder: (context, constraints) { + if (constraints.maxWidth > 900) { + return _buildLargeScreenLayout(context); + } else { + return _buildSmallScreenLayout(context); + } + }, ), ); } + + Widget _buildLargeScreenLayout(BuildContext context) { + return Row( + children: [ + Expanded( + flex: 6, + child: + const ImageSectionWidget(), // Utilise le composant ImageSection + ), + Expanded( + flex: 4, + child: Padding( + padding: + const EdgeInsets.symmetric(horizontal: 50.0, vertical: 30.0), + child: _buildLoginForm(context), + ), + ), + ], + ); + } + + Widget _buildSmallScreenLayout(BuildContext context) { + return Center( + child: SingleChildScrollView( + padding: const EdgeInsets.all(20.0), + child: _buildLoginForm(context), + ), + ); + } + + Widget _buildLoginForm(BuildContext context) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const LogoWidget(), // Utilise le widget LogoWidget + const SizedBox(height: 30), + const WelcomeTextWidget(), // Utilise le widget WelcomeTextWidget + const SizedBox(height: 40), + EmailTextFieldWidget( + emailController: _emailController, + highlightEmailField: _highlightEmailField, + ), + const SizedBox(height: 20), + PasswordTextFieldWidget( + passwordController: _passwordController, + obscurePassword: _obscurePassword, + highlightPasswordField: _highlightPasswordField, + onTogglePasswordVisibility: _togglePasswordVisibility, + ), + ForgotPasswordButtonWidget(onPressed: _forgotPassword), + const SizedBox(height: 30), + LoginButtonWidget( + isLoading: _isLoading, + onPressed: _signInWithEmailAndPassword, + ), + const SizedBox(height: 20), + ErrorMessageWidget(errorMessage: _errorMessage), + ], + ); + } } diff --git a/em2rp/lib/views/widgets/auth/forgot_password_button.dart b/em2rp/lib/views/widgets/auth/forgot_password_button.dart new file mode 100644 index 0000000..ad3a46e --- /dev/null +++ b/em2rp/lib/views/widgets/auth/forgot_password_button.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; + +class ForgotPasswordButtonWidget extends StatelessWidget { + final VoidCallback onPressed; + + const ForgotPasswordButtonWidget({super.key, required this.onPressed}); + + @override + Widget build(BuildContext context) { + return Align( + alignment: Alignment.centerRight, + child: TextButton( + onPressed: onPressed, + child: const Text( + 'Mot de passe oublié ?', + style: TextStyle(color: Colors.grey), + ), + ), + ); + } +} diff --git a/em2rp/lib/views/widgets/auth/login_button.dart b/em2rp/lib/views/widgets/auth/login_button.dart new file mode 100644 index 0000000..c6d846b --- /dev/null +++ b/em2rp/lib/views/widgets/auth/login_button.dart @@ -0,0 +1,29 @@ +import 'package:em2rp/utils/colors.dart'; +import 'package:flutter/material.dart'; + +class LoginButtonWidget extends StatelessWidget { + final bool isLoading; + final VoidCallback onPressed; + + const LoginButtonWidget({ + super.key, + required this.isLoading, + required this.onPressed, + }); + + @override + Widget build(BuildContext context) { + return ElevatedButton( + onPressed: isLoading ? null : onPressed, + style: ElevatedButton.styleFrom( + padding: const EdgeInsets.symmetric(vertical: 15), + textStyle: const TextStyle(fontSize: 18), + ), + child: isLoading + ? const CircularProgressIndicator( + color: AppColors.blanc, + ) + : const Text('Se connecter'), + ); + } +} diff --git a/em2rp/lib/views/widgets/auth/mail_textfield.dart b/em2rp/lib/views/widgets/auth/mail_textfield.dart new file mode 100644 index 0000000..35386e5 --- /dev/null +++ b/em2rp/lib/views/widgets/auth/mail_textfield.dart @@ -0,0 +1,31 @@ +import 'package:em2rp/utils/colors.dart'; +import 'package:flutter/material.dart'; + +class EmailTextFieldWidget extends StatelessWidget { + final TextEditingController emailController; + final bool highlightEmailField; + + const EmailTextFieldWidget({ + super.key, + required this.emailController, + required this.highlightEmailField, + }); + + @override + Widget build(BuildContext context) { + return TextField( + controller: emailController, + keyboardType: TextInputType.emailAddress, + decoration: InputDecoration( + labelText: 'Email', + border: OutlineInputBorder( + borderSide: highlightEmailField + ? const BorderSide(color: Colors.red) + : const BorderSide(), + ), + filled: true, + fillColor: AppColors.blanc, + ), + ); + } +} diff --git a/em2rp/lib/views/widgets/auth/password_textfield.dart b/em2rp/lib/views/widgets/auth/password_textfield.dart new file mode 100644 index 0000000..adf7349 --- /dev/null +++ b/em2rp/lib/views/widgets/auth/password_textfield.dart @@ -0,0 +1,43 @@ +import 'package:em2rp/utils/colors.dart'; +import 'package:flutter/material.dart'; +import 'package:em2rp/utils/colors.dart'; + +class PasswordTextFieldWidget extends StatelessWidget { + final TextEditingController passwordController; + final bool obscurePassword; + final bool highlightPasswordField; + final VoidCallback onTogglePasswordVisibility; + + const PasswordTextFieldWidget({ + super.key, + required this.passwordController, + required this.obscurePassword, + required this.highlightPasswordField, + required this.onTogglePasswordVisibility, + }); + + @override + Widget build(BuildContext context) { + return TextField( + controller: passwordController, + obscureText: obscurePassword, + decoration: InputDecoration( + labelText: 'Mot de passe', + border: OutlineInputBorder( + borderSide: highlightPasswordField + ? const BorderSide(color: Colors.red) + : const BorderSide(), + ), + filled: true, + fillColor: AppColors.blanc, + suffixIcon: IconButton( + icon: Icon( + obscurePassword ? Icons.visibility_off : Icons.visibility, + color: AppColors.gris, + ), + onPressed: onTogglePasswordVisibility, + ), + ), + ); + } +} diff --git a/em2rp/lib/views/widgets/auth/welcome_text.dart b/em2rp/lib/views/widgets/auth/welcome_text.dart new file mode 100644 index 0000000..c2fc3f5 --- /dev/null +++ b/em2rp/lib/views/widgets/auth/welcome_text.dart @@ -0,0 +1,16 @@ +import 'package:em2rp/utils/colors.dart'; +import 'package:flutter/material.dart'; + +class WelcomeTextWidget extends StatelessWidget { + const WelcomeTextWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Text( + 'Bienvenue !', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 28, fontWeight: FontWeight.bold, color: AppColors.noir), + ); + } +} diff --git a/em2rp/lib/views/widgets/error_message.dart b/em2rp/lib/views/widgets/error_message.dart new file mode 100644 index 0000000..af49064 --- /dev/null +++ b/em2rp/lib/views/widgets/error_message.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; + +class ErrorMessageWidget extends StatelessWidget { + final String errorMessage; + + const ErrorMessageWidget({super.key, required this.errorMessage}); + + @override + Widget build(BuildContext context) { + return Visibility( + visible: errorMessage.isNotEmpty, + child: Padding( + padding: const EdgeInsets.only(top: 20.0), + child: Text( + errorMessage, + textAlign: TextAlign.center, + style: const TextStyle(color: Colors.red), + ), + ), + ); + } +} diff --git a/em2rp/lib/views/widgets/image/big_image_left.dart b/em2rp/lib/views/widgets/image/big_image_left.dart new file mode 100644 index 0000000..eaf634d --- /dev/null +++ b/em2rp/lib/views/widgets/image/big_image_left.dart @@ -0,0 +1,23 @@ +import 'package:em2rp/utils/colors.dart'; +import 'package:flutter/material.dart'; + +class ImageSectionWidget extends StatelessWidget { + const ImageSectionWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + color: AppColors.gris.withOpacity(0.1), + child: ClipRRect( + borderRadius: BorderRadius.zero, + child: Image.asset( + 'assets/images/tshirt-incrust.webp', + fit: BoxFit.cover, + height: double.infinity, + width: double.infinity, + alignment: Alignment.centerLeft, + ), + ), + ); + } +} diff --git a/em2rp/lib/views/widgets/image/em2_logo_n_sur_b.dart b/em2rp/lib/views/widgets/image/em2_logo_n_sur_b.dart new file mode 100644 index 0000000..841b253 --- /dev/null +++ b/em2rp/lib/views/widgets/image/em2_logo_n_sur_b.dart @@ -0,0 +1,13 @@ +import 'package:flutter/material.dart'; + +class LogoWidget extends StatelessWidget { + const LogoWidget({super.key}); + + @override + Widget build(BuildContext context) { + return Image.asset( + 'assets/EM2_NsurB.jpg', + height: 100, + ); + } +} diff --git a/em2rp/pubspec.yaml b/em2rp/pubspec.yaml index 27bd93f..0bee70c 100644 --- a/em2rp/pubspec.yaml +++ b/em2rp/pubspec.yaml @@ -23,3 +23,4 @@ flutter: uses-material-design: true assets: - assets/ + - assets/images/