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