mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 10:33:45 +00:00
Always open manage member sheet (#4110)
* always open manage member sheet * Update ElementX/Sources/Screens/ManageRoomMemberSheet/ManageRoomMemberSheetModels.swift Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com> * Update ElementX/Sources/Screens/ManageRoomMemberSheet/ManageRoomMemberSheetModels.swift Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com> * pr suggestions and handled the buttons actions correctly * Update ElementX/Sources/Screens/ManageRoomMemberSheet/View/ManageRoomMemberSheetView.swift Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com> * fixed some compilation errors * added some documentation * using a struct instead of a protocol * using arguments instead of a struct --------- Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
This commit is contained in:
@@ -17,7 +17,8 @@ struct RoomMemberDetails: Identifiable, Hashable {
|
||||
var isInvited: Bool
|
||||
var isIgnored: Bool
|
||||
var isBanned: Bool
|
||||
|
||||
var isActive: Bool
|
||||
|
||||
enum Role { case administrator, moderator, user }
|
||||
let role: Role
|
||||
let powerLevel: Int
|
||||
@@ -34,7 +35,7 @@ extension RoomMemberDetails {
|
||||
name = proxy.displayName
|
||||
avatarURL = proxy.avatarURL
|
||||
permalink = proxy.permalink
|
||||
|
||||
isActive = proxy.isActive
|
||||
isInvited = proxy.membership == .invite
|
||||
isIgnored = proxy.isIgnored
|
||||
isBanned = proxy.membership == .ban
|
||||
|
||||
@@ -31,7 +31,7 @@ protocol RoomMemberProxyProtocol: AnyObject {
|
||||
extension RoomMemberProxyProtocol {
|
||||
/// The member is active in the room (joined or invited).
|
||||
var isActive: Bool {
|
||||
membership == .join || membership == .invite
|
||||
membership == .join || membership == .invite || membership == .knock
|
||||
}
|
||||
|
||||
var permalink: URL? {
|
||||
|
||||
@@ -25,6 +25,12 @@ struct UserProfileProxy: Equatable, Hashable {
|
||||
avatarURL = member.isBanned ? nil : member.avatarURL
|
||||
}
|
||||
|
||||
init(sender: TimelineItemSender) {
|
||||
userID = sender.id
|
||||
displayName = sender.displayName
|
||||
avatarURL = sender.avatarURL
|
||||
}
|
||||
|
||||
init(sdkUserProfile: MatrixRustSDK.UserProfile) {
|
||||
userID = sdkUserProfile.userId
|
||||
displayName = sdkUserProfile.displayName
|
||||
|
||||
Reference in New Issue
Block a user