TF-1960 Fix alignment arrow button in RTL mode

(cherry picked from commit c3101d1710874d295eac6821853bc72095022446)
This commit is contained in:
dab246
2023-07-07 13:55:32 +07:00
committed by Dat Vu
parent fb5f96f316
commit 0824e25910
4 changed files with 37 additions and 38 deletions
@@ -36,7 +36,7 @@ class ButtonBuilder {
_context = context;
}
void size(double size) {
void size(double? size) {
_size = size;
}
@@ -8,6 +8,7 @@ import 'package:core/presentation/views/html_viewer/html_content_viewer_on_web_w
import 'package:core/presentation/views/html_viewer/html_content_viewer_widget.dart';
import 'package:core/presentation/views/html_viewer/html_viewer_controller_for_web.dart';
import 'package:core/utils/app_logger.dart';
import 'package:core/utils/direction_utils.dart';
import 'package:core/utils/platform_info.dart';
import 'package:filesize/filesize.dart';
import 'package:flutter/cupertino.dart';
@@ -195,7 +196,7 @@ class EmailView extends GetWidget<SingleEmailController> {
return [
buildIconWeb(
icon: SvgPicture.asset(
imagePaths.icNewer,
DirectionUtils.isDirectionRTLByLanguage(context) ? imagePaths.icOlder : imagePaths.icNewer,
colorFilter: controller.emailSupervisorController.nextEmailActivated
? AppColor.primaryColor.asFilter()
: AppColor.colorAttachmentIcon.asFilter(),
@@ -206,7 +207,7 @@ class EmailView extends GetWidget<SingleEmailController> {
onTap: controller.emailSupervisorController.moveToNextEmail),
buildIconWeb(
icon: SvgPicture.asset(
imagePaths.icOlder,
DirectionUtils.isDirectionRTLByLanguage(context) ? imagePaths.icNewer : imagePaths.icOlder,
width: IconUtils.defaultIconSize,
height: IconUtils.defaultIconSize,
colorFilter: controller.emailSupervisorController.previousEmailActivated
@@ -1,12 +1,12 @@
import 'package:core/core.dart';
import 'package:core/utils/direction_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
typedef OnBackActionClick = void Function();
typedef OnEmailActionClick = void Function(PresentationEmail, EmailActionType);
@@ -58,20 +58,23 @@ class AppBarMailWidgetBuilder extends StatelessWidget {
child: Container(
color: Colors.transparent,
height: 32,
padding: const EdgeInsets.symmetric(horizontal: 8),
padding: DirectionUtils.isDirectionRTLByLanguage(context)
? const EdgeInsetsDirectional.only(end: 10)
: const EdgeInsets.symmetric(horizontal: 8),
child: Row(mainAxisSize: MainAxisSize.min, children: [
SvgPicture.asset(
_imagePaths.icBack,
width: 14,
height: 14,
colorFilter: AppColor.colorTextButton.asFilter(),
fit: BoxFit.fill),
DirectionUtils.isDirectionRTLByLanguage(context)
? _imagePaths.icArrowRight
: _imagePaths.icBack,
width: DirectionUtils.isDirectionRTLByLanguage(context) ? null : 16,
height: DirectionUtils.isDirectionRTLByLanguage(context) ? null : 16,
colorFilter: AppColor.colorTextButton.asFilter(),
fit: BoxFit.fill),
if (!isSearchIsRunning)
Container(
margin: EdgeInsets.only(
left: AppUtils.isDirectionRTL(context) ? 0 : 8,
right: AppUtils.isDirectionRTL(context) ? 8 : 0,
),
margin: DirectionUtils.isDirectionRTLByLanguage(context)
? null
: const EdgeInsetsDirectional.only(start: 8),
constraints: BoxConstraints(
maxWidth: _responsiveUtils.getSizeScreenWidth(context) - 250),
child: Text(
@@ -1,5 +1,6 @@
import 'package:core/core.dart';
import 'package:core/utils/direction_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
@@ -58,12 +59,8 @@ class ManageAccountMenuView extends GetWidget<ManageAccountMenuController> {
color: _responsiveUtils.isWebDesktop(context) ? AppColor.colorBgDesktop : Colors.white,
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Padding(
padding: EdgeInsets.only(
left: AppUtils.isDirectionRTL(context) ? 0 : 20,
right: AppUtils.isDirectionRTL(context) ? 20 : 0,
top: 24
),
child: (ButtonBuilder(_imagePaths.icBack)
padding: const EdgeInsetsDirectional.only(start: 20, top: 24),
child: (ButtonBuilder(DirectionUtils.isDirectionRTLByLanguage(context) ? _imagePaths.icArrowRight : _imagePaths.icBack)
..key(const Key('button_back'))
..decoration(BoxDecoration(borderRadius: BorderRadius.circular(10), color: AppColor.colorBgMailboxSelected))
..paddingIcon(EdgeInsets.only(
@@ -72,31 +69,32 @@ class ManageAccountMenuView extends GetWidget<ManageAccountMenuController> {
))
..iconColor(AppColor.colorTextButton)
..maxWidth(100)
..size(16)
..size(DirectionUtils.isDirectionRTLByLanguage(context) ? null : 16)
..radiusSplash(10)
..padding(const EdgeInsets.symmetric(vertical: 10))
..padding(DirectionUtils.isDirectionRTLByLanguage(context)
? const EdgeInsets.symmetric(vertical: 5)
: const EdgeInsets.symmetric(vertical: 10))
..textStyle(const TextStyle(fontSize: 15, color: AppColor.colorTextButton, fontWeight: FontWeight.normal))
..onPressActionClick(() => controller.backToMailboxDashBoard(context))
..text(AppLocalizations.of(context).back, isVertical: false))
.build()),
Padding(
padding: EdgeInsets.only(
left: AppUtils.isDirectionRTL(context) ? 0 : 32,
right: AppUtils.isDirectionRTL(context) ? 32 : 0,
top: 20
),
child: Text(
AppLocalizations.of(context).manage_account,
style: const TextStyle(color: Colors.black, fontWeight: FontWeight.bold, fontSize: 17))),
padding: const EdgeInsetsDirectional.only(start: 32, top: 20),
child: Text(
AppLocalizations.of(context).manage_account,
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 17
)
)
),
const SizedBox(height: 12),
Obx(() {
if (controller.listAccountMenuItem.isNotEmpty) {
return ListView.builder(
key: const Key('list_manage_account_menu_item'),
padding: EdgeInsets.only(
left: AppUtils.isDirectionRTL(context) ? 8 : 16,
right: AppUtils.isDirectionRTL(context) ? 16 : 8
),
padding: const EdgeInsetsDirectional.only(start: 16, end: 8),
shrinkWrap: true,
itemCount: controller.listAccountMenuItem.length,
itemBuilder: (context, index) => Obx(() {
@@ -116,10 +114,7 @@ class ManageAccountMenuView extends GetWidget<ManageAccountMenuController> {
padding: EdgeInsets.symmetric(vertical: 16),
child: Divider(color: AppColor.lineItemListColor, height: 0.5, thickness: 0.2)),
Padding(
padding: EdgeInsets.only(
left: AppUtils.isDirectionRTL(context) ? 0 : 32,
right: AppUtils.isDirectionRTL(context) ? 32 : 0,
),
padding: const EdgeInsetsDirectional.only(start: 32),
child: InkWell(
onTap: () {
controller.dashBoardController.logout(