TF-1581 Update UI to support language RTL
This commit is contained in:
@@ -426,7 +426,6 @@ class DestinationPickerController extends BaseMailboxController {
|
||||
}
|
||||
|
||||
if (BuildUtils.isWeb) {
|
||||
_disposeWidget();
|
||||
onSelectedMailboxCallback?.call(mailboxDestination.value);
|
||||
} else {
|
||||
popBack(result: mailboxDestination.value);
|
||||
@@ -475,7 +474,6 @@ class DestinationPickerController extends BaseMailboxController {
|
||||
FocusScope.of(context).unfocus();
|
||||
|
||||
if (BuildUtils.isWeb) {
|
||||
_disposeWidget();
|
||||
onDismissDestinationPicker?.call();
|
||||
} else {
|
||||
popBack();
|
||||
|
||||
@@ -31,6 +31,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_fold
|
||||
import 'package:tmail_ui_user/features/mailbox_creator/presentation/widgets/create_mailbox_name_input_decoration_builder.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/widgets/search_app_bar_widget.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
class DestinationPickerView extends GetWidget<DestinationPickerController>
|
||||
with AppLoaderMixin,
|
||||
@@ -368,8 +369,12 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
||||
return TreeViewChild(
|
||||
context,
|
||||
key: const Key('children_tree_mailbox_child'),
|
||||
isDirectionRTL: AppUtils.isDirectionRTL(context),
|
||||
isExpanded: mailboxNode.expandMode == ExpandMode.EXPAND,
|
||||
paddingChild: const EdgeInsets.only(left: 14),
|
||||
paddingChild: EdgeInsets.only(
|
||||
left: AppUtils.isDirectionRTL(context) ? 0 : 14,
|
||||
right: AppUtils.isDirectionRTL(context) ? 14 : 0,
|
||||
),
|
||||
parent: (MailBoxFolderTileBuilder(
|
||||
context,
|
||||
_imagePaths,
|
||||
@@ -481,7 +486,10 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
||||
if (actions == MailboxActions.select && (mailboxIdSelected == null ||
|
||||
mailboxIdSelected == PresentationMailbox.unifiedMailbox.id))
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 30.0),
|
||||
padding: EdgeInsets.only(
|
||||
right: AppUtils.isDirectionRTL(context) ? 0 : 30.0,
|
||||
left: AppUtils.isDirectionRTL(context) ? 30 : 0.0,
|
||||
),
|
||||
child: SvgPicture.asset(
|
||||
_imagePaths.icFilterSelected,
|
||||
width: 20,
|
||||
@@ -535,7 +543,12 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||
child: Row(
|
||||
children: [
|
||||
Padding(padding: const EdgeInsets.only(left: 5), child: buildIconWeb(
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
left: AppUtils.isDirectionRTL(context) ? 0 : 5,
|
||||
right: AppUtils.isDirectionRTL(context) ? 5 : 0,
|
||||
),
|
||||
child: buildIconWeb(
|
||||
icon: SvgPicture.asset(
|
||||
_imagePaths.icBack,
|
||||
colorFilter: AppColor.colorTextButton.asFilter(),
|
||||
@@ -549,7 +562,10 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
|
||||
hasBackButton: false,
|
||||
hasSearchButton: true)
|
||||
..addPadding(EdgeInsets.zero)
|
||||
..setMargin(const EdgeInsets.only(right: 16))
|
||||
..setMargin(EdgeInsets.only(
|
||||
right: AppUtils.isDirectionRTL(context) ? 0 : 16,
|
||||
left: AppUtils.isDirectionRTL(context) ? 16 : 0,
|
||||
))
|
||||
..addDecoration(BoxDecoration(borderRadius: BorderRadius.circular(12), color: AppColor.colorBgSearchBar))
|
||||
..addIconClearText(SvgPicture.asset(_imagePaths.icClearTextSearch, width: 18, height: 18, fit: BoxFit.fill))
|
||||
..setHintText(AppLocalizations.of(context).hint_search_mailboxes)
|
||||
|
||||
+7
-3
@@ -11,6 +11,7 @@ import 'package:tmail_ui_user/features/mailbox/domain/extensions/presentation_ma
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart';
|
||||
import 'package:tmail_ui_user/features/search/mailbox/presentation/utils/search_mailbox_utils.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
class DestinationPickerSearchMailboxItemBuilder extends StatelessWidget {
|
||||
|
||||
@@ -64,7 +65,7 @@ class DestinationPickerSearchMailboxItemBuilder extends StatelessWidget {
|
||||
]
|
||||
)
|
||||
)),
|
||||
_buildSelectedIcon()
|
||||
_buildSelectedIcon(context)
|
||||
]
|
||||
),
|
||||
)
|
||||
@@ -132,12 +133,15 @@ class DestinationPickerSearchMailboxItemBuilder extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
Widget _buildSelectedIcon() {
|
||||
Widget _buildSelectedIcon(BuildContext context) {
|
||||
if (_presentationMailbox.id == mailboxIdAlreadySelected &&
|
||||
(mailboxActions == MailboxActions.select ||
|
||||
mailboxActions == MailboxActions.create)) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(right: 8),
|
||||
padding: EdgeInsets.only(
|
||||
right: AppUtils.isDirectionRTL(context) ? 0 : 8,
|
||||
left: AppUtils.isDirectionRTL(context) ? 8 : 0,
|
||||
),
|
||||
child: SvgPicture.asset(
|
||||
_imagePaths.icFilterSelected,
|
||||
width: 20,
|
||||
|
||||
+9
-2
@@ -7,6 +7,7 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_screen_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
typedef OnCreateNewMailboxAction = Function();
|
||||
typedef OnOpenCreateNewMailboxScreenAction = Function();
|
||||
@@ -61,7 +62,10 @@ class TopBarDestinationPickerBuilder extends StatelessWidget {
|
||||
fontWeight: FontWeight.w700))),
|
||||
if (_destinationScreenType == DestinationScreenType.destinationPicker)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 8.0),
|
||||
padding: EdgeInsets.only(
|
||||
left: AppUtils.isDirectionRTL(context) ? 0 : 8,
|
||||
right: AppUtils.isDirectionRTL(context) ? 8 : 0,
|
||||
),
|
||||
child: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: buildIconWeb(
|
||||
@@ -76,7 +80,10 @@ class TopBarDestinationPickerBuilder extends StatelessWidget {
|
||||
)
|
||||
else
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 8.0),
|
||||
padding: EdgeInsets.only(
|
||||
left: AppUtils.isDirectionRTL(context) ? 0 : 8,
|
||||
right: AppUtils.isDirectionRTL(context) ? 8 : 0,
|
||||
),
|
||||
child: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: Material(
|
||||
|
||||
Reference in New Issue
Block a user