TF-1915 Add SendingState property to SendingEmail
(cherry picked from commit 678593583b598f3f06f2a838ce4cd788ed1de513)
This commit is contained in:
@@ -15,6 +15,7 @@ import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:model/extensions/email_extension.dart';
|
||||
import 'package:model/mailbox/select_mode.dart';
|
||||
import 'package:tmail_ui_user/features/offline_mode/model/sending_state.dart';
|
||||
|
||||
class SendingEmail with EquatableMixin {
|
||||
final String sendingId;
|
||||
@@ -28,6 +29,7 @@ class SendingEmail with EquatableMixin {
|
||||
final Id? creationIdRequest;
|
||||
final DateTime createTime;
|
||||
final SelectMode selectMode;
|
||||
final SendingState sendingState;
|
||||
|
||||
SendingEmail({
|
||||
required this.sendingId,
|
||||
@@ -40,7 +42,8 @@ class SendingEmail with EquatableMixin {
|
||||
this.identityId,
|
||||
this.mailboxNameRequest,
|
||||
this.creationIdRequest,
|
||||
this.selectMode = SelectMode.INACTIVE
|
||||
this.selectMode = SelectMode.INACTIVE,
|
||||
this.sendingState = SendingState.ready
|
||||
});
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
@@ -96,6 +99,10 @@ class SendingEmail with EquatableMixin {
|
||||
|
||||
bool get isSelected => selectMode == SelectMode.ACTIVE;
|
||||
|
||||
bool get isDelivering => sendingState == SendingState.delivering;
|
||||
|
||||
bool get isReady => sendingState == SendingState.ready;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
sendingId,
|
||||
@@ -108,6 +115,7 @@ class SendingEmail with EquatableMixin {
|
||||
identityId,
|
||||
mailboxNameRequest,
|
||||
creationIdRequest,
|
||||
selectMode
|
||||
selectMode,
|
||||
sendingState,
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum SendingState {
|
||||
ready,
|
||||
delivering,
|
||||
error;
|
||||
|
||||
String getTitle(BuildContext context) {
|
||||
switch(this) {
|
||||
case SendingState.delivering:
|
||||
return AppLocalizations.of(context).delivering;
|
||||
case SendingState.error:
|
||||
return AppLocalizations.of(context).error;
|
||||
case SendingState.ready:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
String getIcon(ImagePaths imagePaths) {
|
||||
switch(this) {
|
||||
case SendingState.delivering:
|
||||
return imagePaths.icDelivering;
|
||||
case SendingState.error:
|
||||
return imagePaths.icError;
|
||||
case SendingState.ready:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
String getAvatarGroup(ImagePaths imagePaths) {
|
||||
switch(this) {
|
||||
case SendingState.delivering:
|
||||
return imagePaths.icAvatarGroupDelivering;
|
||||
case SendingState.error:
|
||||
return imagePaths.icAvatarGroup;
|
||||
case SendingState.ready:
|
||||
return imagePaths.icAvatarGroup;
|
||||
}
|
||||
}
|
||||
|
||||
String getAvatarPersonal(ImagePaths imagePaths) {
|
||||
switch(this) {
|
||||
case SendingState.delivering:
|
||||
return imagePaths.icAvatarPersonalDelivering;
|
||||
case SendingState.error:
|
||||
return imagePaths.icAvatarPersonal;
|
||||
case SendingState.ready:
|
||||
return imagePaths.icAvatarPersonal;
|
||||
}
|
||||
}
|
||||
|
||||
Color getTitleColor() {
|
||||
switch(this) {
|
||||
case SendingState.delivering:
|
||||
return AppColor.colorTitleSendingItem;
|
||||
case SendingState.error:
|
||||
return AppColor.colorErrorState;
|
||||
case SendingState.ready:
|
||||
return Colors.transparent;
|
||||
}
|
||||
}
|
||||
|
||||
Color getBackgroundColor() {
|
||||
switch(this) {
|
||||
case SendingState.delivering:
|
||||
return AppColor.colorBackgroundDeliveringState;
|
||||
case SendingState.error:
|
||||
return AppColor.colorBackgroundErrorState;
|
||||
case SendingState.ready:
|
||||
return Colors.transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"@@last_modified": "2023-06-05T09:10:02.535366",
|
||||
"@@last_modified": "2023-06-08T15:15:04.969556",
|
||||
"initializing_data": "Initializing data...",
|
||||
"@initializing_data": {
|
||||
"type": "text",
|
||||
@@ -2887,5 +2887,17 @@
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"delivering": "Delivering",
|
||||
"@delivering": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"error": "Error",
|
||||
"@error": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
@@ -2974,4 +2974,18 @@ class AppLocalizations {
|
||||
name: 'deleteSomeOfflineEmailSuccessfully',
|
||||
);
|
||||
}
|
||||
|
||||
String get delivering {
|
||||
return Intl.message(
|
||||
'Delivering',
|
||||
name: 'delivering',
|
||||
);
|
||||
}
|
||||
|
||||
String get error {
|
||||
return Intl.message(
|
||||
'Error',
|
||||
name: 'error',
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user