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