TF-4141 Fix separator still not reactive to selection mode changes.

This commit is contained in:
dab246
2025-12-29 14:46:27 +07:00
committed by Dat H. Pham
parent a30c84dd62
commit da67ba07ca
4 changed files with 26 additions and 20 deletions
@@ -15,6 +15,10 @@ mixin AiScribeMixin {
return session.getAICapability(accountId);
}
/// Returns whether the AI Scribe endpoint is available for the given session and account.
///
/// Returns `true` if the account has AI capability with an available Scribe endpoint,
/// `false` otherwise (including when session or accountId are null).
bool isAIScribeEndpointAvailable({Session? session, AccountId? accountId}) {
final aiCapability = getAICapability(
session: session,
@@ -26,7 +26,7 @@ extension ListMailboxNodeExtension on List<MailboxNode> {
}
/// Insert [newNode] after the first mailbox matching [priorities].
/// If none match, inserts at the beginning.
/// If no priorities match (or [priorities] is empty), inserts at the beginning.
void insertAfterByPriority(
MailboxNode newNode,
List<bool Function(MailboxNode)> priorities,
@@ -330,6 +330,7 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
}
// Dragging action-required mailboxes must not show highlight
// because they're virtual folders that don't accept email drops
if (widget.isDraggingMailbox && widget.mailboxNode.item.isActionRequired) {
return AppColor.colorBgDesktop;
}
@@ -676,28 +676,29 @@ class SearchEmailView extends GetWidget<SearchEmailController>
listPresentationEmail[index],
),
separatorBuilder: (context, index) {
final isMobile = PlatformInfo.isMobile;
final isInactive =
controller.selectionMode.value == SelectMode.INACTIVE;
return Obx(() {
final isMobile = PlatformInfo.isMobile;
final isInactive =
controller.selectionMode.value == SelectMode.INACTIVE;
final dividerColor = isMobile
? null
: (isInactive ? null : Colors.white);
final dividerColor =
isMobile ? null : (isInactive ? null : Colors.white);
final padding = isMobile
? SearchEmailUtils.getPaddingItemListMobile(
context,
controller.responsiveUtils,
)
: ItemEmailTileStyles.getPaddingDividerWeb(
context,
controller.responsiveUtils,
);
final padding = isMobile
? SearchEmailUtils.getPaddingItemListMobile(
context,
controller.responsiveUtils,
)
: ItemEmailTileStyles.getPaddingDividerWeb(
context,
controller.responsiveUtils,
);
return Padding(
padding: padding,
child: Divider(color: dividerColor),
);
return Padding(
padding: padding,
child: Divider(color: dividerColor),
);
});
},
)
);