forked from Nexus/nexus
treewide(refactor): rename files to follow the same style
This commit is contained in:
parent
15d441e4c4
commit
7992f0e815
81 changed files with 167 additions and 167 deletions
32
lib/controllers/members_by_status.dart
Normal file
32
lib/controllers/members_by_status.dart
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
import "package:fast_immutable_collections/fast_immutable_collections.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:nexus/controllers/members.dart";
|
||||
import "package:nexus/models/configs/members_by_status.dart";
|
||||
import "package:nexus/models/content/membership.dart";
|
||||
import "package:nexus/models/event.dart";
|
||||
|
||||
class MembersByStatusController extends AsyncNotifier<ISet<Event>> {
|
||||
final MembersByStatusConfig config;
|
||||
MembersByStatusController(this.config);
|
||||
|
||||
@override
|
||||
Future<ISet<Event>> build() => ref.watch(
|
||||
MembersController.provider(config.roomId).selectAsync(
|
||||
(members) => members
|
||||
.where(
|
||||
(membership) => switch (membership.content) {
|
||||
MembershipContent(:final status) => config.status == status,
|
||||
_ => false,
|
||||
},
|
||||
)
|
||||
.toISet(),
|
||||
),
|
||||
);
|
||||
|
||||
static final provider =
|
||||
AsyncNotifierProvider.family<
|
||||
MembersByStatusController,
|
||||
ISet<Event>,
|
||||
MembersByStatusConfig
|
||||
>(MembersByStatusController.new);
|
||||
}
|
||||
Loading…
Reference in a new issue