TF-4141 should not show inkwell effect when user drag email into virtual folder
This commit is contained in:
@@ -197,6 +197,9 @@ abstract class BaseMailboxView extends GetWidget<MailboxController>
|
||||
.mailboxDashBoardController
|
||||
.selectedMailbox
|
||||
.value,
|
||||
isDraggingMailbox: controller
|
||||
.mailboxDashBoardController
|
||||
.isDraggingMailbox,
|
||||
isHighlighted: isFolderHighlighted(mailboxNode),
|
||||
onOpenMailboxFolderClick: (mailboxNode) =>
|
||||
mailboxNode != null
|
||||
|
||||
@@ -70,7 +70,6 @@ import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_mailbox
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/usecases/subscribe_multiple_mailbox_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/action/mailbox_ui_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/handle_action_required_tab_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/handle_favorite_tab_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/mixin/mailbox_widget_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
@@ -86,7 +85,7 @@ import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/new_ma
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_ai_action_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_ai_needs_action_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_create_new_rule_filter.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/open_and_close_composer_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
|
||||
@@ -265,14 +264,18 @@ class MailboxController extends BaseMailboxController
|
||||
viewState.value.fold(
|
||||
(failure) {
|
||||
if (failure is GetAllMailboxFailure) {
|
||||
autoCreateVirtualFolder();
|
||||
autoCreateVirtualFolder(
|
||||
mailboxDashBoardController.isAINeedsActionEnabled,
|
||||
);
|
||||
mailboxDashBoardController.updateRefreshAllMailboxState(Left(RefreshAllMailboxFailure()));
|
||||
showRetryToast(failure);
|
||||
}
|
||||
},
|
||||
(success) {
|
||||
if (success is GetAllMailboxSuccess) {
|
||||
autoCreateVirtualFolder();
|
||||
autoCreateVirtualFolder(
|
||||
mailboxDashBoardController.isAINeedsActionEnabled,
|
||||
);
|
||||
mailboxDashBoardController.updateRefreshAllMailboxState(Right(RefreshAllMailboxSuccess()));
|
||||
_handleCreateDefaultFolderIfMissing(mailboxDashBoardController.mapDefaultMailboxIdByRole);
|
||||
_handleDataFromNavigationRouter();
|
||||
@@ -281,7 +284,9 @@ class MailboxController extends BaseMailboxController
|
||||
_updateMailboxIdsBlockNotificationToKeychain(success.mailboxList);
|
||||
}
|
||||
} else if (success is CreateDefaultMailboxAllSuccess) {
|
||||
autoCreateVirtualFolder();
|
||||
autoCreateVirtualFolder(
|
||||
mailboxDashBoardController.isAINeedsActionEnabled,
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -612,7 +617,9 @@ class MailboxController extends BaseMailboxController
|
||||
if (currentContext != null) {
|
||||
syncAllMailboxWithDisplayName(currentContext!);
|
||||
}
|
||||
autoCreateVirtualFolder();
|
||||
autoCreateVirtualFolder(
|
||||
mailboxDashBoardController.isAINeedsActionEnabled,
|
||||
);
|
||||
_setMapMailbox();
|
||||
_setOutboxMailbox();
|
||||
_selectSelectedMailboxDefault();
|
||||
@@ -1570,11 +1577,4 @@ class MailboxController extends BaseMailboxController
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void autoCreateVirtualFolder() {
|
||||
addFavoriteFolderToMailboxList();
|
||||
if (mailboxDashBoardController.isAINeedsActionEnabled) {
|
||||
addActionRequiredFolder();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,6 +31,7 @@ class MailboxItemWidget extends StatefulWidget {
|
||||
final double? itemHeight;
|
||||
final String? iconSelected;
|
||||
final bool isHighlighted;
|
||||
final bool isDraggingMailbox;
|
||||
|
||||
final OnClickExpandMailboxNodeAction? onExpandFolderActionClick;
|
||||
final OnClickOpenMailboxNodeAction? onOpenMailboxFolderClick;
|
||||
@@ -45,6 +46,7 @@ class MailboxItemWidget extends StatefulWidget {
|
||||
required this.mailboxNode,
|
||||
this.mailboxDisplayed = MailboxDisplayed.mailbox,
|
||||
this.isHighlighted = false,
|
||||
this.isDraggingMailbox = false,
|
||||
this.mailboxNodeSelected,
|
||||
this.mailboxActions,
|
||||
this.mailboxIdAlreadySelected,
|
||||
@@ -322,12 +324,19 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
|
||||
widget.mailboxNodeSelected?.id == widget.mailboxNode.item.id;
|
||||
|
||||
Color get backgroundColorItem {
|
||||
if (widget.mailboxDisplayed == MailboxDisplayed.mailbox) {
|
||||
return _isSelected || widget.isHighlighted
|
||||
? AppColor.blue100
|
||||
: Colors.transparent;
|
||||
// Non-mailbox views are always white
|
||||
if (widget.mailboxDisplayed != MailboxDisplayed.mailbox) {
|
||||
return Colors.white;
|
||||
}
|
||||
return Colors.white;
|
||||
|
||||
// Dragging action-required mailboxes must not show highlight
|
||||
if (widget.isDraggingMailbox && widget.mailboxNode.item.isActionRequired) {
|
||||
return AppColor.colorBgDesktop;
|
||||
}
|
||||
|
||||
return (_isSelected || widget.isHighlighted)
|
||||
? AppColor.blue100
|
||||
: Colors.transparent;
|
||||
}
|
||||
|
||||
bool get isFolderModalActive =>
|
||||
|
||||
Reference in New Issue
Block a user