TF-1718 Show Unsubscribe button in email view on web & tablet

(cherry picked from commit 367c4ccfea750b2ba2d68d2e620abefdee1fbdf6)
This commit is contained in:
dab246
2023-11-15 14:46:06 +07:00
committed by Dat Vu
parent 9a37b717ac
commit 0c974e2316
4 changed files with 50 additions and 13 deletions
@@ -1,6 +1,7 @@
import 'package:core/presentation/extensions/color_extension.dart';
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:model/email/presentation_email.dart';
import 'package:model/extensions/presentation_email_extension.dart';
@@ -9,6 +10,7 @@ import 'package:tmail_ui_user/features/email/presentation/controller/single_emai
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/received_time_builder.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class InformationSenderAndReceiverBuilder extends StatelessWidget {
@@ -45,15 +47,35 @@ class InformationSenderAndReceiverBuilder extends StatelessWidget {
children: [
if (emailSelected.from?.isNotEmpty == true)
Row(children: [
Expanded(child: Transform(
transform: Matrix4.translationValues(-5.0, 0.0, 0.0),
child: EmailSenderBuilder(
emailAddress: emailSelected.from!.first,
openEmailAddressDetailAction: controller.openEmailAddressDialog,
Expanded(
child: Row(
children: [
Flexible(child: Transform(
transform: Matrix4.translationValues(-5.0, 0.0, 0.0),
child: EmailSenderBuilder(
emailAddress: emailSelected.from!.first,
openEmailAddressDetailAction: controller.openEmailAddressDialog,
)
)),
if (!responsiveUtils.isPortraitMobile(context))
TMailButtonWidget.fromText(
text: AppLocalizations.of(context).unsubscribe,
textStyle: const TextStyle(
fontWeight: FontWeight.normal,
fontSize: 14,
color: AppColor.colorTextBody,
decoration: TextDecoration.underline,
),
padding: const EdgeInsetsDirectional.symmetric(vertical: 5, horizontal: 8),
backgroundColor: Colors.transparent,
),
],
)
)),
const SizedBox(width: 12),
ReceivedTimeBuilder(emailSelected),
),
ReceivedTimeBuilder(
emailSelected: emailSelected,
margin: const EdgeInsetsDirectional.only(start: 16),
),
]),
if (emailSelected.numberOfAllEmailAddress() > 0)
EmailReceiverWidget(
@@ -9,17 +9,19 @@ import 'package:model/extensions/presentation_email_extension.dart';
class ReceivedTimeBuilder extends StatelessWidget {
final PresentationEmail emailSelected;
final EdgeInsetsGeometry? margin;
const ReceivedTimeBuilder(
this.emailSelected, {
const ReceivedTimeBuilder({
Key? key,
required this.emailSelected,
this.margin,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
constraints: const BoxConstraints(maxWidth: 100),
color: Colors.transparent,
margin: margin,
child: Text(
emailSelected.getReceivedAt(
Localizations.localeOf(context).toLanguageTag(),
+7 -1
View File
@@ -1,5 +1,5 @@
{
"@@last_modified": "2023-11-10T16:53:43.713688",
"@@last_modified": "2023-11-15T14:44:16.030072",
"initializing_data": "Initializing data...",
"@initializing_data": {
"type": "text",
@@ -3493,5 +3493,11 @@
"type": "text",
"placeholders_order": [],
"placeholders": {}
},
"unsubscribe": "Unsubscribe",
"@unsubscribe": {
"type": "text",
"placeholders_order": [],
"placeholders": {}
}
}
@@ -3624,4 +3624,11 @@ class AppLocalizations {
name: 'enterYourPasswordToSignIn'
);
}
String get unsubscribe {
return Intl.message(
'Unsubscribe',
name: 'unsubscribe',
);
}
}