TF-3763 Set default height advanced search fields are 40px

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-16 14:38:59 +07:00
committed by Dat H. Pham
parent 88ee4bc55e
commit 1378d40596
9 changed files with 41 additions and 15 deletions
@@ -12,12 +12,14 @@ import 'package:tmail_ui_user/features/composer/presentation/styles/draggable_re
class DraggableRecipientTagWidget extends StatelessWidget { class DraggableRecipientTagWidget extends StatelessWidget {
final EmailAddress emailAddress; final EmailAddress emailAddress;
final EdgeInsetsGeometry? padding;
final _imagePaths = Get.find<ImagePaths>(); final _imagePaths = Get.find<ImagePaths>();
DraggableRecipientTagWidget({ DraggableRecipientTagWidget({
super.key, super.key,
required this.emailAddress required this.emailAddress,
this.padding,
}); });
@override @override
@@ -31,7 +33,7 @@ class DraggableRecipientTagWidget extends StatelessWidget {
), ),
color: DraggableRecipientTagWidgetStyle.backgroundColor color: DraggableRecipientTagWidgetStyle.backgroundColor
), ),
padding: DraggableRecipientTagWidgetStyle.padding, padding: padding ?? DraggableRecipientTagWidgetStyle.padding,
child: Row( child: Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
@@ -9,6 +9,7 @@ class AdvancedSearchInputFormStyle {
static const double inputFieldBorderRadius = 10; static const double inputFieldBorderRadius = 10;
static const double inputFieldBorderWidth = 1; static const double inputFieldBorderWidth = 1;
static const double inputFieldHeight = 40;
static const Color inputFieldBorderColor = AppColor.m3Neutral90; static const Color inputFieldBorderColor = AppColor.m3Neutral90;
static const Color inputFieldBackgroundColor = Colors.white; static const Color inputFieldBackgroundColor = Colors.white;
@@ -2,12 +2,12 @@ import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class AutoCompleteTagItemWebStyle { class AutoCompleteTagItemWebStyle {
static const double paddingTop = 8; static const double paddingTop = 3.0;
static const double paddingEnd = 40.0; static const double paddingEnd = 40.0;
static const double labelPaddingHorizontal = 4.0; static const double labelPaddingHorizontal = 4.0;
static const EdgeInsetsGeometry collapsedPadding = EdgeInsetsDirectional.symmetric(vertical: 4, horizontal: 8); static const EdgeInsetsGeometry collapsedPadding = EdgeInsetsDirectional.symmetric(vertical: 4, horizontal: 8);
static const EdgeInsetsGeometry marginCollapsed = EdgeInsets.only(top: 8); static const EdgeInsetsGeometry marginCollapsed = EdgeInsets.only(top: 3);
static const BorderRadius shapeBorderRadius = BorderRadius.all(Radius.circular(10.0)); static const BorderRadius shapeBorderRadius = BorderRadius.all(Radius.circular(10.0));
@@ -5,8 +5,15 @@ import 'package:tmail_ui_user/features/composer/presentation/styles/composer_sty
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/advanced_search_input_form_style.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/advanced_search_input_form_style.dart';
class TextFieldAutoCompleteEmailAddressWebStyles { class TextFieldAutoCompleteEmailAddressWebStyles {
static const EdgeInsetsGeometry textInputContentPadding = EdgeInsetsDirectional.only(top: 16, bottom: 16, start: 12, end: 8); static const EdgeInsetsGeometry textInputContentPadding =
static const EdgeInsetsGeometry textInputContentPaddingWithSomeTag = EdgeInsetsDirectional.symmetric(vertical: 16); EdgeInsetsDirectional.only(
top: 14,
bottom: 14,
start: 12,
end: 8,
);
static const EdgeInsetsGeometry textInputContentPaddingWithSomeTag =
EdgeInsetsDirectional.symmetric(vertical: 14);
static const EdgeInsets tagEditorPadding = EdgeInsets.symmetric(horizontal: 12); static const EdgeInsets tagEditorPadding = EdgeInsets.symmetric(horizontal: 12);
static const double suggestionBoxRadius = 20.0; static const double suggestionBoxRadius = 20.0;
@@ -136,8 +136,8 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
), ),
), ),
), ),
height: 44, height: AdvancedSearchInputFormStyle.inputFieldHeight,
width: 44, width: AdvancedSearchInputFormStyle.inputFieldHeight,
child: TMailButtonWidget.fromIcon( child: TMailButtonWidget.fromIcon(
icon: controller.imagePaths.icCalendarSB, icon: controller.imagePaths.icCalendarSB,
iconSize: 22, iconSize: 22,
@@ -257,7 +257,10 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: child, children: child,
) )
: SizedBox(height: 44, child: Row(children: child)); : SizedBox(
height: AdvancedSearchInputFormStyle.inputFieldHeight,
child: Row(children: child),
);
} }
bool _isVerticalArrange(BuildContext context) => bool _isVerticalArrange(BuildContext context) =>
@@ -342,6 +345,9 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
}, },
onTextChange: onTextChange, onTextChange: onTextChange,
decoration: InputDecoration( decoration: InputDecoration(
constraints: const BoxConstraints(
maxHeight: AdvancedSearchInputFormStyle.inputFieldHeight,
),
filled: true, filled: true,
fillColor: AdvancedSearchInputFormStyle.inputFieldBackgroundColor, fillColor: AdvancedSearchInputFormStyle.inputFieldBackgroundColor,
contentPadding: const EdgeInsetsDirectional.only(start: 12, end: 8), contentPadding: const EdgeInsetsDirectional.only(start: 12, end: 8),
@@ -55,8 +55,14 @@ class AutoCompleteTagItemWidgetWeb extends StatelessWidget {
emailAddress: currentEmailAddress, emailAddress: currentEmailAddress,
prefix: field.getPrefixEmailAddress() prefix: field.getPrefixEmailAddress()
), ),
feedback: DraggableRecipientTagWidget(emailAddress: currentEmailAddress), feedback: DraggableRecipientTagWidget(
childWhenDragging: DraggableRecipientTagWidget(emailAddress: currentEmailAddress), emailAddress: currentEmailAddress,
padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4),
),
childWhenDragging: DraggableRecipientTagWidget(
emailAddress: currentEmailAddress,
padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4),
),
child: TextFieldTapRegion( child: TextFieldTapRegion(
child: InkWell( child: InkWell(
onTap: () => isCollapsed onTap: () => isCollapsed
@@ -35,7 +35,7 @@ class DateDropDownButton extends StatelessWidget {
.toList(), .toList(),
value: receiveTimeSelected, value: receiveTimeSelected,
customButton: Container( customButton: Container(
height: 44, height: AdvancedSearchInputFormStyle.inputFieldHeight,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: const BorderRadius.all( borderRadius: const BorderRadius.all(
Radius.circular(AdvancedSearchInputFormStyle.inputFieldBorderRadius), Radius.circular(AdvancedSearchInputFormStyle.inputFieldBorderRadius),
@@ -64,7 +64,7 @@ class DateDropDownButton extends StatelessWidget {
} }
}, },
buttonStyleData: ButtonStyleData( buttonStyleData: ButtonStyleData(
height: 44, height: AdvancedSearchInputFormStyle.inputFieldHeight,
padding: const EdgeInsetsDirectional.only(start: 12, end: 8), padding: const EdgeInsetsDirectional.only(start: 12, end: 8),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: const BorderRadius.all( borderRadius: const BorderRadius.all(
@@ -61,7 +61,7 @@ class SortByDropDownButton extends StatelessWidget {
)).toList(), )).toList(),
value: sortOrderSelected, value: sortOrderSelected,
customButton: Container( customButton: Container(
height: SortByDropdownStyle.height, height: AdvancedSearchInputFormStyle.inputFieldHeight,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: const BorderRadius.all( borderRadius: const BorderRadius.all(
Radius.circular(AdvancedSearchInputFormStyle.inputFieldBorderRadius), Radius.circular(AdvancedSearchInputFormStyle.inputFieldBorderRadius),
@@ -90,7 +90,7 @@ class SortByDropDownButton extends StatelessWidget {
), ),
onChanged: onSortOrderSelected, onChanged: onSortOrderSelected,
buttonStyleData: ButtonStyleData( buttonStyleData: ButtonStyleData(
height: SortByDropdownStyle.height, height: AdvancedSearchInputFormStyle.inputFieldHeight,
padding: SortByDropdownStyle.buttonPadding, padding: SortByDropdownStyle.buttonPadding,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: const BorderRadius.all( borderRadius: const BorderRadius.all(
@@ -141,6 +141,10 @@ class _TextFieldAutocompleteEmailAddressWebState extends State<TextFieldAutocomp
debounceDuration: TextFieldAutoCompleteEmailAddressWebStyles.debounceDuration, debounceDuration: TextFieldAutoCompleteEmailAddressWebStyles.debounceDuration,
inputDecoration: InputDecoration( inputDecoration: InputDecoration(
filled: true, filled: true,
constraints: const BoxConstraints(
maxHeight:
AdvancedSearchInputFormStyle.inputFieldHeight,
),
fillColor: TextFieldAutoCompleteEmailAddressWebStyles.textInputFillColor, fillColor: TextFieldAutoCompleteEmailAddressWebStyles.textInputFillColor,
border: TextFieldAutoCompleteEmailAddressWebStyles.textInputBorder, border: TextFieldAutoCompleteEmailAddressWebStyles.textInputBorder,
hintText: widget.field.getHintText(context), hintText: widget.field.getHintText(context),