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
|
|
@ -1,47 +0,0 @@
|
|||
import "dart:async";
|
||||
import "package:collection/collection.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:nexus/controllers/members_controller.dart";
|
||||
import "package:nexus/controllers/profile_controller.dart";
|
||||
import "package:nexus/helpers/extensions/get_localpart.dart";
|
||||
import "package:nexus/models/configs/user_config.dart";
|
||||
import "package:nexus/models/content/membership.dart";
|
||||
|
||||
class UserController extends AsyncNotifier<MembershipContent> {
|
||||
final UserConfig config;
|
||||
UserController(this.config);
|
||||
|
||||
@override
|
||||
Future<MembershipContent> build() async {
|
||||
final member = config.roomId == null
|
||||
? null
|
||||
: await ref.watch(
|
||||
MembersController.provider(config.roomId!).selectAsync(
|
||||
(value) => value.firstWhereOrNull(
|
||||
(membership) => membership.stateKey == config.userId,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
if (member?.content case final MembershipContent content) {
|
||||
return content;
|
||||
}
|
||||
|
||||
final profile = await ref.watch(
|
||||
ProfileController.provider(config.userId).future,
|
||||
);
|
||||
|
||||
return .new(
|
||||
status: .leave,
|
||||
avatarUrl: profile.avatarUrl,
|
||||
displayName: profile.displayName ?? config.userId.localpart,
|
||||
);
|
||||
}
|
||||
|
||||
static final provider =
|
||||
AsyncNotifierProvider.family<
|
||||
UserController,
|
||||
MembershipContent,
|
||||
UserConfig
|
||||
>(UserController.new);
|
||||
}
|
||||
Loading…
Reference in a new issue