44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
// lib/views/widgets/password_text_field_widget.dart
 | 
						|
import 'package:em2rp/utils/colors.dart';
 | 
						|
import 'package:flutter/material.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,
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 |