Skip to content

Commit a8d8b70

Browse files
committed
TF-2646 Show the top bar thread button only when the email list is loaded
1 parent 4a55897 commit a8d8b70

File tree

3 files changed

+90
-87
lines changed

3 files changed

+90
-87
lines changed

lib/features/mailbox_dashboard/presentation/mailbox_dashboard_view_web.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/re
3333
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/search_filters/filter_message_button.dart';
3434
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/search_filters/search_filter_button.dart';
3535
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/search_input_form_widget.dart';
36-
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/top_bar_thread_selection.dart';
36+
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/app_bar/top_bar_thread_selection.dart';
3737
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
3838
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/styles/vacation_notification_message_widget_style.dart';
3939
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/widgets/vacation_notification_message_widget.dart';

lib/features/mailbox_dashboard/presentation/widgets/top_bar_thread_selection.dart renamed to lib/features/mailbox_dashboard/presentation/widgets/app_bar/top_bar_thread_selection.dart

Lines changed: 87 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -40,98 +40,100 @@ class TopBarThreadSelection extends StatelessWidget{
4040

4141
@override
4242
Widget build(BuildContext context) {
43-
return Row(children: [
44-
TMailButtonWidget.fromIcon(
45-
icon: imagePaths.icClose,
46-
iconColor: AppColor.primaryColor,
47-
tooltipMessage: AppLocalizations.of(context).cancel,
48-
backgroundColor: Colors.transparent,
49-
iconSize: 28,
50-
padding: const EdgeInsets.all(3),
51-
onTapActionCallback: onCancelSelection
52-
),
53-
if (!isSelectAllEmailsEnabled)
54-
Padding(
55-
padding: const EdgeInsetsDirectional.only(end: 30),
56-
child: Text(
57-
AppLocalizations.of(context).count_email_selected(listEmail.length),
58-
style: const TextStyle(
59-
fontSize: 17,
60-
fontWeight: FontWeight.w500,
61-
color: AppColor.colorTextButton
62-
)
63-
),
43+
return Padding(
44+
padding: const EdgeInsets.symmetric(vertical: 8.5, horizontal: 16),
45+
child: Row(children: [
46+
TMailButtonWidget.fromIcon(
47+
icon: imagePaths.icClose,
48+
iconColor: AppColor.primaryColor,
49+
tooltipMessage: AppLocalizations.of(context).cancel,
50+
backgroundColor: Colors.transparent,
51+
iconSize: 28,
52+
padding: const EdgeInsets.all(3),
53+
onTapActionCallback: onCancelSelection
6454
),
65-
TMailButtonWidget.fromIcon(
66-
icon: _getIconForMarkAsRead(),
67-
tooltipMessage: _getTooltipMessageForMarkAsRead(context),
68-
backgroundColor: Colors.transparent,
69-
iconSize: 24,
70-
onTapActionCallback: () => onEmailActionTypeAction?.call(
71-
List.from(listEmail),
72-
_getActionTypeForMarkAsRead()
73-
)
74-
),
75-
TMailButtonWidget.fromIcon(
76-
icon: _getIconForMarkAsStar(),
77-
tooltipMessage: _getTooltipMessageForMarkAsStar(context),
78-
backgroundColor: Colors.transparent,
79-
iconSize: 24,
80-
onTapActionCallback: () => onEmailActionTypeAction?.call(
81-
List.from(listEmail),
82-
_getActionTypeForMarkAsStar()
83-
)
84-
),
85-
if (canSpamAndMove)
86-
...[
87-
TMailButtonWidget.fromIcon(
88-
icon: imagePaths.icMove,
89-
iconSize: 22,
90-
tooltipMessage: _getTooltipMessageForMove(context),
91-
backgroundColor: Colors.transparent,
92-
onTapActionCallback: () => onEmailActionTypeAction?.call(
93-
List.from(listEmail),
94-
_getActionTypeForMove()
95-
)
96-
),
97-
TMailButtonWidget.fromIcon(
98-
icon: _getIconForMoveToSpam(),
99-
backgroundColor: Colors.transparent,
100-
iconSize: 24,
101-
tooltipMessage: _getTooltipMessageForMoveToSpam(context),
102-
onTapActionCallback: () {
103-
onEmailActionTypeAction?.call(
104-
List.from(listEmail.listEmailCanSpam(mapMailbox)),
105-
_getActionTypeForMoveToSpam()
106-
);
107-
}
108-
)
109-
],
110-
if (isAllBelongToTheSameMailbox)
55+
if (!isSelectAllEmailsEnabled)
56+
Padding(
57+
padding: const EdgeInsetsDirectional.only(end: 30),
58+
child: Text(
59+
AppLocalizations.of(context).count_email_selected(listEmail.length),
60+
style: const TextStyle(
61+
fontSize: 17,
62+
fontWeight: FontWeight.w500,
63+
color: AppColor.colorTextButton
64+
)
65+
),
66+
),
11167
TMailButtonWidget.fromIcon(
112-
icon: imagePaths.icDeleteComposer,
68+
icon: _getIconForMarkAsRead(),
69+
tooltipMessage: _getTooltipMessageForMarkAsRead(context),
11370
backgroundColor: Colors.transparent,
114-
iconSize: 20,
115-
iconColor: _getIconColorForMoveToTrash(),
116-
tooltipMessage: _getTooltipMessageForMoveToTrash(context),
117-
onTapActionCallback: () {
118-
onEmailActionTypeAction?.call(
119-
List.from(listEmail),
120-
_getActionTypeForMoveToTrash(),
121-
);
122-
}
71+
iconSize: 24,
72+
onTapActionCallback: () => onEmailActionTypeAction?.call(
73+
List.from(listEmail),
74+
_getActionTypeForMarkAsRead()
75+
)
12376
),
124-
const Spacer(),
125-
if (isSelectAllEmailsEnabled)
12677
TMailButtonWidget.fromIcon(
127-
icon: imagePaths.icMoreVertical,
128-
iconSize: 22,
129-
iconColor: AppColor.primaryColor,
130-
tooltipMessage: AppLocalizations.of(context).more,
78+
icon: _getIconForMarkAsStar(),
79+
tooltipMessage: _getTooltipMessageForMarkAsStar(context),
13180
backgroundColor: Colors.transparent,
132-
onTapActionAtPositionCallback: onMoreSelectedEmailAction
81+
iconSize: 24,
82+
onTapActionCallback: () => onEmailActionTypeAction?.call(
83+
List.from(listEmail),
84+
_getActionTypeForMarkAsStar()
85+
)
13386
),
134-
]);
87+
if (canSpamAndMove)
88+
...[
89+
TMailButtonWidget.fromIcon(
90+
icon: imagePaths.icMove,
91+
iconSize: 22,
92+
tooltipMessage: _getTooltipMessageForMove(context),
93+
backgroundColor: Colors.transparent,
94+
onTapActionCallback: () => onEmailActionTypeAction?.call(
95+
List.from(listEmail),
96+
_getActionTypeForMove()
97+
)
98+
),
99+
TMailButtonWidget.fromIcon(
100+
icon: _getIconForMoveToSpam(),
101+
backgroundColor: Colors.transparent,
102+
iconSize: 24,
103+
tooltipMessage: _getTooltipMessageForMoveToSpam(context),
104+
onTapActionCallback: () {
105+
onEmailActionTypeAction?.call(
106+
List.from(listEmail.listEmailCanSpam(mapMailbox)),
107+
_getActionTypeForMoveToSpam()
108+
);
109+
}
110+
)
111+
],
112+
if (isAllBelongToTheSameMailbox)
113+
TMailButtonWidget.fromIcon(
114+
icon: imagePaths.icDeleteComposer,
115+
backgroundColor: Colors.transparent,
116+
iconSize: 20,
117+
iconColor: _getIconColorForMoveToTrash(),
118+
tooltipMessage: _getTooltipMessageForMoveToTrash(context),
119+
onTapActionCallback: () {
120+
onEmailActionTypeAction?.call(
121+
List.from(listEmail),
122+
_getActionTypeForMoveToTrash()
123+
);
124+
}
125+
),
126+
if (isSelectAllEmailsEnabled)
127+
TMailButtonWidget.fromIcon(
128+
icon: imagePaths.icMoreVertical,
129+
iconSize: 22,
130+
iconColor: AppColor.primaryColor,
131+
tooltipMessage: AppLocalizations.of(context).more,
132+
backgroundColor: Colors.transparent,
133+
onTapActionAtPositionCallback: onMoreSelectedEmailAction
134+
),
135+
]),
136+
);
135137
}
136138

137139
bool get canDeletePermanently => listEmail.isAllCanDeletePermanently(mapMailbox);

lib/features/thread/presentation/thread_controller.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1421,7 +1421,8 @@ class ThreadController extends BaseController with EmailActionController, PopupM
14211421
final listSelectionEmailActions = [
14221422
EmailActionType.markAllAsRead,
14231423
EmailActionType.markAllAsUnread,
1424-
EmailActionType.moveAll,
1424+
if (selectedMailbox == null || selectedMailbox?.isDrafts == false)
1425+
EmailActionType.moveAll,
14251426
if (selectedMailbox?.isTrash == true ||
14261427
selectedMailbox?.isSpam == true ||
14271428
selectedMailbox?.isDrafts == true)

0 commit comments

Comments
 (0)