Cherry pick commit fix issue #4292 to master (#4454)

* Add folder info when open mail list from Label

(cherry picked from commit de0bb4ee02030ca90126766a8713a6826d791acd)

* Add unit test for `hasMailboxLabel` function in BaseEmailItemTile mixin

(cherry picked from commit 18f8d1847acccd6f95006b93903f0caa6c0408df)

* TF-4292 Add E2E test for test case `Add folder info when open mail list from Label` on mobile

(cherry picked from commit 1c209e333510db161522e4449ad7fb2e5d28399f)
This commit is contained in:
Dat Vu
2026-04-16 15:45:45 +07:00
committed by GitHub
parent 6fc88f780c
commit c5eb4a011d
13 changed files with 288 additions and 107 deletions
@@ -1,5 +1,8 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:labels/model/label.dart';
import 'package:model/email/email_action_type.dart';
import 'package:model/email/presentation_email.dart';
@@ -24,6 +27,7 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
final bool isSenderImportantFlagEnabled;
final bool isAINeedsActionEnabled;
final bool autoWrapTagsByMaxWidth;
final bool isLabelMailboxOpened;
final List<Label>? labels;
final OnPressEmailActionClick? emailActionClick;
final OnMoreActionClick? onMoreActionClick;
@@ -39,6 +43,7 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
this.isSenderImportantFlagEnabled = true,
this.isAINeedsActionEnabled = true,
this.autoWrapTagsByMaxWidth = false,
this.isLabelMailboxOpened = false,
this.mailboxContain,
this.padding,
this.isDrag = false,
@@ -120,7 +125,7 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
searchQuery)),
buildMailboxContain(
context,
isSearchEmailRunning,
isSearchEmailRunning || isLabelMailboxOpened,
presentationEmail),
if (presentationEmail.hasStarred)
Padding(
@@ -229,4 +234,10 @@ class EmailTileBuilder extends StatelessWidget with BaseEmailItemTile {
bool get _shouldShowAIAction =>
isAINeedsActionEnabled && presentationEmail.hasNeedAction;
@override
ImagePaths get imagePaths => Get.find<ImagePaths>();
@override
ResponsiveUtils get responsiveUtils => Get.find<ResponsiveUtils>();
}