TF-1958 Fix "To" and "Cc" fields are not displayed in the single line on RTL mode

(cherry picked from commit c48dff29e37a0d9562b1ba7ce744d57cdae5ebaf)
This commit is contained in:
dab246
2023-07-06 17:16:10 +07:00
committed by Dat Vu
parent 657afb67b9
commit ec3fcc7852
2 changed files with 40 additions and 38 deletions
@@ -3,6 +3,7 @@ import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart'; import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/responsive_utils.dart'; import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/utils/style_utils.dart'; import 'package:core/presentation/utils/style_utils.dart';
import 'package:core/utils/direction_utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@@ -41,16 +42,25 @@ class EmailReceiverBuilder extends StatelessWidget {
return Obx(() => Row( return Obx(() => Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded(child: _buildEmailAddressOfReceiver( Expanded(child: Padding(
padding: EdgeInsets.only(top: controller.isDisplayFullEmailAddress
? DirectionUtils.isDirectionRTLByLanguage(context) ? 3 : 5.5
: 0),
child: _buildEmailAddressOfReceiver(
context, context,
emailSelected, emailSelected,
controller.isDisplayFullEmailAddress, controller.isDisplayFullEmailAddress,
maxWidth maxWidth
),
)), )),
if (controller.isDisplayFullEmailAddress) if (controller.isDisplayFullEmailAddress)
Padding( Padding(
padding: const EdgeInsets.only(top: 8), padding: EdgeInsets.symmetric(
vertical: DirectionUtils.isDirectionRTLByLanguage(context) ? 0 : 6),
child: MaterialTextButton( child: MaterialTextButton(
padding: DirectionUtils.isDirectionRTLByLanguage(context)
? const EdgeInsets.symmetric(horizontal: 8, vertical: 4)
: null,
onTap: controller.collapseEmailAddress, onTap: controller.collapseEmailAddress,
label: AppLocalizations.of(context).hide, label: AppLocalizations.of(context).hide,
) )
@@ -142,15 +152,9 @@ class EmailReceiverBuilder extends StatelessWidget {
PrefixEmailAddress prefixEmailAddress, PrefixEmailAddress prefixEmailAddress,
bool isDisplayFull bool isDisplayFull
) { ) {
return Padding( return Row(
padding: const EdgeInsets.only(top: 4),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [ children: [
Padding( Text(
padding: const EdgeInsets.only(top: 5),
child: Text(
'${prefixEmailAddress.asName(context)}:', '${prefixEmailAddress.asName(context)}:',
style: const TextStyle( style: const TextStyle(
fontSize: 16, fontSize: 16,
@@ -158,7 +162,6 @@ class EmailReceiverBuilder extends StatelessWidget {
color: AppColor.colorEmailAddressFull color: AppColor.colorEmailAddressFull
) )
), ),
),
if (!isDisplayFull && presentationEmail.numberOfAllEmailAddress() > 1) if (!isDisplayFull && presentationEmail.numberOfAllEmailAddress() > 1)
_buildListEmailAddressWidget( _buildListEmailAddressWidget(
context, context,
@@ -172,7 +175,6 @@ class EmailReceiverBuilder extends StatelessWidget {
isDisplayFull isDisplayFull
)) ))
] ]
),
); );
} }
@@ -109,7 +109,7 @@ class ChangeLanguageButtonWidget extends StatelessWidget {
), ),
color: AppColor.colorItemSelected, color: AppColor.colorItemSelected,
), ),
padding: const EdgeInsets.only(left: 12, right: 10), padding: const EdgeInsetsDirectional.only(start: 12, end: 10),
child: Row(children: [ child: Row(children: [
Expanded(child: Text( Expanded(child: Text(
_controller.languageSelected.value.getLanguageNameByCurrentLocale(context), _controller.languageSelected.value.getLanguageNameByCurrentLocale(context),