TF-4036 In a thread, put the three-dot menu (…) in the left side
This commit is contained in:
@@ -46,45 +46,7 @@ class ThreadDetailAppBar extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final child = LayoutBuilder(
|
||||
builder: (context, constraints) {
|
||||
Widget backButton = EmailViewBackButton(
|
||||
imagePaths: imagePaths,
|
||||
onBackAction: () => closeThreadDetailAction(context),
|
||||
mailboxContain: mailboxContain,
|
||||
isSearchActivated: isSearchRunning,
|
||||
maxWidth: constraints.maxWidth,
|
||||
);
|
||||
if (responsiveUtils.isMobile(context)) {
|
||||
backButton = Expanded(
|
||||
child: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: backButton,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return Container(
|
||||
height: PlatformInfo.isIOS
|
||||
? EmailViewAppBarWidgetStyles.heightIOS(context, responsiveUtils)
|
||||
: EmailViewAppBarWidgetStyles.height,
|
||||
padding: PlatformInfo.isIOS
|
||||
? EmailViewAppBarWidgetStyles.paddingIOS(context, responsiveUtils)
|
||||
: EmailViewAppBarWidgetStyles.padding,
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: EmailViewAppBarWidgetStyles.bottomBorderColor,
|
||||
width: EmailViewAppBarWidgetStyles.bottomBorderWidth,
|
||||
),
|
||||
),
|
||||
color: EmailViewAppBarWidgetStyles.backgroundColor,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
if (_supportDisplayMailboxNameTitle(context)) backButton,
|
||||
if (isThreadDetailEnabled && threadActionReady) ...[
|
||||
final listShortcutActions = <Widget>[
|
||||
_ThreadDetailAppBarButton(
|
||||
icon: threadDetailIsStarred
|
||||
? imagePaths.icStar
|
||||
@@ -117,20 +79,71 @@ class ThreadDetailAppBar extends StatelessWidget {
|
||||
? (_) => onThreadActionClick?.call(EmailActionType.deletePermanently)
|
||||
: (_) => onThreadActionClick?.call(EmailActionType.moveToTrash),
|
||||
),
|
||||
],
|
||||
if (!responsiveUtils.isMobile(context)) const Spacer(),
|
||||
if (AppUtils.getCurrentDirection(context) == TextDirection.rtl)
|
||||
...optionWidgets.reversed
|
||||
else
|
||||
...optionWidgets,
|
||||
if (isThreadDetailEnabled && threadActionReady)
|
||||
_ThreadDetailAppBarButton(
|
||||
icon: imagePaths.icMoreVertical,
|
||||
tooltipMessage: AppLocalizations.of(context).more,
|
||||
responsiveUtils: responsiveUtils,
|
||||
onTapActionCallback: onThreadMoreActionClick,
|
||||
),
|
||||
],
|
||||
];
|
||||
|
||||
final isRTL = AppUtils.getCurrentDirection(context) == TextDirection.rtl;
|
||||
final isThreadActionAvailable = isThreadDetailEnabled && threadActionReady;
|
||||
final isMobile = responsiveUtils.isMobile(context);
|
||||
|
||||
late List<Widget> childrenWidgets;
|
||||
|
||||
final child = LayoutBuilder(
|
||||
builder: (_, constraints) {
|
||||
Widget backButton = EmailViewBackButton(
|
||||
imagePaths: imagePaths,
|
||||
onBackAction: () => closeThreadDetailAction(context),
|
||||
mailboxContain: mailboxContain,
|
||||
isSearchActivated: isSearchRunning,
|
||||
maxWidth: constraints.maxWidth,
|
||||
);
|
||||
|
||||
if (isMobile) {
|
||||
backButton = Expanded(
|
||||
child: Align(
|
||||
alignment: Alignment.centerLeft,
|
||||
child: backButton,
|
||||
),
|
||||
);
|
||||
|
||||
childrenWidgets = [
|
||||
if (_supportDisplayMailboxNameTitle(context)) backButton,
|
||||
if (isRTL) ...optionWidgets.reversed else ...optionWidgets,
|
||||
if (isThreadActionAvailable) ...listShortcutActions,
|
||||
];
|
||||
} else {
|
||||
childrenWidgets = [
|
||||
if (_supportDisplayMailboxNameTitle(context)) backButton,
|
||||
if (isThreadActionAvailable) ...listShortcutActions,
|
||||
const Spacer(),
|
||||
if (isRTL) ...optionWidgets.reversed else ...optionWidgets,
|
||||
];
|
||||
}
|
||||
|
||||
return Container(
|
||||
height: PlatformInfo.isIOS
|
||||
? EmailViewAppBarWidgetStyles.heightIOS(context, responsiveUtils)
|
||||
: EmailViewAppBarWidgetStyles.height,
|
||||
padding: PlatformInfo.isIOS
|
||||
? EmailViewAppBarWidgetStyles.paddingIOS(context, responsiveUtils)
|
||||
: EmailViewAppBarWidgetStyles.padding,
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: EmailViewAppBarWidgetStyles.bottomBorderColor,
|
||||
width: EmailViewAppBarWidgetStyles.bottomBorderWidth,
|
||||
),
|
||||
),
|
||||
color: EmailViewAppBarWidgetStyles.backgroundColor,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: childrenWidgets,
|
||||
),
|
||||
);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user