change bubble layout wip

This commit is contained in:
Henry Hiles 2026-03-13 13:43:00 -04:00
commit 3e1b35b7cb
No known key found for this signature in database

View file

@ -21,6 +21,7 @@ import "package:nexus/helpers/extensions/get_headers.dart";
import "package:nexus/helpers/extensions/show_context_menu.dart"; import "package:nexus/helpers/extensions/show_context_menu.dart";
import "package:nexus/models/relation_type.dart"; import "package:nexus/models/relation_type.dart";
import "package:nexus/models/requests/report_request.dart"; import "package:nexus/models/requests/report_request.dart";
import "package:nexus/widgets/avatar_or_hash.dart";
import "package:nexus/widgets/chat_page/chat_box.dart"; import "package:nexus/widgets/chat_page/chat_box.dart";
import "package:nexus/widgets/chat_page/html/html.dart"; import "package:nexus/widgets/chat_page/html/html.dart";
import "package:nexus/widgets/chat_page/member_list.dart"; import "package:nexus/widgets/chat_page/member_list.dart";
@ -431,17 +432,47 @@ class RoomChat extends HookConsumerWidget {
index, { index, {
required bool isSentByMe, required bool isSentByMe,
MessageGroupStatus? groupStatus, MessageGroupStatus? groupStatus,
}) => FlyerChatTextMessage( }) => Row(
customWidget: getTextWidget(message), spacing: 8,
topWidget: TopWidget( crossAxisAlignment: CrossAxisAlignment.start,
message, children: [
onTapReply: notifier.scrollToMessage, groupStatus?.isFirst != false
groupStatus: groupStatus, ? AvatarOrHash(
Uri.parse(
message.metadata?["avatarUrl"] ??
"",
), ),
height: 40,
message.metadata?["displayName"] ??
"",
)
: SizedBox(width: 40),
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
if (groupStatus?.isFirst != false)
Text(
message.metadata?["displayName"] ??
message.authorId,
overflow: TextOverflow.ellipsis,
style: Theme.of(context)
.textTheme
.titleMedium
?.copyWith(
fontWeight: FontWeight.bold,
),
),
FlyerChatTextMessage(
customWidget: getTextWidget(message),
message: message, message: message,
showTime: true, showTime: true,
index: index, index: index,
), ),
],
),
],
),
linkPreviewBuilder: (_, message, isSentByMe) => linkPreviewBuilder: (_, message, isSentByMe) =>
LinkPreview( LinkPreview(
text: message.text, text: message.text,