68 lines
1.9 KiB
Dart
68 lines
1.9 KiB
Dart
|
|
import 'package:flutter/material.dart';
|
||
|
|
import 'package:real_estate_mobile/core/constants/app_colors.dart';
|
||
|
|
|
||
|
|
class AuthTextField extends StatelessWidget {
|
||
|
|
final String hintText;
|
||
|
|
final TextEditingController controller;
|
||
|
|
final bool obscureText;
|
||
|
|
final TextInputType keyboardType;
|
||
|
|
final Widget? suffixIcon;
|
||
|
|
final String? errorText;
|
||
|
|
final TextInputAction textInputAction;
|
||
|
|
|
||
|
|
const AuthTextField({
|
||
|
|
super.key,
|
||
|
|
required this.hintText,
|
||
|
|
required this.controller,
|
||
|
|
this.obscureText = false,
|
||
|
|
this.keyboardType = TextInputType.text,
|
||
|
|
this.suffixIcon,
|
||
|
|
this.errorText,
|
||
|
|
this.textInputAction = TextInputAction.next,
|
||
|
|
});
|
||
|
|
|
||
|
|
@override
|
||
|
|
Widget build(BuildContext context) {
|
||
|
|
return Column(
|
||
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||
|
|
children: [
|
||
|
|
TextField(
|
||
|
|
controller: controller,
|
||
|
|
obscureText: obscureText,
|
||
|
|
keyboardType: keyboardType,
|
||
|
|
textInputAction: textInputAction,
|
||
|
|
style: const TextStyle(
|
||
|
|
fontFamily: 'Fractul',
|
||
|
|
fontSize: 14,
|
||
|
|
fontWeight: FontWeight.w300,
|
||
|
|
color: AppColors.primaryDark,
|
||
|
|
),
|
||
|
|
decoration: InputDecoration(
|
||
|
|
hintText: hintText,
|
||
|
|
suffixIcon: suffixIcon,
|
||
|
|
enabledBorder: OutlineInputBorder(
|
||
|
|
borderRadius: BorderRadius.circular(20),
|
||
|
|
borderSide: errorText != null
|
||
|
|
? const BorderSide(color: AppColors.error, width: 1.5)
|
||
|
|
: BorderSide.none,
|
||
|
|
),
|
||
|
|
),
|
||
|
|
),
|
||
|
|
if (errorText != null)
|
||
|
|
Padding(
|
||
|
|
padding: const EdgeInsets.only(top: 4, left: 8),
|
||
|
|
child: Text(
|
||
|
|
errorText!,
|
||
|
|
style: const TextStyle(
|
||
|
|
fontFamily: 'Fractul',
|
||
|
|
fontSize: 12,
|
||
|
|
fontWeight: FontWeight.w300,
|
||
|
|
color: AppColors.error,
|
||
|
|
),
|
||
|
|
),
|
||
|
|
),
|
||
|
|
],
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|