@@ -136,27 +136,6 @@ class _ChatMessageBubbleContent extends StatelessWidget {
136136 final messageStyle = textTheme.bodyMedium;
137137 final displayEvent = event.getDisplayEvent (timeline);
138138
139- final hide = hideAvatar && event.messageType == MessageTypes .Text ;
140-
141- final Widget chatBubbleAvatar;
142- if (hide) {
143- chatBubbleAvatar = const SizedBox .shrink ();
144- } else {
145- chatBubbleAvatar = event.messageType == MessageTypes .Text
146- ? ChatAvatar (
147- avatarUri: event.senderFromMemoryOrFallback.avatarUrl,
148- onTap: () => showDialog (
149- context: context,
150- builder: (context) => ChatProfileDialog (userId: event.senderId),
151- ),
152- fallBackColor: getMonochromeBg (
153- theme: context.theme,
154- factor: 10 ,
155- darkFactor: yaru ? 1 : null ,
156- ),
157- )
158- : ChatMessageMediaAvatar (event: event);
159- }
160139 return Material (
161140 color: Colors .transparent,
162141 child: Row (
@@ -166,7 +145,11 @@ class _ChatMessageBubbleContent extends StatelessWidget {
166145 children: [
167146 Padding (
168147 padding: const EdgeInsets .all (kSmallPadding),
169- child: chatBubbleAvatar,
148+ child: hideAvatar && event.messageType == MessageTypes .Text
149+ ? const SizedBox .shrink ()
150+ : ChatMessageBubbleLeading (
151+ event: event,
152+ ),
170153 ),
171154 Flexible (
172155 child: Column (
@@ -232,3 +215,31 @@ class _ChatMessageBubbleContent extends StatelessWidget {
232215 );
233216 }
234217}
218+
219+ class ChatMessageBubbleLeading extends StatelessWidget {
220+ const ChatMessageBubbleLeading ({super .key, required this .event});
221+
222+ final Event event;
223+
224+ @override
225+ Widget build (BuildContext context) {
226+ if (event.messageType == MessageTypes .BadEncrypted ) {
227+ return const SizedBox .shrink ();
228+ } else if (event.messageType != MessageTypes .Text ) {
229+ return ChatMessageMediaAvatar (event: event);
230+ }
231+
232+ return ChatAvatar (
233+ avatarUri: event.senderFromMemoryOrFallback.avatarUrl,
234+ onTap: () => showDialog (
235+ context: context,
236+ builder: (context) => ChatProfileDialog (userId: event.senderId),
237+ ),
238+ fallBackColor: getMonochromeBg (
239+ theme: context.theme,
240+ factor: 10 ,
241+ darkFactor: yaru ? 1 : null ,
242+ ),
243+ );
244+ }
245+ }
0 commit comments