always make event previews two lines for non-state events

This commit is contained in:
Henry Hiles 2026-10-04 00:32:20 -04:00
commit ffaa516dcd
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
2 changed files with 27 additions and 36 deletions

View file

@ -18,20 +18,16 @@ class const EventPreview(final Event event, {super.key})
if (event.content is MessageContent) MessageAvatar(event), if (event.content is MessageContent) MessageAvatar(event),
Flexible( Flexible(
child: Row( child: Column(
crossAxisAlignment: .center, mainAxisAlignment: .center,
mainAxisSize: .min, crossAxisAlignment: .start,
spacing: 8,
children: [ children: [
if (event.content is MessageContent) if (event.content is MessageContent) MessageDisplayname(event),
Flexible(child: MessageDisplayname(event)), EventRenderer(
Flexible( event.rowId,
child: EventRenderer( roomId: event.roomId,
event.rowId, textOnly: true,
roomId: event.roomId, maxLines: 1,
textOnly: true,
maxLines: 1,
),
), ),
], ],
), ),

View file

@ -199,30 +199,25 @@ class const MessageRenderer(
child: Padding( child: Padding(
padding: .symmetric(vertical: 8, horizontal: 12), padding: .symmetric(vertical: 8, horizontal: 12),
child: SizedBox( child: SizedBox(
height: 32, height: 48,
child: OverflowBox( child: switch (ref.watch(
alignment: .centerLeft, EventController.provider(
minHeight: 0, .new(
maxHeight: .infinity, roomId: event.roomId,
child: switch (ref.watch( eventId: event.replyTo!,
EventController.provider(
.new(
roomId: event.roomId,
eventId: event.replyTo!,
),
), ),
)) { ),
AsyncData(:final value?) || )) {
AsyncLoading( AsyncData(:final value?) ||
:final value?, AsyncLoading(
) => EventPreview(value), :final value?,
AsyncError _ => Text( ) => EventPreview(value),
"An error occurred while fetching the reply", AsyncError _ => Text(
style: errorStyle, "An error occurred while fetching the reply",
), style: errorStyle,
_ => Loading(dimension: 12), ),
}, _ => Loading(dimension: 12),
), },
), ),
), ),
), ),