Fix Rooms that user has knocked not displaying the request sent screen (#3513)

* fix knocked state

* pr suggestion

* code improvement
This commit is contained in:
Mauro
2024-11-14 13:43:40 +01:00
committed by GitHub
parent 9746da78a2
commit 2cb7faca88
7 changed files with 79 additions and 44 deletions
@@ -8,7 +8,17 @@
import Foundation
import MatrixRustSDK
struct RoomInfoProxy {
protocol BaseRoomInfoProxyProtocol {
var id: String { get }
var displayName: String? { get }
var avatar: RoomAvatar { get }
var topic: String? { get }
var canonicalAlias: String? { get }
var avatarURL: URL? { get }
var activeMembersCount: Int { get }
}
struct RoomInfoProxy: BaseRoomInfoProxyProtocol {
let roomInfo: RoomInfo
var id: String { roomInfo.id }
@@ -54,3 +64,18 @@ struct RoomInfoProxy {
var unreadMentionsCount: UInt { UInt(roomInfo.numUnreadMentions) }
var pinnedEventIDs: Set<String> { Set(roomInfo.pinnedEventIds) }
}
struct RoomPreviewInfoProxy: BaseRoomInfoProxyProtocol {
let roomPreviewInfo: RoomPreviewInfo
var id: String { roomPreviewInfo.roomId }
var displayName: String? { roomPreviewInfo.name }
var avatar: RoomAvatar {
.room(id: id, name: displayName, avatarURL: avatarURL)
}
var topic: String? { roomPreviewInfo.topic }
var canonicalAlias: String? { roomPreviewInfo.canonicalAlias }
var avatarURL: URL? { roomPreviewInfo.avatarUrl.flatMap(URL.init) }
var activeMembersCount: Int { Int(roomPreviewInfo.numJoinedMembers) }
}