import 'package:flutter/material.dart'; import '../../../../core/l10n/l10n.dart'; import 'auth_field.dart'; class PasswordField extends StatefulWidget { const PasswordField({ super.key, required this.controller, this.label, required this.hint, this.onChanged, }); final TextEditingController controller; final String? label; final String hint; final ValueChanged? onChanged; @override State createState() => _PasswordFieldState(); } class _PasswordFieldState extends State { bool _obscured = true; void _toggleVisibility() { setState(() { _obscured = !_obscured; }); } @override Widget build(BuildContext context) { final colorScheme = Theme.of(context).colorScheme; return AuthField( label: widget.label, hint: widget.hint, controller: widget.controller, obscureText: _obscured, onChanged: widget.onChanged, suffixIcon: IconButton( onPressed: _toggleVisibility, tooltip: _obscured ? context.l10n.authShowPassword : context.l10n.authHidePassword, icon: Icon( _obscured ? Icons.visibility_off_rounded : Icons.visibility_rounded, color: colorScheme.onSurfaceVariant, ), ), ); } }