TF-1118 Apply new design Forwarding on Mobile/Tablet

This commit is contained in:
dab246
2022-11-04 01:33:34 +07:00
committed by Dat H. Pham
parent 715e71d8cb
commit 2402371ca3
7 changed files with 55 additions and 24 deletions
@@ -141,8 +141,6 @@ class ForwardController extends BaseController {
}
void _handleDeleteRecipientAction(Set<String> listRecipients) {
popBack();
final accountId = accountDashBoardController.accountId.value;
if (accountId != null &&
currentForward.value != null &&
@@ -236,6 +234,8 @@ class ForwardController extends BaseController {
}
void addRecipientAction(BuildContext context) {
FocusScope.of(context).unfocus();
final accountId = accountDashBoardController.accountId.value;
final emailAddressSelected = recipientController.emailAddressSelected;
@@ -35,17 +35,24 @@ class ForwardView extends GetWidget<ForwardController> with AppLoaderMixin {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ForwardHeaderWidget(imagePaths: _imagePaths, responsiveUtils: _responsiveUtils),
Container(height: 1, color: AppColor.colorDividerHeaderSetting),
if (_responsiveUtils.isWebDesktop(context))
...[
ForwardHeaderWidget(imagePaths: _imagePaths, responsiveUtils: _responsiveUtils),
Container(height: 1, color: AppColor.colorDividerHeaderSetting)
],
Expanded(child: SingleChildScrollView(
child: Column(children: [
physics: const ClampingScrollPhysics(),
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
if (!_responsiveUtils.isWebDesktop(context))
_buildTitleHeader(context),
_buildLoadingView(),
Obx(() {
if (controller.currentForward.value != null) {
return Column(children: [
_buildKeepLocalSwitchButton(context),
_buildAddRecipientsFormWidget(context),
ListEmailForwardsWidget()
if (controller.listRecipientForward.isNotEmpty)
ListEmailForwardsWidget()
]);
} else {
return const SizedBox.shrink();
@@ -59,6 +66,23 @@ class ForwardView extends GetWidget<ForwardController> with AppLoaderMixin {
);
}
Widget _buildTitleHeader(BuildContext context) {
return Container(
color: Colors.white,
width: double.infinity,
margin: SettingsUtils.getMarginTitleHeaderForwarding(context, _responsiveUtils),
padding: SettingsUtils.getPaddingTitleHeaderForwarding(context, _responsiveUtils),
child: Text(
AppLocalizations.of(context).forwardingSettingExplanation,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.normal,
color: AppColor.colorSettingExplanation
)
),
);
}
Widget _buildKeepLocalSwitchButton(BuildContext context) {
return Container(
color: Colors.transparent,
@@ -130,7 +154,7 @@ class ForwardView extends GetWidget<ForwardController> with AppLoaderMixin {
));
}
Widget _buildAddRecipientButton(BuildContext context) {
Widget _buildAddRecipientButton(BuildContext context, {double? maxWidth}) {
return (ButtonBuilder(_imagePaths.icAddIdentity)
..key(const Key('button_add_recipient'))
..decoration(BoxDecoration(
@@ -138,7 +162,7 @@ class ForwardView extends GetWidget<ForwardController> with AppLoaderMixin {
color: AppColor.colorTextButton))
..paddingIcon(const EdgeInsets.only(right: 8))
..iconColor(Colors.white)
..maxWidth(170)
..maxWidth(maxWidth ?? 170)
..size(20)
..radiusSplash(10)
..padding(const EdgeInsets.symmetric(vertical: 12))
@@ -163,7 +187,7 @@ class ForwardView extends GetWidget<ForwardController> with AppLoaderMixin {
children: [
_buildAddRecipientInputField(),
const SizedBox(height: 16),
_buildAddRecipientButton(context)
_buildAddRecipientButton(context, maxWidth: double.infinity)
],
),
);
@@ -1,7 +1,6 @@
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/utils/style_utils.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -23,9 +22,6 @@ class ForwardHeaderWidget extends StatelessWidget {
child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
Text(
AppLocalizations.of(context).forwarding,
overflow: CommonTextStyle.defaultTextOverFlow,
softWrap: CommonTextStyle.defaultSoftWrap,
maxLines: 1,
style: const TextStyle(
fontSize: 20,
fontWeight: FontWeight.w500,
@@ -33,9 +29,6 @@ class ForwardHeaderWidget extends StatelessWidget {
const SizedBox(height: 8),
Text(
AppLocalizations.of(context).forwardingSettingExplanation,
overflow: CommonTextStyle.defaultTextOverFlow,
softWrap: CommonTextStyle.defaultSoftWrap,
maxLines: 3,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.normal,
@@ -37,6 +37,7 @@ class ListEmailForwardsWidget extends GetWidget<ForwardController> {
Obx(() {
return ListView.separated(
shrinkWrap: true,
primary: false,
itemCount: controller.listRecipientForward.length,
itemBuilder: (context, index) {
final recipientForward = controller.listRecipientForward[index];