Space Settings: Leave Room (#4700)

* Implementation for all navigations inside the space settings aside the left space action

# Conflicts:
#	ElementX/Sources/FlowCoordinators/SpaceSettingsFlowCoordinator.swift

* refactored the leave space view to use its own view model

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* implemented the leave space view model also in the settings screen, and corrected some tests

* reusing the details coordinator for the space settings screen

* leave space from settings implemented

* fix project

* minor pr fixes

* code improvements
This commit is contained in:
Mauro
2025-11-07 12:11:21 +01:00
committed by GitHub
parent 8974a4584a
commit 096e2d1713
22 changed files with 407 additions and 277 deletions
@@ -13,6 +13,7 @@ enum SpaceScreenViewModelAction {
case selectUnjoinedSpace(SpaceRoomProxyProtocol)
case selectRoom(roomID: String)
case leftSpace
case presentRolesAndPermissions(roomProxy: JoinedRoomProxyProtocol)
case displayMembers(roomProxy: JoinedRoomProxyProtocol)
case displaySpaceSettings(roomProxy: JoinedRoomProxyProtocol)
}
@@ -39,17 +40,12 @@ struct SpaceScreenViewState: BindableState {
}
struct SpaceScreenViewStateBindings {
var leaveHandle: LeaveSpaceHandleProxy?
var leaveSpaceViewModel: LeaveSpaceViewModel?
}
enum SpaceScreenViewAction {
case spaceAction(SpaceRoomCell.Action)
case leaveSpace
case deselectAllLeaveRoomDetails
case selectAllLeaveRoomDetails
case toggleLeaveSpaceRoomDetails(id: String)
case confirmLeaveSpace
case spaceSettings(roomProxy: JoinedRoomProxyProtocol)
case rolesAndPermissions
case displayMembers(roomProxy: JoinedRoomProxyProtocol)
}