mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-05 11:58:32 +00:00
Sort members in the member list by power level and show mods and admins. (#2448)
This commit is contained in:
@@ -1735,6 +1735,16 @@ class RoomMemberProxyMock: RoomMemberProxyProtocol {
|
||||
set(value) { underlyingIsIgnored = value }
|
||||
}
|
||||
var underlyingIsIgnored: Bool!
|
||||
var powerLevel: Int {
|
||||
get { return underlyingPowerLevel }
|
||||
set(value) { underlyingPowerLevel = value }
|
||||
}
|
||||
var underlyingPowerLevel: Int!
|
||||
var role: RoomMemberRole {
|
||||
get { return underlyingRole }
|
||||
set(value) { underlyingRole = value }
|
||||
}
|
||||
var underlyingRole: RoomMemberRole!
|
||||
var canInviteUsers: Bool {
|
||||
get { return underlyingCanInviteUsers }
|
||||
set(value) { underlyingCanInviteUsers = value }
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user