TF-1915 Updating correctly state sending email when work manager running

(cherry picked from commit 60b5683cddc2f8c026935528002c736f74018798)
This commit is contained in:
dab246
2023-06-09 19:32:31 +07:00
committed by Dat Vu
parent af73f90508
commit 8efc741090
11 changed files with 180 additions and 123 deletions
@@ -6,7 +6,6 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/state/button_state.dart';
import 'package:tmail_ui_user/features/sending_queue/domain/model/sending_email.dart';
import 'package:tmail_ui_user/features/sending_queue/presentation/extensions/list_sending_email_extension.dart';
import 'package:tmail_ui_user/features/sending_queue/presentation/model/sending_email_action_type.dart';
typedef OnHandleSendingEmailActionType = void Function(SendingEmailActionType, List<SendingEmail>);
@@ -54,15 +53,11 @@ class BottomBarSendingQueueWidget extends StatelessWidget {
).build()),
Expanded(child: (ButtonBuilder(imagePaths.icDeleteComposer)
..key(Key(SendingEmailActionType.delete.getButtonKey()))
..iconColor(SendingEmailActionType.delete.getButtonIconColor(_isCanBeDeleted ? ButtonState.enabled : ButtonState.disabled))
..iconColor(SendingEmailActionType.delete.getButtonIconColor(ButtonState.enabled))
..padding(const EdgeInsets.all(8))
..radiusSplash(8)
..textStyle(TextStyle(fontSize: 12, color: SendingEmailActionType.delete.getButtonTitleColor(_isCanBeDeleted ? ButtonState.enabled : ButtonState.disabled)))
..onPressActionClick(() {
if (_isCanBeDeleted) {
onHandleSendingEmailActionType?.call(SendingEmailActionType.delete, listSendingEmailSelected);
}
})
..textStyle(TextStyle(fontSize: 12, color: SendingEmailActionType.delete.getButtonTitleColor(ButtonState.enabled)))
..onPressActionClick(() => onHandleSendingEmailActionType?.call(SendingEmailActionType.delete, listSendingEmailSelected))
..text(SendingEmailActionType.delete.getButtonTitle(context), isVertical: true)
).build())
],
@@ -72,7 +67,5 @@ class BottomBarSendingQueueWidget extends StatelessWidget {
bool get _isEditable => !isConnectedNetwork &&
listSendingEmailSelected.length == 1 &&
listSendingEmailSelected.first.isReady;
bool get _isCanBeDeleted => listSendingEmailSelected.isAllNotDeliveringSendingState();
listSendingEmailSelected.first.isWaiting;
}
@@ -97,9 +97,7 @@ class SendingEmailTileWidget extends StatelessWidget {
maxLines: 1,
style: TextStyle(
fontSize: 15,
color: sendingEmail.isDelivering
? AppColor.colorDeliveringState
: Colors.black,
color: sendingEmail.sendingState.getTitleSendingEmailItemColor(),
fontWeight: FontWeight.w600
)
)),
@@ -122,14 +120,12 @@ class SendingEmailTileWidget extends StatelessWidget {
overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle(
fontSize: 13,
color: sendingEmail.isDelivering
? AppColor.colorDeliveringState
: Colors.black,
color: sendingEmail.sendingState.getTitleSendingEmailItemColor(),
fontWeight: FontWeight.normal
)
)
),
if (!sendingEmail.isReady && !ResponsiveUtils.isMatchedMobileWidth(constraints.maxWidth))
if (!ResponsiveUtils.isMatchedMobileWidth(constraints.maxWidth))
Container(
margin: const EdgeInsets.only(left: 8),
width: 120,
@@ -153,13 +149,11 @@ class SendingEmailTileWidget extends StatelessWidget {
maxLines: 1,
style: TextStyle(
fontSize: 13,
color: sendingEmail.isDelivering
? AppColor.colorDeliveringState
: AppColor.colorTitleSendingItem,
color: sendingEmail.sendingState.getSubTitleSendingEmailItemColor(),
fontWeight: FontWeight.normal
)
),
if (!sendingEmail.isReady && ResponsiveUtils.isMatchedMobileWidth(constraints.maxWidth))
if (ResponsiveUtils.isMatchedMobileWidth(constraints.maxWidth))
Padding(
padding: const EdgeInsets.only(top: 8),
child: SendingStateWidget(sendingState: sendingEmail.sendingState))
@@ -168,7 +162,7 @@ class SendingEmailTileWidget extends StatelessWidget {
]),
),
Padding(
padding: SendingQueueUtils.getPaddingDividerListViewByResponsiveSize(constraints.maxWidth, sendingEmail),
padding: SendingQueueUtils.getPaddingDividerListViewByResponsiveSize(constraints.maxWidth),
child: const Divider(
color: AppColor.lineItemListColor,
height: 1,