Files
syncrow-web/lib/pages/common/custom_web_textfield.dart
mohammad 2e3f130071 fix bugs
2024-08-26 19:44:55 +03:00

84 lines
2.5 KiB
Dart

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,
});
final bool isRequired;
final String textFieldName;
final String? description;
final TextEditingController? controller;
final String? Function(String?)? validator;
@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
hintStyle: TextStyle(color: ColorsManager.grayColor),
hintText: 'Please enter'),
),
),
],
);
}
}