Sort members in the member list by power level and show mods and admins. (#2448)

This commit is contained in:
Doug
2024-02-12 10:39:06 +00:00
committed by GitHub
parent 316e351dbb
commit c1aaf331a3
12 changed files with 127 additions and 15 deletions
@@ -24,6 +24,8 @@ struct RoomMemberProxyMockConfiguration {
var membership: MembershipState
var isAccountOwner = false
var isIgnored = false
var powerLevel = 0
var role = RoomMemberRole.user
var canInviteUsers = false
var canSendStateEvent: (StateEventType) -> Bool = { _ in true }
}
@@ -37,6 +39,8 @@ extension RoomMemberProxyMock {
membership = configuration.membership
isAccountOwner = configuration.isAccountOwner
isIgnored = configuration.isIgnored
powerLevel = configuration.powerLevel
role = configuration.role
canInviteUsers = configuration.canInviteUsers
canSendStateEventTypeClosure = configuration.canSendStateEvent
}
@@ -110,6 +114,24 @@ extension RoomMemberProxyMock {
canInviteUsers: canInviteUsers,
canSendStateEvent: { allowedStateEvents.contains($0) }))
}
static var mockAdmin: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@admin:matrix.org",
displayName: "Arthur",
avatarURL: nil,
membership: .join,
powerLevel: 100,
role: .administrator))
}
static var mockModerator: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@mod:matrix.org",
displayName: "Merlin",
avatarURL: nil,
membership: .join,
powerLevel: 50,
role: .moderator))
}
}
extension Array where Element == RoomMemberProxyMock {