From 7ac10d8326bb33da67c9e31be100eb6306f58b29 Mon Sep 17 00:00:00 2001 From: otsmr Date: Sun, 25 Jan 2026 13:08:42 +0100 Subject: [PATCH] fix #387 --- .../camera_preview_components/main_camera_controller.dart | 5 +++++ lib/src/views/camera/share_image_editor.view.dart | 3 +++ .../layers/link_preview/cards/mastodon.card.dart | 6 ++++-- .../layers/link_preview/cards/twitter.card.dart | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/src/views/camera/camera_preview_components/main_camera_controller.dart b/lib/src/views/camera/camera_preview_components/main_camera_controller.dart index cfbef1a..7b32001 100644 --- a/lib/src/views/camera/camera_preview_components/main_camera_controller.dart +++ b/lib/src/views/camera/camera_preview_components/main_camera_controller.dart @@ -65,6 +65,11 @@ class MainCameraController { setState(); } + void onImageSend() { + scannedUrl = ''; + setState(); + } + final BarcodeScanner _barcodeScanner = BarcodeScanner(); final FaceDetector _faceDetector = FaceDetector( options: FaceDetectorOptions( diff --git a/lib/src/views/camera/share_image_editor.view.dart b/lib/src/views/camera/share_image_editor.view.dart index 164fcf2..d767466 100644 --- a/lib/src/views/camera/share_image_editor.view.dart +++ b/lib/src/views/camera/share_image_editor.view.dart @@ -424,6 +424,7 @@ class _ShareImageEditorView extends State { ), ) as bool?; if (wasSend != null && wasSend && mounted) { + widget.mainCameraController?.onImageSend(); Navigator.pop(context, true); } else { await videoController?.play(); @@ -591,6 +592,8 @@ class _ShareImageEditorView extends State { if (!context.mounted) return; + widget.mainCameraController?.onImageSend(); + // must be awaited so the widget for the screenshot is not already disposed when sending.. await storeImageAsOriginal(); diff --git a/lib/src/views/camera/share_image_editor/layers/link_preview/cards/mastodon.card.dart b/lib/src/views/camera/share_image_editor/layers/link_preview/cards/mastodon.card.dart index f69d78e..1892ed4 100644 --- a/lib/src/views/camera/share_image_editor/layers/link_preview/cards/mastodon.card.dart +++ b/lib/src/views/camera/share_image_editor/layers/link_preview/cards/mastodon.card.dart @@ -48,7 +48,9 @@ class MastodonPostCard extends StatelessWidget { const SizedBox(height: 4), if (info.desc != null && info.desc != 'null') Text( - substringBy(info.desc!, 1000), + substringBy( + info.desc!.replaceAll('Attached: 1 image', '').trim(), + info.image == null ? 500 : 300), style: const TextStyle(color: Colors.white, fontSize: 14), ), if (info.image != null && info.image != 'null') @@ -57,7 +59,7 @@ class MastodonPostCard extends StatelessWidget { child: ClipRRect( borderRadius: BorderRadius.circular(12), child: ConstrainedBox( - constraints: const BoxConstraints(maxHeight: 250), + constraints: const BoxConstraints(maxHeight: 200), child: CachedNetworkImage( imageUrl: info.image!, fit: BoxFit.contain, diff --git a/lib/src/views/camera/share_image_editor/layers/link_preview/cards/twitter.card.dart b/lib/src/views/camera/share_image_editor/layers/link_preview/cards/twitter.card.dart index 7216b3f..a822c59 100644 --- a/lib/src/views/camera/share_image_editor/layers/link_preview/cards/twitter.card.dart +++ b/lib/src/views/camera/share_image_editor/layers/link_preview/cards/twitter.card.dart @@ -55,7 +55,7 @@ class TwitterPostCard extends StatelessWidget { const SizedBox(height: 8), if (info.desc != null && info.desc != 'null') Text( - substringBy(info.desc!, 1000), + substringBy(info.desc!, info.image == null ? 500 : 300), style: const TextStyle( color: primaryText, fontSize: 15, @@ -73,7 +73,7 @@ class TwitterPostCard extends StatelessWidget { borderRadius: BorderRadius.circular(14), ), child: ConstrainedBox( - constraints: const BoxConstraints(maxHeight: 300), + constraints: const BoxConstraints(maxHeight: 200), child: CachedNetworkImage( imageUrl: info.image!, fit: BoxFit.cover,