Skip to content

Commit cfc47d7

Browse files
feat: show media attachments in message widget
1 parent 807f26c commit cfc47d7

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

lib/ui/chat/widgets/message_widget.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'package:whitenoise/config/providers/localization_provider.dart';
99
import 'package:whitenoise/config/states/chat_search_state.dart';
1010
import 'package:whitenoise/domain/models/message_model.dart';
1111
import 'package:whitenoise/ui/chat/widgets/chat_bubble/bubble.dart';
12+
import 'package:whitenoise/ui/chat/widgets/message_media_grid.dart';
1213
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
1314
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
1415
import 'package:whitenoise/ui/core/ui/wn_image.dart';
@@ -134,6 +135,12 @@ class MessageWidget extends StatelessWidget {
134135
onTap:
135136
message.replyTo != null ? () => onReplyTap?.call(message.replyTo!.id) : null,
136137
),
138+
if (message.mediaAttachments.isNotEmpty) ...[
139+
MessageMediaGrid(
140+
mediaFiles: message.mediaAttachments,
141+
),
142+
Gap(4.h),
143+
],
137144
_buildMessageWithTimestamp(
138145
context,
139146
constraints.maxWidth - 16.w,
@@ -157,6 +164,16 @@ class MessageWidget extends StatelessWidget {
157164
final timestampWidth = _getTimestampWidth(context);
158165
final minPadding = 8.w;
159166

167+
// If message content is empty, just show the timestamp
168+
if (messageContent.isEmpty) {
169+
return Row(
170+
mainAxisAlignment: MainAxisAlignment.end,
171+
children: [
172+
TimeAndStatus(message: message, context: context),
173+
],
174+
);
175+
}
176+
160177
final textWidget = _buildHighlightedText(messageContent, textStyle, context);
161178

162179
final textPainter = TextPainter(

0 commit comments

Comments
 (0)