From 98fb72f4ae48573c67b042ba4477a08dad7a2c25 Mon Sep 17 00:00:00 2001 From: prg-maker Date: Wed, 29 Jan 2025 18:59:14 -0300 Subject: [PATCH 1/2] feat: alterei o input --- .../screens/Login/components/input_purple.dart | 15 +++++++++++++-- catavento/lib/screens/Login/login.dart | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/catavento/lib/screens/Login/components/input_purple.dart b/catavento/lib/screens/Login/components/input_purple.dart index a9dd5ea..2b8e249 100644 --- a/catavento/lib/screens/Login/components/input_purple.dart +++ b/catavento/lib/screens/Login/components/input_purple.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; class PurpleTextField extends StatelessWidget { + final String label; final Icon icon; - const PurpleTextField({super.key, required this.label , required this.icon}); + final bool isSecurepassword ; + const PurpleTextField({super.key, required this.label , required this.icon , required this.isSecurepassword }); @override Widget build(BuildContext context) { @@ -11,7 +13,7 @@ class PurpleTextField extends StatelessWidget { width: 324, height: 68 , child: TextField( - + obscureText: isSecurepassword, decoration: InputDecoration( border: OutlineInputBorder( @@ -29,6 +31,7 @@ class PurpleTextField extends StatelessWidget { filled: true, fillColor: Color(0xFFDEE1FF), labelText: label, + labelStyle: TextStyle( color: Color(0xCCACACAC), fontSize: 16.0, @@ -38,4 +41,12 @@ class PurpleTextField extends StatelessWidget { ), ); } + + + Widget togglePassword(){ + return IconButton(onPressed: ()=>{ + + }, icon: isSecurepassword ?Icon( Icons.visibility) : Icon(Icons.visibility_off)); + } } + diff --git a/catavento/lib/screens/Login/login.dart b/catavento/lib/screens/Login/login.dart index 68381b0..8fafe56 100644 --- a/catavento/lib/screens/Login/login.dart +++ b/catavento/lib/screens/Login/login.dart @@ -11,6 +11,7 @@ class Login extends StatefulWidget { class _LoginState extends State { bool isLoading = false; + @override Widget build(BuildContext context) { return Scaffold( @@ -52,6 +53,7 @@ class _LoginState extends State { child: Column( children: [ PurpleTextField( + isSecurepassword: false, label: "Digite o nome do seu usuário", icon: Icon( Icons.person_outline, @@ -62,6 +64,7 @@ class _LoginState extends State { height: 20, ), PurpleTextField( + isSecurepassword: true, label: "Digite a sua senha", icon: Icon( Icons.lock_outline, From 6ef95db270fc3ae1e0b817cec61ad5f10a104ce8 Mon Sep 17 00:00:00 2001 From: prg-maker Date: Wed, 29 Jan 2025 19:49:39 -0300 Subject: [PATCH 2/2] feat: adicionei o ver e nao ver a senha na tela de login --- .../Login/components/input_purple.dart | 87 +++++++++++-------- .../Login/components/input_purple_email.dart | 60 +++++++++++++ catavento/lib/screens/Login/login.dart | 5 +- 3 files changed, 116 insertions(+), 36 deletions(-) create mode 100644 catavento/lib/screens/Login/components/input_purple_email.dart diff --git a/catavento/lib/screens/Login/components/input_purple.dart b/catavento/lib/screens/Login/components/input_purple.dart index 2b8e249..879e9c6 100644 --- a/catavento/lib/screens/Login/components/input_purple.dart +++ b/catavento/lib/screens/Login/components/input_purple.dart @@ -1,52 +1,71 @@ import 'package:flutter/material.dart'; -class PurpleTextField extends StatelessWidget { - +class PurpleTextField extends StatefulWidget { final String label; final Icon icon; - final bool isSecurepassword ; - const PurpleTextField({super.key, required this.label , required this.icon , required this.isSecurepassword }); + final bool isSecurepassword; + + const PurpleTextField({ + super.key, + required this.label, + required this.icon, + required this.isSecurepassword, + }); + + @override + _PurpleTextFieldState createState() => _PurpleTextFieldState(); +} + +class _PurpleTextFieldState extends State { + late bool _securePasswordState; + + @override + void initState() { + super.initState(); + // Inicializa o estado da visibilidade da senha com o valor recebido no construtor. + _securePasswordState = widget.isSecurepassword; + } @override Widget build(BuildContext context) { return SizedBox( width: 324, - height: 68 , + height: 68, child: TextField( - obscureText: isSecurepassword, + obscureText: _securePasswordState, decoration: InputDecoration( - - border: OutlineInputBorder( - borderSide: BorderSide(width:2 ), - borderRadius: BorderRadius.circular(4.0) - ), - enabledBorder: OutlineInputBorder( - - borderSide: BorderSide( width: 2,color: Color(0xFFACACAC)) - ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide ( width: 2 , color: Color(0x80FC298F)) - ), - prefixIcon: icon , - filled: true, - fillColor: Color(0xFFDEE1FF), - labelText: label, - - labelStyle: TextStyle( - color: Color(0xCCACACAC), - fontSize: 16.0, - fontWeight: FontWeight.w100 - ) + border: OutlineInputBorder( + borderSide: BorderSide(width: 2), + borderRadius: BorderRadius.circular(4.0)), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(width: 2, color: Color(0xFFACACAC))), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(width: 2, color: Color(0x80FC298F))), + prefixIcon: widget.icon, + filled: true, + fillColor: Color(0xFFDEE1FF), + labelText: widget.label, + suffixIcon: togglePassword() , + labelStyle: TextStyle( + color: Color(0xCCACACAC), + fontSize: 16.0, + fontWeight: FontWeight.w100), ), ), ); } - - Widget togglePassword(){ - return IconButton(onPressed: ()=>{ - - }, icon: isSecurepassword ?Icon( Icons.visibility) : Icon(Icons.visibility_off)); + // Função para alternar a visibilidade da senha + Widget togglePassword() { + return IconButton( + onPressed: () { + setState(() { + _securePasswordState = !_securePasswordState; + }); + }, + icon: _securePasswordState + ? Icon(Icons.visibility , color: Color(0xFFACACAC),) + : Icon(Icons.visibility_off, color: Color(0xFFACACAC),) , + ); } } - diff --git a/catavento/lib/screens/Login/components/input_purple_email.dart b/catavento/lib/screens/Login/components/input_purple_email.dart new file mode 100644 index 0000000..c2a612c --- /dev/null +++ b/catavento/lib/screens/Login/components/input_purple_email.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; + +class PurpleTextFieldEmail extends StatefulWidget { + final String label; + final Icon icon; + + + const PurpleTextFieldEmail({ + super.key, + required this.label, + required this.icon, + + }); + + @override + _PurpleTextFieldEmailState createState() => _PurpleTextFieldEmailState(); +} + +class _PurpleTextFieldEmailState extends State { + + + @override + void initState() { + super.initState(); + // Inicializa o estado da visibilidade da senha com o valor recebido no construtor. + + } + + @override + Widget build(BuildContext context) { + return SizedBox( + width: 324, + height: 68, + child: TextField( + + decoration: InputDecoration( + border: OutlineInputBorder( + borderSide: BorderSide(width: 2), + borderRadius: BorderRadius.circular(4.0)), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide(width: 2, color: Color(0xFFACACAC))), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide(width: 2, color: Color(0x80FC298F))), + prefixIcon: widget.icon, + filled: true, + fillColor: Color(0xFFDEE1FF), + labelText: widget.label, + + labelStyle: TextStyle( + color: Color(0xCCACACAC), + fontSize: 16.0, + fontWeight: FontWeight.w100), + ), + ), + ); + } + + // Função para alternar a visibilidade da senha + +} diff --git a/catavento/lib/screens/Login/login.dart b/catavento/lib/screens/Login/login.dart index 8fafe56..121761f 100644 --- a/catavento/lib/screens/Login/login.dart +++ b/catavento/lib/screens/Login/login.dart @@ -1,3 +1,4 @@ +import 'package:catavento/screens/Login/components/input_purple_email.dart'; import 'package:flutter/material.dart'; import 'components/input_purple.dart'; import 'components/button_singIn.dart'; @@ -52,8 +53,8 @@ class _LoginState extends State { Form( child: Column( children: [ - PurpleTextField( - isSecurepassword: false, + PurpleTextFieldEmail( + label: "Digite o nome do seu usuário", icon: Icon( Icons.person_outline,