import 'package:flutter/material.dart'; import 'package:syncrow_web/utils/color_manager.dart'; import 'package:syncrow_web/utils/style.dart'; class CustomWebTextField extends StatelessWidget { const CustomWebTextField({ super.key, required this.isRequired, required this.textFieldName, required this.controller, this.description, this.validator, this.hintText, }); final bool isRequired; final String textFieldName; final String? description; final TextEditingController? controller; final String? Function(String?)? validator; final String? hintText; @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ if (isRequired) Row( children: [ Text( '* ', style: Theme.of(context) .textTheme .bodyMedium! .copyWith(color: Colors.red), ), Text( textFieldName, style: Theme.of(context) .textTheme .bodySmall! .copyWith(color: Colors.black, fontSize: 13), ), ], ), const SizedBox( width: 10, ), Expanded( child: Text( description ?? '', style: Theme.of(context).textTheme.bodySmall!.copyWith( fontSize: 9, fontWeight: FontWeight.w400, color: ColorsManager.textGray), ), ), ], ), const SizedBox( height: 7, ), Container( decoration: containerDecoration .copyWith(color: const Color(0xFFF5F6F7), boxShadow: [ BoxShadow( color: Colors.grey.withOpacity(0.3), spreadRadius: 2, blurRadius: 3, offset: const Offset(1, 1), // changes position of shadow ), ]), child: TextFormField( validator: validator, controller: controller, style: const TextStyle(color: Colors.black), decoration: textBoxDecoration()!.copyWith( errorStyle: const TextStyle(height: 0), // Hide the error text space hintText: hintText ?? 'Please enter'), ), ), ], ); } }