TF-3023 Show Good/Bad SMime signature icon in email view
This commit is contained in:
@@ -1,5 +1,32 @@
|
||||
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum SMimeSignatureStatus {
|
||||
goodSignature,
|
||||
badSignature,
|
||||
notSigned
|
||||
notSigned;
|
||||
|
||||
String getIcon(ImagePaths imagePaths) {
|
||||
switch(this) {
|
||||
case SMimeSignatureStatus.goodSignature:
|
||||
return imagePaths.icGoodSignature;
|
||||
case SMimeSignatureStatus.badSignature:
|
||||
return imagePaths.icBadSignature;
|
||||
case SMimeSignatureStatus.notSigned:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
String getTooltipMessage(BuildContext context) {
|
||||
switch(this) {
|
||||
case SMimeSignatureStatus.goodSignature:
|
||||
return AppLocalizations.of(context).sMimeGoodSignatureMessage;
|
||||
case SMimeSignatureStatus.badSignature:
|
||||
return AppLocalizations.of(context).sMimeBadSignatureMessage;
|
||||
case SMimeSignatureStatus.notSigned:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,11 +3,14 @@ import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/presentation/views/button/tmail_button_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/email/presentation_email.dart';
|
||||
import 'package:model/extensions/presentation_email_extension.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/email_avatar_builder.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/extensions/presentation_email_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/email_unsubscribe.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/smime_signature_status.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_receiver_widget.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_sender_builder.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_view_app_bar_widget.dart';
|
||||
@@ -61,6 +64,17 @@ class InformationSenderAndReceiverBuilder extends StatelessWidget {
|
||||
openEmailAddressDetailAction: openEmailAddressDetailAction,
|
||||
)
|
||||
)),
|
||||
if (emailSelected.sMimeStatus != SMimeSignatureStatus.notSigned)
|
||||
Tooltip(
|
||||
message: emailSelected.sMimeStatus.getTooltipMessage(context),
|
||||
child: MouseRegion(
|
||||
cursor: SystemMouseCursors.click,
|
||||
child: SvgPicture.asset(
|
||||
emailSelected.sMimeStatus.getIcon(imagePaths),
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
),
|
||||
),
|
||||
if (!emailSelected.isSubscribed && emailUnsubscribe != null && !responsiveUtils.isPortraitMobile(context))
|
||||
TMailButtonWidget.fromText(
|
||||
text: AppLocalizations.of(context).unsubscribe,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"@@last_modified": "2024-07-17T01:36:03.095458",
|
||||
"@@last_modified": "2024-08-05T16:49:32.139855",
|
||||
"initializing_data": "Initializing data...",
|
||||
"@initializing_data": {
|
||||
"type": "text",
|
||||
@@ -3963,5 +3963,17 @@
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"sMimeGoodSignatureMessage": "The authenticity of this message had been verified with SMime signature.",
|
||||
"@sMimeGoodSignatureMessage": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"sMimeBadSignatureMessage": "This message failed SMime signature verification.",
|
||||
"@sMimeBadSignatureMessage": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
@@ -4148,4 +4148,18 @@ class AppLocalizations {
|
||||
name: 'dialogMessageSessionHasExpired',
|
||||
);
|
||||
}
|
||||
|
||||
String get sMimeGoodSignatureMessage {
|
||||
return Intl.message(
|
||||
'The authenticity of this message had been verified with SMime signature.',
|
||||
name: 'sMimeGoodSignatureMessage',
|
||||
);
|
||||
}
|
||||
|
||||
String get sMimeBadSignatureMessage {
|
||||
return Intl.message(
|
||||
'This message failed SMime signature verification.',
|
||||
name: 'sMimeBadSignatureMessage',
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user