import 'package:flutter/material.dart'; Widget roundedInput({ required TextEditingController controller, required String hint, required IconData icon, bool isPassword = false, }) { return RoundedInput( controller: controller, hint: hint, icon: icon, isPassword: isPassword, ); } class RoundedInput extends StatefulWidget { const RoundedInput({ super.key, required this.controller, required this.hint, required this.icon, this.isPassword = false, }); final TextEditingController controller; final String hint; final IconData icon; final bool isPassword; @override State createState() => _RoundedInputState(); } class _RoundedInputState extends State { late bool _obscured; @override void initState() { super.initState(); _obscured = widget.isPassword; } @override Widget build(BuildContext context) { return TextField( controller: widget.controller, obscureText: _obscured, decoration: InputDecoration( hintText: widget.hint, prefixIcon: Icon(widget.icon, color: Colors.grey), suffixIcon: widget.isPassword ? IconButton( onPressed: () { setState(() { _obscured = !_obscured; }); }, icon: Icon( _obscured ? Icons.visibility : Icons.visibility_off, color: Colors.grey, ), ) : null, filled: true, fillColor: const Color(0xFFE9EEF3), contentPadding: const EdgeInsets.symmetric(vertical: 16), border: OutlineInputBorder( borderRadius: BorderRadius.circular(30), borderSide: BorderSide.none, ), ), ); } }