fix for leaving a space with no joined rooms showing the incorrect subtitle

This commit is contained in:
Mauro Romito
2025-12-18 12:26:20 +01:00
committed by Mauro
parent ea8b2b16f9
commit b08d4c9457
3 changed files with 16 additions and 12 deletions

View File

@@ -22,14 +22,18 @@ extension LeaveSpaceHandleSDKMock {
}
extension [LeaveSpaceRoom] {
static func mockLastSpaceAdmin(spaceRoomProxy: SpaceRoomProxyProtocol) -> [LeaveSpaceRoom] {
mockRooms + [LeaveSpaceRoom(spaceRoom: SpaceRoom(id: spaceRoomProxy.id,
name: spaceRoomProxy.name,
avatarURL: spaceRoomProxy.avatarURL,
isSpace: true,
memberCount: UInt64(spaceRoomProxy.joinedMembersCount),
joinRule: spaceRoomProxy.joinRule),
isLastAdmin: true)]
static func mockRoomsWithSpace(spaceRoomProxy: SpaceRoomProxyProtocol, isLastAdmin: Bool) -> [LeaveSpaceRoom] {
mockRooms + mockSingleSpace(spaceRoomProxy: spaceRoomProxy, isLastAdmin: isLastAdmin)
}
static func mockSingleSpace(spaceRoomProxy: SpaceRoomProxyProtocol, isLastAdmin: Bool) -> [LeaveSpaceRoom] {
[LeaveSpaceRoom(spaceRoom: SpaceRoom(id: spaceRoomProxy.id,
name: spaceRoomProxy.name,
avatarURL: spaceRoomProxy.avatarURL,
isSpace: true,
memberCount: UInt64(spaceRoomProxy.joinedMembersCount),
joinRule: spaceRoomProxy.joinRule),
isLastAdmin: isLastAdmin)]
}
static var mockAdminRooms: [LeaveSpaceRoom] {

View File

@@ -148,8 +148,8 @@ struct LeaveSpaceView_Previews: PreviewProvider, TestablePreview {
let rooms: [LeaveSpaceRoom] = switch mode {
case .manyRooms: .mockRooms
case .onlyAdminRooms: .mockAdminRooms
case .noRooms: []
case .lastSpaceAdmin: .mockLastSpaceAdmin(spaceRoomProxy: spaceRoomProxy)
case .noRooms: .mockSingleSpace(spaceRoomProxy: spaceRoomProxy, isLastAdmin: false)
case .lastSpaceAdmin: .mockRoomsWithSpace(spaceRoomProxy: spaceRoomProxy, isLastAdmin: true)
}
let leaveHandle = LeaveSpaceHandleProxy(spaceID: spaceRoomProxy.id,

View File

@@ -42,9 +42,9 @@ final class LeaveSpaceHandleProxy {
mode = if space?.isLastAdmin == true {
.lastSpaceAdmin
} else if rooms.isEmpty {
} else if self.rooms.isEmpty {
.noRooms
} else if rooms.count(where: { !$0.isLastAdmin }) == 0 {
} else if self.rooms.count(where: { !$0.isLastAdmin }) == 0 {
.onlyAdminRooms
} else {
.manyRooms