forked from Henry-Hiles/nexus
add minimal scroll to message, only when on current timeline
This commit is contained in:
parent
cb22bdc314
commit
9a3f7e9bdc
4 changed files with 22 additions and 9 deletions
|
|
@ -167,6 +167,11 @@ class ClientController extends AsyncNotifier<int> {
|
|||
await _sendCommand("leave_room", {"room_id": room.metadata!.id});
|
||||
}
|
||||
|
||||
// (await _sendCommand("get_event_context", {
|
||||
// "room_id": request.roomId,
|
||||
// "event_id": r"$OqZT4NuTj0J1-771IOEEWRI4XdumRNu6ighlvO3K3gc",
|
||||
// }));
|
||||
|
||||
Future<IList<Event>> getRoomState(GetRoomStateRequest request) async {
|
||||
final response =
|
||||
(await _sendCommand("get_room_state", request.toJson())) as List;
|
||||
|
|
|
|||
|
|
@ -18,12 +18,12 @@ import "package:nexus/models/relation_type.dart";
|
|||
import "package:nexus/models/requests/send_message_request.dart";
|
||||
import "package:nexus/models/room.dart";
|
||||
|
||||
class RoomChatController extends AsyncNotifier<ChatController> {
|
||||
class RoomChatController extends AsyncNotifier<InMemoryChatController> {
|
||||
final String roomId;
|
||||
RoomChatController(this.roomId);
|
||||
|
||||
@override
|
||||
Future<ChatController> build() async {
|
||||
Future<InMemoryChatController> build() async {
|
||||
final client = ref.watch(ClientController.provider.notifier);
|
||||
var room = ref.read(RoomsController.provider)[roomId];
|
||||
if (room == null) return InMemoryChatController();
|
||||
|
|
@ -283,8 +283,13 @@ class RoomChatController extends AsyncNotifier<ChatController> {
|
|||
);
|
||||
}
|
||||
|
||||
Future<void> scrollToMessage(Message message) async {
|
||||
final controller = await future;
|
||||
return await controller.scrollToMessage(message.id);
|
||||
}
|
||||
|
||||
static final provider = AsyncNotifierProvider.family
|
||||
.autoDispose<RoomChatController, ChatController, String>(
|
||||
.autoDispose<RoomChatController, InMemoryChatController, String>(
|
||||
RoomChatController.new,
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue