TF-2644 Handle total size exceeded maximum size when drag & drop multiple file to composer
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:model/upload/file_info.dart';
|
||||
|
||||
extension FileExtension on File {
|
||||
FileInfo toFileInfo({
|
||||
bool? isInline,
|
||||
bool? isShared
|
||||
}) {
|
||||
return FileInfo(
|
||||
fileName: path.split('/').last,
|
||||
fileSize: existsSync() ? lengthSync() : 0,
|
||||
filePath: path,
|
||||
isInline: isInline,
|
||||
isShared: isShared
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,8 @@ extension FileUploadExtension on FileUpload {
|
||||
return FileInfo.fromBytes(
|
||||
bytes: bytes,
|
||||
name: name,
|
||||
size: size
|
||||
size: size,
|
||||
type: type,
|
||||
);
|
||||
} else {
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
import 'package:model/upload/file_info.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/shared_media_file_extension.dart';
|
||||
|
||||
extension ListSharedMediaFileExtension on List<SharedMediaFile> {
|
||||
List<FileInfo> toListFileInfo({bool? isShared}) => map((sharedMediaFile) => sharedMediaFile.toFileInfo(isShared: isShared)).toList();
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:core/utils/platform_info.dart';
|
||||
import 'package:model/upload/file_info.dart';
|
||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/file_extension.dart';
|
||||
|
||||
extension SharedMediaFileExtension on SharedMediaFile {
|
||||
File toFile() {
|
||||
if (PlatformInfo.isIOS) {
|
||||
final pathFile = type == SharedMediaType.FILE
|
||||
? path.toString().replaceAll('file:/', '').replaceAll('%20', ' ')
|
||||
: path.toString().replaceAll('%20', ' ');
|
||||
return File(pathFile);
|
||||
} else {
|
||||
return File(path);
|
||||
}
|
||||
}
|
||||
|
||||
FileInfo toFileInfo({bool? isShared}) => toFile().toFileInfo(isInline: type == SharedMediaType.IMAGE, isShared: isShared);
|
||||
}
|
||||
Reference in New Issue
Block a user