diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index e76b603493..04d39974a8 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -9,7 +9,7 @@ import 'package:desktop_drop/desktop_drop.dart'; import 'package:dio/dio.dart'; import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:file_picker/file_picker.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -835,7 +835,10 @@ class ComposerController extends BaseController MessageDialogActionManager().showConfirmDialogAction( context, appLocalizations.message_dialog_send_email_exceeds_maximum_size( - filesize(mailboxDashBoardController.maxSizeAttachmentsPerEmail?.value ?? 0, 0), + fileSize( + mailboxDashBoardController.maxSizeAttachmentsPerEmail?.value ?? 0, + round: 0, + ), ), appLocalizations.got_it, title: appLocalizations.sending_failed, diff --git a/lib/features/composer/presentation/widgets/attachment_header_composer_widget.dart b/lib/features/composer/presentation/widgets/attachment_header_composer_widget.dart index 2590c011d5..dc91405de4 100644 --- a/lib/features/composer/presentation/widgets/attachment_header_composer_widget.dart +++ b/lib/features/composer/presentation/widgets/attachment_header_composer_widget.dart @@ -1,9 +1,9 @@ import 'package:core/presentation/extensions/color_extension.dart'; import 'package:core/presentation/resources/image_paths.dart'; import 'package:core/presentation/views/button/tmail_button_widget.dart'; -import 'package:filesize/filesize.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:tmail_ui_user/features/composer/presentation/styles/attachment_header_composer_widget_style.dart'; import 'package:tmail_ui_user/features/upload/presentation/extensions/list_upload_file_state_extension.dart'; import 'package:tmail_ui_user/features/upload/presentation/model/upload_file_state.dart'; @@ -70,7 +70,7 @@ class AttachmentHeaderComposerWidget extends StatelessWidget { ), padding: AttachmentHeaderComposerWidgetStyle.sizeLabelPadding, child: Text( - filesize(listFileUploaded.totalSize), + fileSize(listFileUploaded.totalSize), style: AttachmentHeaderComposerWidgetStyle.sizeLabelTextSize, ), ), diff --git a/lib/features/composer/presentation/widgets/mobile/mobile_attachment_composer_widget.dart b/lib/features/composer/presentation/widgets/mobile/mobile_attachment_composer_widget.dart index 6c77ae4a05..51e1bd6e35 100644 --- a/lib/features/composer/presentation/widgets/mobile/mobile_attachment_composer_widget.dart +++ b/lib/features/composer/presentation/widgets/mobile/mobile_attachment_composer_widget.dart @@ -3,7 +3,7 @@ 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:core/presentation/views/list/sliver_grid_delegate_fixed_height.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:tmail_ui_user/features/composer/presentation/styles/attachment_item_composer_widget_style.dart'; @@ -78,7 +78,7 @@ class _MobileAttachmentComposerWidgetState extends State { .map((file) => AttachmentItemComposerWidget( fileIcon: file.getIcon(_imagePaths), fileName: file.fileName, - fileSize: filesize(file.fileSize), + fileSize: fileSize(file.fileSize), uploadStatus: file.uploadStatus, percentUploading: file.percentUploading, uploadTaskId: file.uploadTaskId, diff --git a/lib/features/email/data/datasource_impl/email_datasource_impl.dart b/lib/features/email/data/datasource_impl/email_datasource_impl.dart index 5e5fb69c21..0cbed1d2bf 100644 --- a/lib/features/email/data/datasource_impl/email_datasource_impl.dart +++ b/lib/features/email/data/datasource_impl/email_datasource_impl.dart @@ -17,7 +17,7 @@ import 'package:dartz/dartz.dart'; import 'package:dio/dio.dart'; import 'package:email_recovery/email_recovery/email_recovery_action.dart'; import 'package:email_recovery/email_recovery/email_recovery_action_id.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:get/get.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/error/set_error.dart'; @@ -477,7 +477,7 @@ class EmailDataSourceImpl extends EmailDataSource { final previewAttachment = PreviewAttachment( iconBase64Data: iconBase64Data, name: attachment.name.escapeLtGtHtmlString(), - size: filesize(attachment.size?.value), + size: fileSize(attachment.size?.value), link: attachment.hyperLink, ); diff --git a/lib/features/email/data/datasource_impl/email_local_storage_datasource_impl.dart b/lib/features/email/data/datasource_impl/email_local_storage_datasource_impl.dart index 1e16f17f73..c51608b516 100644 --- a/lib/features/email/data/datasource_impl/email_local_storage_datasource_impl.dart +++ b/lib/features/email/data/datasource_impl/email_local_storage_datasource_impl.dart @@ -16,7 +16,7 @@ import 'package:dartz/dartz.dart'; import 'package:dio/dio.dart'; import 'package:email_recovery/email_recovery/email_recovery_action.dart'; import 'package:email_recovery/email_recovery/email_recovery_action_id.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:get/get.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/error/set_error.dart'; @@ -317,7 +317,7 @@ class EmailLocalStorageDataSourceImpl extends EmailDataSource { final previewAttachment = PreviewAttachment( iconBase64Data: iconBase64Data, name: attachment.name.escapeLtGtHtmlString(), - size: filesize(attachment.size?.value), + size: fileSize(attachment.size?.value), link: attachment.hyperLink, ); diff --git a/lib/features/email/data/datasource_impl/print_file_datasource_impl.dart b/lib/features/email/data/datasource_impl/print_file_datasource_impl.dart index 7cc6fdae64..ebe764b23e 100644 --- a/lib/features/email/data/datasource_impl/print_file_datasource_impl.dart +++ b/lib/features/email/data/datasource_impl/print_file_datasource_impl.dart @@ -5,7 +5,7 @@ import 'package:core/presentation/utils/html_transformer/transform_configuration import 'package:core/utils/app_logger.dart'; import 'package:core/utils/file_utils.dart'; import 'package:core/utils/print_utils.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:model/email/attachment.dart'; import 'package:tmail_ui_user/features/composer/presentation/model/draft_email_print.dart'; import 'package:tmail_ui_user/features/email/data/datasource/print_file_datasource.dart'; @@ -43,7 +43,7 @@ class PrintFileDataSourceImpl extends PrintFileDataSource { final printAttachment = PrintAttachment( iconBase64Data: iconBase64Data, name: attachment.name.escapeLtGtHtmlString(), - size: filesize(attachment.size?.value) + size: fileSize(attachment.size?.value) ); listPrintAttachment.add(printAttachment); }); diff --git a/lib/features/email/presentation/widgets/attachment_item_widget.dart b/lib/features/email/presentation/widgets/attachment_item_widget.dart index 0014554d88..fdc7cd53ae 100644 --- a/lib/features/email/presentation/widgets/attachment_item_widget.dart +++ b/lib/features/email/presentation/widgets/attachment_item_widget.dart @@ -4,7 +4,7 @@ import 'package:core/presentation/utils/theme_utils.dart'; import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:core/presentation/views/container/tmail_container_widget.dart'; import 'package:core/presentation/views/text/middle_ellipsis_text.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; @@ -78,7 +78,7 @@ class AttachmentItemWidget extends StatelessWidget { Padding( padding: const EdgeInsetsDirectional.only(start: 8, end: 3), child: Text( - filesize(attachment.size?.value), + fileSize(attachment.size?.value), maxLines: 1, overflow: TextOverflow.ellipsis, style: ThemeUtils.textStyleM3LabelSmall, diff --git a/lib/features/email/presentation/widgets/email_attachments_widget.dart b/lib/features/email/presentation/widgets/email_attachments_widget.dart index 48dc4e19fb..e6b0c2ad85 100644 --- a/lib/features/email/presentation/widgets/email_attachments_widget.dart +++ b/lib/features/email/presentation/widgets/email_attachments_widget.dart @@ -6,7 +6,7 @@ import 'package:core/presentation/utils/theme_utils.dart'; import 'package:core/presentation/views/dialog/confirm_dialog_button.dart'; import 'package:core/utils/app_logger.dart'; import 'package:core/utils/platform_info.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:flutter/material.dart'; import 'package:model/email/attachment.dart'; import 'package:model/extensions/list_attachment_extension.dart'; @@ -54,7 +54,7 @@ class EmailAttachmentsWidget extends StatelessWidget { final attachmentHeader = AttachmentsInfo( imagePaths: imagePaths, numberOfAttachments: attachments.length, - totalSizeInfo: filesize(attachments.totalSize, 1), + totalSizeInfo: fileSize(attachments.totalSize, round: 1), responsiveUtils: responsiveUtils, onTapShowAllAttachmentFile: onTapShowAllAttachmentFile, onTapDownloadAllButton: showDownloadAllAttachmentsButton diff --git a/lib/features/quotas/domain/extensions/quota_extensions.dart b/lib/features/quotas/domain/extensions/quota_extensions.dart index 64828530f1..a6e71ea422 100644 --- a/lib/features/quotas/domain/extensions/quota_extensions.dart +++ b/lib/features/quotas/domain/extensions/quota_extensions.dart @@ -1,6 +1,6 @@ import 'package:core/presentation/extensions/color_extension.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:flutter/material.dart'; import 'package:jmap_dart_client/jmap/core/unsigned_int.dart'; import 'package:jmap_dart_client/jmap/quotas/quota.dart'; @@ -10,15 +10,21 @@ extension QuotasExtensions on Quota { UnsignedInt? get presentationHardLimit => hardLimit ?? limit; - String get usedStorageAsString => used != null ? filesize(used!.value) : ''; + String get usedStorageAsString => + used != null ? fileSize(used!.value, divider: 1000) : ''; - String get hardLimitStorageAsString => presentationHardLimit != null ? filesize(presentationHardLimit!.value) : ''; + String get hardLimitStorageAsString => presentationHardLimit != null + ? fileSize(presentationHardLimit!.value, divider: 1000) + : ''; String get quotaAvailableStorageAsString { if (used != null && presentationHardLimit != null && presentationHardLimit!.value > used!.value) { - return filesize(presentationHardLimit!.value - used!.value); + return fileSize( + presentationHardLimit!.value - used!.value, + divider: 1000, + ); } return '0 B'; } diff --git a/lib/features/upload/presentation/controller/upload_controller.dart b/lib/features/upload/presentation/controller/upload_controller.dart index 906c91f4f5..48d80d14b5 100644 --- a/lib/features/upload/presentation/controller/upload_controller.dart +++ b/lib/features/upload/presentation/controller/upload_controller.dart @@ -7,7 +7,7 @@ import 'package:core/presentation/state/success.dart'; import 'package:core/utils/app_logger.dart'; import 'package:dartz/dartz.dart'; import 'package:dio/dio.dart'; -import 'package:filesize/filesize.dart'; +import 'package:super_file_size/super_file_size.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart'; @@ -369,7 +369,10 @@ class UploadController extends BaseController { } void _showConfirmDialogWhenExceededMaxSizeAttachmentsPerEmail({required BuildContext context}) { - final maxSizeAttachmentsPerEmail = filesize(_mailboxDashBoardController.maxSizeAttachmentsPerEmail?.value ?? 0, 0); + final maxSizeAttachmentsPerEmail = fileSize( + _mailboxDashBoardController.maxSizeAttachmentsPerEmail?.value ?? 0, + round: 0, + ); MessageDialogActionManager().showConfirmDialogAction( context, AppLocalizations.of(context).message_dialog_upload_attachments_exceeds_maximum_size(maxSizeAttachmentsPerEmail), diff --git a/pubspec.lock b/pubspec.lock index acb364630e..04962d1538 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -584,14 +584,6 @@ packages: url: "https://pub.dev" source: hosted version: "10.2.0" - filesize: - dependency: "direct main" - description: - name: filesize - sha256: f53df1f27ff60e466eefcd9df239e02d4722d5e2debee92a87dfd99ac66de2af - url: "https://pub.dev" - source: hosted - version: "2.0.1" firebase_core: dependency: "direct main" description: @@ -2063,6 +2055,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + super_file_size: + dependency: "direct main" + description: + name: super_file_size + sha256: "809e1823f7eae4b869e147a7d3899d6a071ba39ab37af7cb95d2234ba1c58747" + url: "https://pub.dev" + source: hosted + version: "1.0.0" super_tag_editor: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index d4b6374aea..fd547d1289 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -138,7 +138,7 @@ dependencies: collection: 1.19.0 - filesize: 2.0.1 + super_file_size: 1.0.0 uuid: 3.0.7