fix image group navigation
This commit is contained in:
@@ -12,12 +12,16 @@ class ImageGroup extends StatelessWidget {
|
|||||||
required this.message,
|
required this.message,
|
||||||
required this.messageTheme,
|
required this.messageTheme,
|
||||||
required this.size,
|
required this.size,
|
||||||
|
this.onReturnAction,
|
||||||
this.onShowMessage,
|
this.onShowMessage,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
/// List of attachments to show
|
/// List of attachments to show
|
||||||
final List<Attachment> images;
|
final List<Attachment> images;
|
||||||
|
|
||||||
|
/// Callback when attachment is returned to from other screens
|
||||||
|
final ValueChanged<ReturnActionType>? onReturnAction;
|
||||||
|
|
||||||
/// Message which images are attached to
|
/// Message which images are attached to
|
||||||
final Message message;
|
final Message message;
|
||||||
|
|
||||||
@@ -111,10 +115,10 @@ class ImageGroup extends StatelessWidget {
|
|||||||
void _onTap(
|
void _onTap(
|
||||||
BuildContext context,
|
BuildContext context,
|
||||||
int index,
|
int index,
|
||||||
) {
|
) async {
|
||||||
final channel = StreamChannel.of(context).channel;
|
final channel = StreamChannel.of(context).channel;
|
||||||
|
|
||||||
Navigator.push(
|
final res = await Navigator.push(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
builder: (context) => StreamChannel(
|
builder: (context) => StreamChannel(
|
||||||
@@ -129,6 +133,7 @@ class ImageGroup extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
if (res != null) onReturnAction?.call(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildImage(BuildContext context, int index) => ImageAttachment(
|
Widget _buildImage(BuildContext context, int index) => ImageAttachment(
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ class MessageListView extends StatefulWidget {
|
|||||||
|
|
||||||
class _MessageListViewState extends State<MessageListView> {
|
class _MessageListViewState extends State<MessageListView> {
|
||||||
ItemScrollController? _scrollController;
|
ItemScrollController? _scrollController;
|
||||||
Function? _onThreadTap;
|
void Function(Message)? _onThreadTap;
|
||||||
bool _showScrollToBottom = false;
|
bool _showScrollToBottom = false;
|
||||||
late final ItemPositionsListener _itemPositionListener;
|
late final ItemPositionsListener _itemPositionListener;
|
||||||
int? _messageListLength;
|
int? _messageListLength;
|
||||||
@@ -814,7 +814,7 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
showUsername: !isMyMessage,
|
showUsername: !isMyMessage,
|
||||||
padding: const EdgeInsets.all(8),
|
padding: const EdgeInsets.all(8),
|
||||||
showSendingIndicator: false,
|
showSendingIndicator: false,
|
||||||
onThreadTap: _onThreadTap as void Function(Message)?,
|
onThreadTap: _onThreadTap,
|
||||||
borderRadiusGeometry: const BorderRadius.only(
|
borderRadiusGeometry: const BorderRadius.only(
|
||||||
topLeft: Radius.circular(16),
|
topLeft: Radius.circular(16),
|
||||||
bottomLeft: Radius.circular(2),
|
bottomLeft: Radius.circular(2),
|
||||||
@@ -976,7 +976,7 @@ class _MessageListViewState extends State<MessageListView> {
|
|||||||
showThreadReplyMessage: !isThreadMessage,
|
showThreadReplyMessage: !isThreadMessage,
|
||||||
showFlagButton: !isMyMessage,
|
showFlagButton: !isMyMessage,
|
||||||
borderSide: borderSide,
|
borderSide: borderSide,
|
||||||
onThreadTap: _onThreadTap as void Function(Message)?,
|
onThreadTap: _onThreadTap,
|
||||||
onReplyTap: widget.onReplyTap,
|
onReplyTap: widget.onReplyTap,
|
||||||
attachmentBorderRadiusGeometry: BorderRadius.only(
|
attachmentBorderRadiusGeometry: BorderRadius.only(
|
||||||
topLeft: Radius.circular(attachmentBorderRadius),
|
topLeft: Radius.circular(attachmentBorderRadius),
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ class MessageWidget extends StatefulWidget {
|
|||||||
message: message,
|
message: message,
|
||||||
messageTheme: messageTheme,
|
messageTheme: messageTheme,
|
||||||
onShowMessage: onShowMessage,
|
onShowMessage: onShowMessage,
|
||||||
|
onReturnAction: onReturnAction,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
border,
|
border,
|
||||||
|
|||||||
Reference in New Issue
Block a user