✨ Add attachments from file
This commit is contained in:
		| @@ -338,6 +338,7 @@ | ||||
|   "fieldAttachmentRandomId": "Random ID", | ||||
|   "fieldAttachmentAlt": "Alternative text", | ||||
|   "addAttachmentFromAlbum": "Add from album", | ||||
|   "addAttachmentFromFiles": "Add from files", | ||||
|   "addAttachmentFromClipboard": "Paste file", | ||||
|   "addAttachmentFromCameraPhoto": "Take photo", | ||||
|   "addAttachmentFromCameraVideo": "Take video", | ||||
|   | ||||
| @@ -336,6 +336,7 @@ | ||||
|   "fieldAttachmentRandomId": "访问 ID", | ||||
|   "fieldAttachmentAlt": "概述文字", | ||||
|   "addAttachmentFromAlbum": "从相册中添加附件", | ||||
|   "addAttachmentFromFiles": "从文件中添加附件", | ||||
|   "addAttachmentFromClipboard": "粘贴附件", | ||||
|   "addAttachmentFromCameraPhoto": "拍摄照片", | ||||
|   "addAttachmentFromCameraVideo": "拍摄视频", | ||||
|   | ||||
| @@ -336,6 +336,7 @@ | ||||
|   "fieldAttachmentRandomId": "訪問 ID", | ||||
|   "fieldAttachmentAlt": "概述文字", | ||||
|   "addAttachmentFromAlbum": "從相冊中添加附件", | ||||
|   "addAttachmentFromFiles": "從文件中添加附件", | ||||
|   "addAttachmentFromClipboard": "粘貼附件", | ||||
|   "addAttachmentFromCameraPhoto": "拍攝照片", | ||||
|   "addAttachmentFromCameraVideo": "拍攝視頻", | ||||
|   | ||||
| @@ -336,6 +336,7 @@ | ||||
|   "fieldAttachmentRandomId": "訪問 ID", | ||||
|   "fieldAttachmentAlt": "概述文字", | ||||
|   "addAttachmentFromAlbum": "從相冊中添加附件", | ||||
|   "addAttachmentFromFiles": "從文件中添加附件", | ||||
|   "addAttachmentFromClipboard": "粘貼附件", | ||||
|   "addAttachmentFromCameraPhoto": "拍攝照片", | ||||
|   "addAttachmentFromCameraVideo": "拍攝視頻", | ||||
|   | ||||
| @@ -79,6 +79,8 @@ | ||||
| 		<string>UIInterfaceOrientationLandscapeLeft</string> | ||||
| 		<string>UIInterfaceOrientationLandscapeRight</string> | ||||
| 	</array> | ||||
| 	<key>LSSupportsOpeningDocumentsInPlace</key> | ||||
| 	<true/> | ||||
| 	<key>UISupportedInterfaceOrientations~ipad</key> | ||||
| 	<array> | ||||
| 		<string>UIInterfaceOrientationPortrait</string> | ||||
|   | ||||
| @@ -4,6 +4,7 @@ import 'dart:ui'; | ||||
| import 'package:croppy/croppy.dart'; | ||||
| import 'package:dismissible_page/dismissible_page.dart'; | ||||
| import 'package:easy_localization/easy_localization.dart'; | ||||
| import 'package:file_picker/file_picker.dart'; | ||||
| import 'package:flutter/foundation.dart'; | ||||
| import 'package:flutter/material.dart'; | ||||
| import 'package:flutter/services.dart'; | ||||
| @@ -491,6 +492,14 @@ class AddPostMediaButton extends StatelessWidget { | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   void _selectFile() async { | ||||
|     final result = await FilePicker.platform.pickFiles(type: FileType.any); | ||||
|     if (result == null) return; | ||||
|     onAdd( | ||||
|       result.files.map((e) => PostWriteMedia.fromFile(e.xFile)), | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   void _pasteMedia() async { | ||||
|     final imageBytes = await Pasteboard.image; | ||||
|     if (imageBytes == null) return; | ||||
| @@ -605,6 +614,18 @@ class AddPostMediaButton extends StatelessWidget { | ||||
|             _selectMedia(); | ||||
|           }, | ||||
|         ), | ||||
|         PopupMenuItem( | ||||
|           child: Row( | ||||
|             children: [ | ||||
|               const Icon(Symbols.file_upload), | ||||
|               const Gap(16), | ||||
|               Text('addAttachmentFromFiles').tr(), | ||||
|             ], | ||||
|           ), | ||||
|           onTap: () { | ||||
|             _selectFile(); | ||||
|           }, | ||||
|         ), | ||||
|         PopupMenuItem( | ||||
|           child: Row( | ||||
|             children: [ | ||||
|   | ||||
| @@ -2,6 +2,8 @@ | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>LSSupportsOpeningDocumentsInPlace</key> | ||||
| 	<true/> | ||||
| 	<key>CFBundleDevelopmentRegion</key> | ||||
| 	<string>$(DEVELOPMENT_LANGUAGE)</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user