From 7285b8f104fb8ad5f2808ba1cb0a430d74be1b74 Mon Sep 17 00:00:00 2001 From: komekh Date: Fri, 9 Aug 2024 10:47:07 +0500 Subject: [PATCH] added visibility --- lib/presentation/screens/login.dart | 26 ++++++++++++++++++++------ lib/presentation/screens/orders.dart | 1 - 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/lib/presentation/screens/login.dart b/lib/presentation/screens/login.dart index 2d0a27d..2e43fff 100644 --- a/lib/presentation/screens/login.dart +++ b/lib/presentation/screens/login.dart @@ -19,6 +19,7 @@ class _LoginScreenState extends State { final TextEditingController _userNameController = TextEditingController(); final TextEditingController _passwordController = TextEditingController(); final _formKey = GlobalKey(); + bool _obscureText = false; void _nextScreen() { Navigator.of(context).pushNamedAndRemoveUntil( @@ -27,6 +28,12 @@ class _LoginScreenState extends State { ); } + void _onEyeTapped() { + setState(() { + _obscureText = !_obscureText; + }); + } + @override void dispose() { _userNameController.dispose(); @@ -151,12 +158,19 @@ class _LoginScreenState extends State { Space.y!, TextFormField( controller: _passwordController, - obscureText: true, - decoration: const InputDecoration( - hintText: 'Öz açar sözüňi ýazyň', - prefixIcon: Icon(Icons.lock_outline), - suffixIcon: Icon(Icons.visibility_off), - border: OutlineInputBorder(), + obscureText: _obscureText, + decoration: InputDecoration( + hintText: 'Öz açar sözüni ýazyň', + prefixIcon: const Icon(Icons.lock_outline), + suffixIcon: GestureDetector( + onTap: _onEyeTapped, + child: _obscureText + ? const Icon(Icons.visibility_off) + : const Icon( + Icons.visibility, + ), + ), + border: const OutlineInputBorder(), ), validator: (val) => FormValidator.validateField(val), ), diff --git a/lib/presentation/screens/orders.dart b/lib/presentation/screens/orders.dart index bd59a66..23f7278 100644 --- a/lib/presentation/screens/orders.dart +++ b/lib/presentation/screens/orders.dart @@ -21,7 +21,6 @@ class _OrdersScreenState extends State { @override Widget build(BuildContext context) { - // Initialize the context (if needed) App.init(context); // Provide the OrderBloc