TF-1718 Implement unsubscribeMail on Jmap server

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 0f61a97aab513cda75c65e3c92ebcf8f6290b6ec)
This commit is contained in:
dab246
2023-11-16 12:48:38 +07:00
committed by Dat Vu
parent 4d8c7dc52e
commit a6ecaf321d
18 changed files with 169 additions and 36 deletions
@@ -63,7 +63,7 @@ class InformationSenderAndReceiverBuilder extends StatelessWidget {
openEmailAddressDetailAction: openEmailAddressDetailAction,
)
)),
if (emailUnsubscribe != null && !responsiveUtils.isPortraitMobile(context))
if (!emailSelected.isSubscribed && emailUnsubscribe != null && !responsiveUtils.isPortraitMobile(context))
TMailButtonWidget.fromText(
text: AppLocalizations.of(context).unsubscribe,
textStyle: const TextStyle(
@@ -0,0 +1,36 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
import 'package:model/email/presentation_email.dart';
import 'package:tmail_ui_user/features/email/presentation/model/email_unsubscribe.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class MailUnsubscribedBanner extends StatelessWidget {
final PresentationEmail? presentationEmail;
final EmailUnsubscribe? emailUnsubscribe;
const MailUnsubscribedBanner({
super.key,
required this.presentationEmail,
this.emailUnsubscribe
});
@override
Widget build(BuildContext context) {
if (presentationEmail?.isSubscribed == true && emailUnsubscribe == null) {
return Padding(
padding: const EdgeInsetsDirectional.only(bottom: 16, start: 20, end: 20),
child: Text(
AppLocalizations.of(context).mailUnsubscribedMessage(presentationEmail?.firstEmailAddressInFrom ?? ''),
style: const TextStyle(
fontWeight: FontWeight.normal,
fontSize: 15,
color: AppColor.labelColor
),
),
);
} else {
return const SizedBox.shrink();
}
}
}