forked from Henry-Hiles/nexus
add mention support
This commit is contained in:
parent
6215537f8e
commit
bbe36ff86f
8 changed files with 198 additions and 107 deletions
23
lib/controllers/rooms_controller.dart
Normal file
23
lib/controllers/rooms_controller.dart
Normal 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,
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue