TF-3449 Setup Sender-set important flag in Setting View

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-20 02:11:28 +07:00
committed by Dat H. Pham
parent f40056ea99
commit d2ee165f49
41 changed files with 675 additions and 407 deletions
@@ -497,6 +497,8 @@ class ThreadView extends GetWidget<ThreadController>
Widget _buildEmailItemWhenDragging(BuildContext context, PresentationEmail presentationEmail) {
final isShowingEmailContent = controller.mailboxDashBoardController.selectedEmail.value?.id == presentationEmail.id;
final selectModeAll = controller.mailboxDashBoardController.currentSelectMode.value;
final isSenderImportantFlagEnabled =
controller.mailboxDashBoardController.isSenderImportantFlagEnabled.value;
return EmailTileBuilder(
key: Key('email_tile_builder_${presentationEmail.id?.asString}'),
@@ -506,13 +508,16 @@ class ThreadView extends GetWidget<ThreadController>
searchQuery: controller.searchQuery,
mailboxContain: presentationEmail.mailboxContain,
isSearchEmailRunning: controller.searchController.isSearchEmailRunning,
isDrag: true
isDrag: true,
isSenderImportantFlagEnabled: isSenderImportantFlagEnabled,
);
}
Widget _buildEmailItemNotDraggable(BuildContext context, PresentationEmail presentationEmail) {
final isShowingEmailContent = controller.mailboxDashBoardController.selectedEmail.value?.id == presentationEmail.id;
final selectModeAll = controller.mailboxDashBoardController.currentSelectMode.value;
final isSenderImportantFlagEnabled =
controller.mailboxDashBoardController.isSenderImportantFlagEnabled.value;
return Dismissible(
key: ValueKey<EmailId?>(presentationEmail.id),
@@ -588,6 +593,7 @@ class ThreadView extends GetWidget<ThreadController>
presentationEmail: presentationEmail,
selectAllMode: selectModeAll,
isShowingEmailContent: isShowingEmailContent,
isSenderImportantFlagEnabled: isSenderImportantFlagEnabled,
searchQuery: controller.searchQuery,
mailboxContain: presentationEmail.mailboxContain,
isSearchEmailRunning: controller.searchController.isSearchEmailRunning,
@@ -19,6 +19,7 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
final EdgeInsetsGeometry? padding;
final bool isDrag;
final bool isShowingEmailContent;
final bool isSenderImportantFlagEnabled;
final OnPressEmailActionClick? emailActionClick;
final OnMoreActionClick? onMoreActionClick;
@@ -29,6 +30,7 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
required this.isShowingEmailContent,
this.searchQuery,
this.isSearchEmailRunning = false,
this.isSenderImportantFlagEnabled = true,
this.mailboxContain,
this.padding,
this.isDrag = false,
@@ -104,7 +106,7 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
children: [
if (presentationEmail.hasCalendarEvent)
buildCalendarEventIcon(context: context, presentationEmail: presentationEmail),
if (presentationEmail.isMarkAsImportant)
if (presentationEmail.isMarkAsImportant && isSenderImportantFlagEnabled)
buildMarkAsImportantIcon(context),
Expanded(child: buildEmailTitle(
context,
@@ -24,6 +24,7 @@ class EmailTileBuilder extends StatefulWidget {
final EdgeInsetsGeometry? padding;
final bool isDrag;
final bool isShowingEmailContent;
final bool isSenderImportantFlagEnabled;
final OnPressEmailActionClick? emailActionClick;
final OnMoreActionClick? onMoreActionClick;
@@ -34,6 +35,7 @@ class EmailTileBuilder extends StatefulWidget {
required this.isShowingEmailContent,
this.searchQuery,
this.isSearchEmailRunning = false,
this.isSenderImportantFlagEnabled = true,
this.mailboxContain,
this.padding,
this.isDrag = false,
@@ -140,7 +142,7 @@ class _EmailTileBuilderState extends State<EmailTileBuilder> with BaseEmailItem
context: context,
presentationEmail: widget.presentationEmail
),
if (widget.presentationEmail.isMarkAsImportant)
if (widget.presentationEmail.isMarkAsImportant && widget.isSenderImportantFlagEnabled)
buildMarkAsImportantIcon(context),
Expanded(
child: buildEmailTitle(
@@ -259,7 +261,7 @@ class _EmailTileBuilderState extends State<EmailTileBuilder> with BaseEmailItem
context: context,
presentationEmail: widget.presentationEmail
),
if (widget.presentationEmail.isMarkAsImportant)
if (widget.presentationEmail.isMarkAsImportant && widget.isSenderImportantFlagEnabled)
buildMarkAsImportantIcon(context),
Expanded(
child: buildEmailTitle(
@@ -615,7 +617,7 @@ class _EmailTileBuilderState extends State<EmailTileBuilder> with BaseEmailItem
return Row(children: [
if (widget.presentationEmail.hasCalendarEvent)
buildCalendarEventIcon(context: context, presentationEmail: widget.presentationEmail),
if (widget.presentationEmail.isMarkAsImportant)
if (widget.presentationEmail.isMarkAsImportant && widget.isSenderImportantFlagEnabled)
buildMarkAsImportantIcon(context),
if (widget.presentationEmail.getEmailTitle().isNotEmpty)
Container(