Fetch replies in toMessage not at runtime

This commit is contained in:
Henry Hiles 2025-12-23 18:46:31 -05:00
commit 7ce4d3c9fb
No known key found for this signature in database
3 changed files with 67 additions and 90 deletions

View file

@ -1,23 +0,0 @@
import "package:flutter_chat_core/flutter_chat_core.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:nexus/controllers/selected_room_controller.dart";
import "package:nexus/helpers/extensions/event_to_message.dart";
class MessageController extends AsyncNotifier<TextMessage?> {
final String id;
MessageController(this.id);
@override
Future<TextMessage?> build() async {
final room = await ref.watch(SelectedRoomController.provider.future);
if (room == null) return null;
final event = await room.roomData.getEventById(id);
return (await event?.toMessage(mustBeText: true)) as TextMessage?;
}
static final provider = AsyncNotifierProvider.family
.autoDispose<MessageController, TextMessage?, String>(
MessageController.new,
);
}