From 95ad761898a323dd0ef94ca7afa14dbad5dcd47f Mon Sep 17 00:00:00 2001 From: otsmr Date: Tue, 20 May 2025 18:50:42 +0200 Subject: [PATCH] fix #175 --- lib/src/views/chats/components/chat_list_entry.dart | 2 +- lib/src/views/chats/media_viewer_view.dart | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/src/views/chats/components/chat_list_entry.dart b/lib/src/views/chats/components/chat_list_entry.dart index 0a1ca99..0c02e17 100644 --- a/lib/src/views/chats/components/chat_list_entry.dart +++ b/lib/src/views/chats/components/chat_list_entry.dart @@ -230,7 +230,7 @@ class ChatListEntry extends StatelessWidget { Navigator.push( context, MaterialPageRoute(builder: (context) { - return MediaViewerView(contact); + return MediaViewerView(contact, initialMessage: message); }), ); } else if (message.downloadState == DownloadState.pending) { diff --git a/lib/src/views/chats/media_viewer_view.dart b/lib/src/views/chats/media_viewer_view.dart index 232da23..e79c0e1 100644 --- a/lib/src/views/chats/media_viewer_view.dart +++ b/lib/src/views/chats/media_viewer_view.dart @@ -27,7 +27,9 @@ final _noScreenshot = NoScreenshot.instance; class MediaViewerView extends StatefulWidget { final Contact contact; - const MediaViewerView(this.contact, {super.key}); + const MediaViewerView(this.contact, {super.key, this.initialMessage}); + + final Message? initialMessage; @override State createState() => _MediaViewerViewState(); @@ -66,6 +68,10 @@ class _MediaViewerViewState extends State { void initState() { super.initState(); + if (widget.initialMessage != null) { + allMediaFiles = [widget.initialMessage!]; + } + asyncLoadNextMedia(true); }