From 45b3ec10bf6416af2f33cb86e5ffd1aee18e8ac7 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Sun, 1 Nov 2026 12:44:52 -0500 Subject: [PATCH] show senders for both messages and stickers in reply previews --- lib/widgets/event_preview.dart | 59 +++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/lib/widgets/event_preview.dart b/lib/widgets/event_preview.dart index 1b88fa8..cedbe30 100644 --- a/lib/widgets/event_preview.dart +++ b/lib/widgets/event_preview.dart @@ -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,33 +9,39 @@ import "package:nexus/widgets/renderers/event.dart"; class const EventPreview(final Event event, {super.key}) extends StatelessWidget { @override - Widget build(BuildContext context) => IgnorePointer( - child: Padding( - padding: .symmetric(vertical: 4), - child: Row( - mainAxisSize: .min, - spacing: 8, - children: [ - if (event.content is MessageContent) MessageAvatar(event, height: 36), + Widget build(BuildContext context) { + final showSender = switch (event.content) { + MessageContent() || StickerContent() => true, + _ => false, + }; - Flexible( - child: Column( - mainAxisAlignment: .center, - crossAxisAlignment: .start, - children: [ - if (event.content is MessageContent) - MessageDisplayname(event, shouldWrap: false), - EventRenderer( - event.rowId, - roomId: event.roomId, - textOnly: true, - maxLines: 1, - ), - ], + return IgnorePointer( + child: Padding( + padding: .symmetric(vertical: 4), + child: Row( + mainAxisSize: .min, + spacing: 8, + children: [ + if (showSender) MessageAvatar(event, height: 36), + + Flexible( + child: Column( + mainAxisAlignment: .center, + crossAxisAlignment: .start, + children: [ + if (showSender) MessageDisplayname(event, shouldWrap: false), + EventRenderer( + event.rowId, + roomId: event.roomId, + textOnly: true, + maxLines: 1, + ), + ], + ), ), - ), - ], + ], + ), ), - ), - ); + ); + } }