sapaly_store/lib/common/widgets/custom_text_field.dart

66 lines
1.8 KiB
Dart

import 'package:adaptix/adaptix.dart';
import 'package:flutter/material.dart';
import '../../themes/app_theme.dart';
class CustomTextField extends StatelessWidget {
const CustomTextField({
Key? key,
required this.labelText,
required this.controller,
required this.hintText,
required this.obscureText,
required this.inputType,
}) : super(key: key);
final String labelText, hintText;
final TextEditingController controller;
final bool obscureText;
final TextInputType inputType;
@override
Widget build(BuildContext context) {
return TextFormField(
controller: controller,
obscureText: obscureText,
keyboardType: inputType,
cursorColor: AppTheme.lightPrimaryColor,
decoration: InputDecoration(
labelText: labelText,
hintText: hintText,
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.adaptedPx()),
borderSide: BorderSide(
color: AppTheme.lightPrimaryColor,
width: 3.adaptedPx(),
),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.adaptedPx()),
borderSide: BorderSide(
color: AppTheme.redColor,
width: 3.adaptedPx(),
),
),
labelStyle: Theme.of(context).primaryTextTheme.bodyMedium?.copyWith(
color: AppTheme.lightTextColor,
fontSize: 13.adaptedPx(),
),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.adaptedPx()),
borderSide: BorderSide(
color: AppTheme.lightTextColor,
width: 2.adaptedPx(),
),
),
),
validator: (value) {
if (value == null || value.isEmpty) {
return 'Enter your $hintText';
}
return null;
},
);
}
}