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, + ), + ], + ), ), - ), - ], + ], + ), ), - ), - ); + ); + } }