add mention support

This commit is contained in:
Henry Hiles 2025-12-26 17:00:59 -05:00
commit bbe36ff86f
No known key found for this signature in database
8 changed files with 198 additions and 107 deletions

View file

@ -0,0 +1,23 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:nexus/controllers/client_controller.dart";
import "package:nexus/helpers/extensions/get_full_room.dart";
import "package:nexus/models/full_room.dart";
class RoomsController extends AsyncNotifier<IList<FullRoom>> {
@override
Future<IList<FullRoom>> build() async {
final client = await ref.watch(ClientController.provider.future);
ref.onDispose(
client.onSync.stream.listen((_) => ref.invalidateSelf()).cancel,
);
return IList(await Future.wait(client.rooms.map((room) => room.fullRoom)));
}
static final provider =
AsyncNotifierProvider<RoomsController, IList<FullRoom>>(
RoomsController.new,
);
}