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,
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|