show senders for both messages and stickers in reply previews

This commit is contained in:
Henry Hiles 2026-11-01 12:44:52 -05:00
commit 45b3ec10bf
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -1,5 +1,6 @@
import "package:material_ui/material_ui.dart";
import "package:nexus/models/content/message.dart";
import "package:nexus/models/content/sticker.dart";
import "package:nexus/models/event.dart";
import "package:nexus/widgets/lazy_loading/message_avatar.dart";
import "package:nexus/widgets/lazy_loading/message_displayname.dart";
@ -8,22 +9,27 @@ import "package:nexus/widgets/renderers/event.dart";
class const EventPreview(final Event event, {super.key})
extends StatelessWidget {
@override
Widget build(BuildContext context) => IgnorePointer(
Widget build(BuildContext context) {
final showSender = switch (event.content) {
MessageContent() || StickerContent() => true,
_ => false,
};
return IgnorePointer(
child: Padding(
padding: .symmetric(vertical: 4),
child: Row(
mainAxisSize: .min,
spacing: 8,
children: [
if (event.content is MessageContent) MessageAvatar(event, height: 36),
if (showSender) MessageAvatar(event, height: 36),
Flexible(
child: Column(
mainAxisAlignment: .center,
crossAxisAlignment: .start,
children: [
if (event.content is MessageContent)
MessageDisplayname(event, shouldWrap: false),
if (showSender) MessageDisplayname(event, shouldWrap: false),
EventRenderer(
event.rowId,
roomId: event.roomId,
@ -37,4 +43,5 @@ class const EventPreview(final Event event, {super.key})
),
),
);
}
}