don't pass room around, use many watches

This commit is contained in:
Henry Hiles 2026-03-29 14:14:11 -04:00
commit 60be7aaf72
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
15 changed files with 207 additions and 231 deletions

View file

@ -1,21 +1,13 @@
import "package:flutter/material.dart";
import "package:flutter_chat_core/flutter_chat_core.dart";
import "package:nexus/models/room.dart";
import "package:nexus/widgets/chat_page/lazy_loading/message_avatar.dart";
import "package:nexus/widgets/chat_page/lazy_loading/message_displayname.dart";
class MessageWrapper extends StatelessWidget {
final Message message;
final Widget child;
final Room room;
final MessageGroupStatus? groupStatus;
const MessageWrapper(
this.message,
this.child,
this.groupStatus,
this.room, {
super.key,
});
const MessageWrapper(this.message, this.child, this.groupStatus, {super.key});
@override
Widget build(BuildContext context) => ClipRRect(
@ -33,7 +25,7 @@ class MessageWrapper extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
groupStatus?.isFirst != false
? MessageAvatar(message, room, height: 40)
? MessageAvatar(message, height: 40)
: SizedBox(width: 40),
Expanded(
child: Column(
@ -43,7 +35,6 @@ class MessageWrapper extends StatelessWidget {
if (groupStatus?.isFirst != false)
MessageDisplayname(
message,
room,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.bold,
),

View file

@ -1,7 +1,6 @@
import "package:flutter/material.dart";
import "package:flutter_chat_core/flutter_chat_core.dart";
import "package:flutter_link_previewer/flutter_link_previewer.dart";
import "package:nexus/models/room.dart";
import "package:nexus/widgets/chat_page/html/html.dart";
import "package:nexus/widgets/chat_page/wrappers/message_wrapper.dart";
import "package:nexus/widgets/chat_page/reply_widget.dart";
@ -9,7 +8,6 @@ import "package:nexus/widgets/chat_page/reply_widget.dart";
class TextMessageWrapper extends StatelessWidget {
final Message message;
final String? content;
final Room room;
final MessageGroupStatus? groupStatus;
final Future<void> Function(Message oldMessage, Message newMessage)
updateMessage;
@ -21,7 +19,6 @@ class TextMessageWrapper extends StatelessWidget {
this.message, {
this.content,
this.onTapReply,
required this.room,
required this.updateMessage,
required this.groupStatus,
required this.isSentByMe,
@ -51,7 +48,6 @@ class TextMessageWrapper extends StatelessWidget {
children: [
ReplyWidget(
message,
room: room,
groupStatus: groupStatus,
onTapReply: onTapReply,
),
@ -109,7 +105,6 @@ class TextMessageWrapper extends StatelessWidget {
),
),
groupStatus,
room,
);
}
}