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); 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}) { bool isAIScribeEndpointAvailable({Session? session, AccountId? accountId}) {
final aiCapability = getAICapability( final aiCapability = getAICapability(
session: session, session: session,
@@ -26,7 +26,7 @@ extension ListMailboxNodeExtension on List<MailboxNode> {
} }
/// Insert [newNode] after the first mailbox matching [priorities]. /// 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( void insertAfterByPriority(
MailboxNode newNode, MailboxNode newNode,
List<bool Function(MailboxNode)> priorities, List<bool Function(MailboxNode)> priorities,
@@ -330,6 +330,7 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
} }
// Dragging action-required mailboxes must not show highlight // 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) { if (widget.isDraggingMailbox && widget.mailboxNode.item.isActionRequired) {
return AppColor.colorBgDesktop; return AppColor.colorBgDesktop;
} }
@@ -676,13 +676,13 @@ class SearchEmailView extends GetWidget<SearchEmailController>
listPresentationEmail[index], listPresentationEmail[index],
), ),
separatorBuilder: (context, index) { separatorBuilder: (context, index) {
return Obx(() {
final isMobile = PlatformInfo.isMobile; final isMobile = PlatformInfo.isMobile;
final isInactive = final isInactive =
controller.selectionMode.value == SelectMode.INACTIVE; controller.selectionMode.value == SelectMode.INACTIVE;
final dividerColor = isMobile final dividerColor =
? null isMobile ? null : (isInactive ? null : Colors.white);
: (isInactive ? null : Colors.white);
final padding = isMobile final padding = isMobile
? SearchEmailUtils.getPaddingItemListMobile( ? SearchEmailUtils.getPaddingItemListMobile(
@@ -698,6 +698,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
padding: padding, padding: padding,
child: Divider(color: dividerColor), child: Divider(color: dividerColor),
); );
});
}, },
) )
); );