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,33 +9,39 @@ 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) {
child: Padding( final showSender = switch (event.content) {
padding: .symmetric(vertical: 4), MessageContent() || StickerContent() => true,
child: Row( _ => false,
mainAxisSize: .min, };
spacing: 8,
children: [
if (event.content is MessageContent) MessageAvatar(event, height: 36),
Flexible( return IgnorePointer(
child: Column( child: Padding(
mainAxisAlignment: .center, padding: .symmetric(vertical: 4),
crossAxisAlignment: .start, child: Row(
children: [ mainAxisSize: .min,
if (event.content is MessageContent) spacing: 8,
MessageDisplayname(event, shouldWrap: false), children: [
EventRenderer( if (showSender) MessageAvatar(event, height: 36),
event.rowId,
roomId: event.roomId, Flexible(
textOnly: true, child: Column(
maxLines: 1, mainAxisAlignment: .center,
), crossAxisAlignment: .start,
], children: [
if (showSender) MessageDisplayname(event, shouldWrap: false),
EventRenderer(
event.rowId,
roomId: event.roomId,
textOnly: true,
maxLines: 1,
),
],
),
), ),
), ],
], ),
), ),
), );
); }
} }