This commit is contained in:
Gaurav Kumar
2025-09-09 08:45:46 +05:30
parent 01be9df2ed
commit f9043173c0
25 changed files with 3632 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import '../../../../../core/constants/ui_constants.dart';
import '../../../core/constants/ui_constants.dart';
class ModernTextField extends StatefulWidget {
final String? label;
@@ -71,6 +71,7 @@ class _ModernTextFieldState extends State<ModernTextField>
late Animation<double> _scaleAnimation;
bool _isFocused = false;
bool _hasError = false;
late bool _obscureText;
@override
void initState() {
@@ -79,6 +80,7 @@ class _ModernTextFieldState extends State<ModernTextField>
duration: UIConstants.durationFast,
vsync: this,
);
_obscureText = widget.obscureText;
_fadeAnimation = Tween<double>(
begin: 0.0,
@@ -183,7 +185,7 @@ class _ModernTextFieldState extends State<ModernTextField>
controller: widget.controller,
focusNode: widget.focusNode,
keyboardType: widget.keyboardType,
obscureText: widget.obscureText,
obscureText: _obscureText,
enabled: widget.enabled,
readOnly: widget.readOnly,
maxLines: widget.maxLines,
@@ -229,7 +231,7 @@ class _ModernTextFieldState extends State<ModernTextField>
),
)
: null,
suffixIcon: widget.suffixIcon != null
suffixIcon: (widget.suffixIcon != null)
? Padding(
padding: const EdgeInsets.only(
right: UIConstants.spacing16),
@@ -243,7 +245,20 @@ class _ModernTextFieldState extends State<ModernTextField>
child: widget.suffixIcon!,
),
)
: null,
: (widget.obscureText
? IconButton(
onPressed: () {
setState(() {
_obscureText = !_obscureText;
});
},
icon: Icon(
_obscureText
? Icons.visibility_off_outlined
: Icons.visibility_outlined,
),
)
: null),
border: InputBorder.none,
contentPadding: widget.contentPadding ??
const EdgeInsets.symmetric(