import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../constant/box_name.dart'; import '../../constant/colors.dart'; import '../../constant/style.dart'; import '../../main.dart'; class MyTextForm extends StatelessWidget { const MyTextForm({ super.key, required this.controller, required this.label, required this.hint, required this.type, }); final TextEditingController controller; final String label, hint; final TextInputType type; @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.only(bottom: 10), child: SizedBox( width: Get.width * .8, child: TextFormField( keyboardType: type, cursorColor: AppColor.accentColor, controller: controller, decoration: InputDecoration( focusedBorder: OutlineInputBorder( borderSide: const BorderSide( color: AppColor.primaryColor, width: 2.0, ), borderRadius: BorderRadius.circular(10), ), focusColor: AppColor.accentColor, fillColor: AppColor.accentColor, border: const OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(12))), labelText: label.tr, hintText: hint.tr, hintStyle: AppStyle.title, labelStyle: AppStyle.title, ), validator: (value) { if (value!.isEmpty) { return '${'Please enter'.tr} $label.'.tr; } if (type == TextInputType.emailAddress) { if (!value.contains('@')) { return 'Please enter a valid email.'.tr; } } else if (type == TextInputType.phone) { if (value.length > 14) { //for this you will return to 10 but now for service egypt return 'Please enter a valid phone number.'.tr; } } return null; }, ), ), ); } }