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 b1abb729aa
commit 57cd5dd794
3 changed files with 16 additions and 12 deletions
@@ -22,14 +22,18 @@ extension LeaveSpaceHandleSDKMock {
} }
extension [LeaveSpaceRoom] { extension [LeaveSpaceRoom] {
static func mockLastSpaceAdmin(spaceRoomProxy: SpaceRoomProxyProtocol) -> [LeaveSpaceRoom] { static func mockRoomsWithSpace(spaceRoomProxy: SpaceRoomProxyProtocol, isLastAdmin: Bool) -> [LeaveSpaceRoom] {
mockRooms + [LeaveSpaceRoom(spaceRoom: SpaceRoom(id: spaceRoomProxy.id, mockRooms + mockSingleSpace(spaceRoomProxy: spaceRoomProxy, isLastAdmin: isLastAdmin)
name: spaceRoomProxy.name, }
avatarURL: spaceRoomProxy.avatarURL,
isSpace: true, static func mockSingleSpace(spaceRoomProxy: SpaceRoomProxyProtocol, isLastAdmin: Bool) -> [LeaveSpaceRoom] {
memberCount: UInt64(spaceRoomProxy.joinedMembersCount), [LeaveSpaceRoom(spaceRoom: SpaceRoom(id: spaceRoomProxy.id,
joinRule: spaceRoomProxy.joinRule), name: spaceRoomProxy.name,
isLastAdmin: true)] avatarURL: spaceRoomProxy.avatarURL,
isSpace: true,
memberCount: UInt64(spaceRoomProxy.joinedMembersCount),
joinRule: spaceRoomProxy.joinRule),
isLastAdmin: isLastAdmin)]
} }
static var mockAdminRooms: [LeaveSpaceRoom] { static var mockAdminRooms: [LeaveSpaceRoom] {
@@ -148,8 +148,8 @@ struct LeaveSpaceView_Previews: PreviewProvider, TestablePreview {
let rooms: [LeaveSpaceRoom] = switch mode { let rooms: [LeaveSpaceRoom] = switch mode {
case .manyRooms: .mockRooms case .manyRooms: .mockRooms
case .onlyAdminRooms: .mockAdminRooms case .onlyAdminRooms: .mockAdminRooms
case .noRooms: [] case .noRooms: .mockSingleSpace(spaceRoomProxy: spaceRoomProxy, isLastAdmin: false)
case .lastSpaceAdmin: .mockLastSpaceAdmin(spaceRoomProxy: spaceRoomProxy) case .lastSpaceAdmin: .mockRoomsWithSpace(spaceRoomProxy: spaceRoomProxy, isLastAdmin: true)
} }
let leaveHandle = LeaveSpaceHandleProxy(spaceID: spaceRoomProxy.id, let leaveHandle = LeaveSpaceHandleProxy(spaceID: spaceRoomProxy.id,
@@ -42,9 +42,9 @@ final class LeaveSpaceHandleProxy {
mode = if space?.isLastAdmin == true { mode = if space?.isLastAdmin == true {
.lastSpaceAdmin .lastSpaceAdmin
} else if rooms.isEmpty { } else if self.rooms.isEmpty {
.noRooms .noRooms
} else if rooms.count(where: { !$0.isLastAdmin }) == 0 { } else if self.rooms.count(where: { !$0.isLastAdmin }) == 0 {
.onlyAdminRooms .onlyAdminRooms
} else { } else {
.manyRooms .manyRooms