mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
pr suggestions
This commit is contained in:
@@ -277,7 +277,7 @@ class SpaceFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
stateMachine.tryEvent(.leftSpace)
|
stateMachine.tryEvent(.leftSpace)
|
||||||
case .displayMembers(let roomProxy):
|
case .displayMembers(let roomProxy):
|
||||||
stateMachine.tryEvent(.startMembersFlow, userInfo: roomProxy)
|
stateMachine.tryEvent(.startMembersFlow, userInfo: roomProxy)
|
||||||
case .displaySpaceSettings(roomProxy: let roomProxy):
|
case .displaySpaceSettings(let roomProxy):
|
||||||
stateMachine.tryEvent(.startSettingsFlow, userInfo: roomProxy)
|
stateMachine.tryEvent(.startSettingsFlow, userInfo: roomProxy)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,7 +59,12 @@ final class SpaceSettingsFlowCoordinator: FlowCoordinatorProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func clearRoute(animated: Bool) {
|
func clearRoute(animated: Bool) {
|
||||||
// Not implemented yet
|
switch stateMachine.state {
|
||||||
|
case .initial:
|
||||||
|
break
|
||||||
|
case .spaceSettings:
|
||||||
|
navigationStackCoordinator.pop(animated: animated) // SpaceSettingsScreen
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func configureStateMachine() {
|
private func configureStateMachine() {
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ enum SpaceScreenViewAction {
|
|||||||
case selectAllLeaveRoomDetails
|
case selectAllLeaveRoomDetails
|
||||||
case toggleLeaveSpaceRoomDetails(id: String)
|
case toggleLeaveSpaceRoomDetails(id: String)
|
||||||
case confirmLeaveSpace
|
case confirmLeaveSpace
|
||||||
case spaceSettings
|
case spaceSettings(roomProxy: JoinedRoomProxyProtocol)
|
||||||
case rolesAndPermissions
|
case rolesAndPermissions
|
||||||
case displayMembers(roomProxy: JoinedRoomProxyProtocol)
|
case displayMembers(roomProxy: JoinedRoomProxyProtocol)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,10 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
|
|||||||
}
|
}
|
||||||
.store(in: &cancellables)
|
.store(in: &cancellables)
|
||||||
|
|
||||||
|
selectedSpaceRoomPublisher
|
||||||
|
.weakAssign(to: \.state.selectedSpaceRoomID, on: self)
|
||||||
|
.store(in: &cancellables)
|
||||||
|
|
||||||
Task {
|
Task {
|
||||||
if case let .joined(roomProxy) = await userSession.clientProxy.roomForIdentifier(spaceRoomListProxy.id) {
|
if case let .joined(roomProxy) = await userSession.clientProxy.roomForIdentifier(spaceRoomListProxy.id) {
|
||||||
// Required to listen for membership updates in the members flow
|
// Required to listen for membership updates in the members flow
|
||||||
@@ -124,10 +128,7 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
|
|||||||
Task { await confirmLeaveSpace() }
|
Task { await confirmLeaveSpace() }
|
||||||
case .displayMembers(let roomProxy):
|
case .displayMembers(let roomProxy):
|
||||||
actionsSubject.send(.displayMembers(roomProxy: roomProxy))
|
actionsSubject.send(.displayMembers(roomProxy: roomProxy))
|
||||||
case .spaceSettings:
|
case .spaceSettings(let roomProxy):
|
||||||
guard let roomProxy = state.roomProxy else {
|
|
||||||
fatalError("Always available when the space settings button is tapped.")
|
|
||||||
}
|
|
||||||
actionsSubject.send(.displaySpaceSettings(roomProxy: roomProxy))
|
actionsSubject.send(.displaySpaceSettings(roomProxy: roomProxy))
|
||||||
case .rolesAndPermissions:
|
case .rolesAndPermissions:
|
||||||
break // Not implemented yet
|
break // Not implemented yet
|
||||||
|
|||||||
@@ -74,8 +74,9 @@ struct SpaceScreen: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if context.viewState.isSpaceManagementEnabled {
|
if context.viewState.isSpaceManagementEnabled,
|
||||||
Button { context.send(viewAction: .spaceSettings) } label: {
|
let roomProxy = context.viewState.roomProxy {
|
||||||
|
Button { context.send(viewAction: .spaceSettings(roomProxy: roomProxy)) } label: {
|
||||||
Label(L10n.commonSettings, icon: \.settings)
|
Label(L10n.commonSettings, icon: \.settings)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,8 +55,7 @@ struct SpaceSettingsScreen: View {
|
|||||||
.foregroundStyle(.compound.textSecondary)
|
.foregroundStyle(.compound.textSecondary)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
Spacer()
|
|
||||||
|
|
||||||
ListRowAccessory.navigationLink
|
ListRowAccessory.navigationLink
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user