mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
implemented the logic to transfer ownership from a space
This commit is contained in:
@@ -28,6 +28,7 @@ enum SpaceScreenCoordinatorAction {
|
||||
case displayMembers(roomProxy: JoinedRoomProxyProtocol)
|
||||
case displaySpaceSettings(roomProxy: JoinedRoomProxyProtocol)
|
||||
case displayRolesAndPermissions(roomProxy: JoinedRoomProxyProtocol)
|
||||
case displayTransferOwnership(roomProxy: JoinedRoomProxyProtocol)
|
||||
case addExistingChildren
|
||||
case displayCreateChildRoomFlow(space: SpaceServiceRoom)
|
||||
}
|
||||
@@ -78,6 +79,8 @@ final class SpaceScreenCoordinator: CoordinatorProtocol {
|
||||
actionsSubject.send(.addExistingChildren)
|
||||
case .displayCreateChildRoomFlow(let space):
|
||||
actionsSubject.send(.displayCreateChildRoomFlow(space: space))
|
||||
case .presentTransferOwnership(roomProxy: let roomProxy):
|
||||
actionsSubject.send(.displayTransferOwnership(roomProxy: roomProxy))
|
||||
}
|
||||
}
|
||||
.store(in: &cancellables)
|
||||
|
||||
@@ -14,6 +14,7 @@ enum SpaceScreenViewModelAction {
|
||||
case selectRoom(roomID: String)
|
||||
case leftSpace
|
||||
case presentRolesAndPermissions(roomProxy: JoinedRoomProxyProtocol)
|
||||
case presentTransferOwnership(roomProxy: JoinedRoomProxyProtocol)
|
||||
case displayMembers(roomProxy: JoinedRoomProxyProtocol)
|
||||
case displaySpaceSettings(roomProxy: JoinedRoomProxyProtocol)
|
||||
case addExistingChildren
|
||||
|
||||
@@ -261,6 +261,12 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
|
||||
case .didLeaveSpace:
|
||||
state.bindings.leaveSpaceViewModel = nil
|
||||
actionsSubject.send(.leftSpace)
|
||||
case .presentTransferOwnership:
|
||||
guard let roomProxy = state.roomProxy else {
|
||||
fatalError("The space screen should always have a room proxy")
|
||||
}
|
||||
state.bindings.leaveSpaceViewModel = nil
|
||||
actionsSubject.send(.presentTransferOwnership(roomProxy: roomProxy))
|
||||
}
|
||||
}
|
||||
.store(in: &cancellables)
|
||||
|
||||
Reference in New Issue
Block a user