TF-4050 Preview and download uploaded file in composer on web

This commit is contained in:
dab246
2025-11-07 01:12:20 +07:00
committed by Dat H. Pham
parent ecd3ac0295
commit 972b20ec16
72 changed files with 2438 additions and 1751 deletions
@@ -0,0 +1,32 @@
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_download_attachment_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_preview_attachment_extension.dart';
import 'package:tmail_ui_user/features/upload/domain/model/upload_task_id.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
extension PreviewUploadFileExtension on ComposerController {
void previewUploadFile(BuildContext context, UploadTaskId uploadId) {
final uploadFile = uploadController.getUploadFileId(uploadId);
if (uploadFile == null || uploadFile.attachment == null) {
appToast.showToastWarningMessage(
context,
AppLocalizations.of(context).noPreviewAvailable,
);
return;
}
mailboxDashBoardController.previewUploadFile(
context: context,
uploadFile: uploadFile,
isDialogLoadingVisible: true,
onPreviewOrDownloadAction: (attachment, isPreview) {
mailboxDashBoardController.downloadAttachment(
attachment: attachment,
previewerSupported: isPreview,
);
},
);
}
}