💄 Optimize attachment editor controls
This commit is contained in:
parent
bbee825cf4
commit
fdc68fc5e1
@ -459,5 +459,5 @@
|
||||
"friendAdd": "添加好友",
|
||||
"blockUser": "屏蔽用户",
|
||||
"unblockUser": "解除屏蔽用户",
|
||||
"learMoreAboutPerson": "了解关于 TA 的更多"
|
||||
"learnMoreAboutPerson": "了解关于 TA 的更多"
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ class Attachment {
|
||||
String alt;
|
||||
String mimetype;
|
||||
String hash;
|
||||
String destination;
|
||||
int destination;
|
||||
bool isAnalyzed;
|
||||
bool isUploaded;
|
||||
Map<String, dynamic>? metadata;
|
||||
|
@ -36,7 +36,7 @@ Attachment _$AttachmentFromJson(Map<String, dynamic> json) => Attachment(
|
||||
alt: json['alt'] as String,
|
||||
mimetype: json['mimetype'] as String,
|
||||
hash: json['hash'] as String,
|
||||
destination: json['destination'] as String,
|
||||
destination: (json['destination'] as num).toInt(),
|
||||
isAnalyzed: json['is_analyzed'] as bool,
|
||||
isUploaded: json['is_uploaded'] as bool,
|
||||
metadata: json['metadata'] as Map<String, dynamic>?,
|
||||
|
@ -744,8 +744,8 @@ class _AttachmentEditorPopupState extends State<AttachmentEditorPopup> {
|
||||
return IgnorePointer(
|
||||
ignoring: _uploadController.isUploading.value,
|
||||
child: Container(
|
||||
height: 64,
|
||||
width: MediaQuery.of(context).size.width,
|
||||
padding: const EdgeInsets.all(8),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
top: BorderSide(
|
||||
@ -754,67 +754,72 @@ class _AttachmentEditorPopupState extends State<AttachmentEditorPopup> {
|
||||
),
|
||||
),
|
||||
),
|
||||
child: SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal,
|
||||
child: Wrap(
|
||||
spacing: 8,
|
||||
runSpacing: 0,
|
||||
alignment: WrapAlignment.center,
|
||||
runAlignment: WrapAlignment.center,
|
||||
children: [
|
||||
if ((PlatformInfo.isDesktop ||
|
||||
PlatformInfo.isIOS ||
|
||||
PlatformInfo.isWeb) &&
|
||||
!widget.imageOnly)
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.paste),
|
||||
label: Text('attachmentAddClipboard'.tr),
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
onPressed: () => _pasteFileToUpload(),
|
||||
),
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.add_photo_alternate),
|
||||
label: Text('attachmentAddGalleryPhoto'.tr),
|
||||
child: Wrap(
|
||||
spacing: 8,
|
||||
runSpacing: 8,
|
||||
alignment: WrapAlignment.center,
|
||||
runAlignment: WrapAlignment.center,
|
||||
children: [
|
||||
if ((PlatformInfo.isDesktop ||
|
||||
PlatformInfo.isIOS ||
|
||||
PlatformInfo.isWeb) &&
|
||||
!widget.imageOnly)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.paste),
|
||||
tooltip: 'attachmentAddClipboard'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
onPressed: () => _pickPhotoToUpload(),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _pasteFileToUpload(),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.add_road),
|
||||
label: Text('attachmentAddGalleryVideo'.tr),
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
onPressed: () => _pickVideoToUpload(),
|
||||
),
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.photo_camera_back),
|
||||
label: Text('attachmentAddCameraPhoto'.tr),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.add_photo_alternate),
|
||||
tooltip: 'attachmentAddGalleryPhoto'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _pickPhotoToUpload(),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.add_road),
|
||||
tooltip: 'attachmentAddGalleryVideo'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _pickVideoToUpload(),
|
||||
),
|
||||
if (PlatformInfo.isMobile)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.photo_camera_back),
|
||||
tooltip: 'attachmentAddCameraPhoto'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _takeMediaToUpload(false),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.video_camera_back_outlined),
|
||||
label: Text('attachmentAddCameraVideo'.tr),
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
onPressed: () => _takeMediaToUpload(true),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.file_present_rounded),
|
||||
label: Text('attachmentAddFile'.tr),
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
onPressed: () => _pickFileToUpload(),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
ElevatedButton.icon(
|
||||
icon: const Icon(Icons.link),
|
||||
label: Text('attachmentAddFile'.tr),
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
onPressed: () => _linkAttachments(),
|
||||
),
|
||||
],
|
||||
).paddingSymmetric(horizontal: 12),
|
||||
),
|
||||
if (!widget.imageOnly && PlatformInfo.isMobile)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.video_camera_back_outlined),
|
||||
tooltip: 'attachmentAddCameraVideo'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _takeMediaToUpload(true),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.file_present_rounded),
|
||||
tooltip: 'attachmentAddFile'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _pickFileToUpload(),
|
||||
),
|
||||
if (!widget.imageOnly)
|
||||
IconButton(
|
||||
icon: const Icon(Icons.link),
|
||||
tooltip: 'attachmentAddLink'.tr,
|
||||
style: const ButtonStyle(visualDensity: density),
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
onPressed: () => _linkAttachments(),
|
||||
),
|
||||
],
|
||||
).paddingSymmetric(horizontal: 12),
|
||||
)
|
||||
.animate(
|
||||
target: _uploadController.isUploading.value ? 0 : 1,
|
||||
|
@ -2,7 +2,7 @@ name: solian
|
||||
description: "The Solar Network App"
|
||||
publish_to: "none"
|
||||
|
||||
version: 1.2.4+1
|
||||
version: 1.2.4+2
|
||||
|
||||
environment:
|
||||
sdk: ">=3.3.4 <4.0.0"
|
||||
|
Loading…
Reference in New Issue
Block a user