TF-3427 Collapse side features of the composer in a side menu

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-01-16 11:26:32 +07:00
committed by Dat H. Pham
parent 6fa66efce2
commit 778c138a10
11 changed files with 143 additions and 77 deletions
@@ -4,13 +4,14 @@ import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/utils/app_logger.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:model/extensions/identity_extension.dart';
import 'package:model/extensions/list_email_address_extension.dart';
import 'package:model/extensions/presentation_email_extension.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:tmail_ui_user/features/base/state/button_state.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_controller.dart';
import 'package:tmail_ui_user/features/composer/presentation/model/draft_email_print.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/print_draft_dialog_view.dart';
import 'package:tmail_ui_user/features/email/domain/model/email_print.dart';
import 'package:tmail_ui_user/features/email/domain/state/print_email_state.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -62,10 +63,10 @@ extension ComposerPrintDraftExtension on ComposerController {
final childWidget = PointerInterceptor(
child: PrintDraftDialogView(
emailPrint: EmailPrint(
emailPrint: DraftEmailPrint(
appName: appLocalizations.app_name,
userName: mailboxDashBoardController.userEmail,
attachments: uploadController.attachmentsUploaded,
attachments: uploadController.allAttachmentsUploaded,
emailContent: emailContent,
locale: locale.toLanguageTag(),
fromPrefix: appLocalizations.from_email_address_prefix,
@@ -77,9 +78,7 @@ extension ComposerPrintDraftExtension on ComposerController {
toAddress: listToEmailAddress.toSet().toEscapeHtmlStringUseCommaSeparator(),
ccAddress: listCcEmailAddress.toSet().toEscapeHtmlStringUseCommaSeparator(),
bccAddress: listBccEmailAddress.toSet().toEscapeHtmlStringUseCommaSeparator(),
sender: composerArguments.value!.presentationEmail?.from?.isNotEmpty == true
? composerArguments.value!.presentationEmail?.from!.first
: null,
sender: identitySelected.value?.toEmailAddress(),
receiveTime: presentationEmail?.getReceivedAt(
locale.toLanguageTag(),
pattern: presentationEmail.receivedAt