remove space FFs

This commit is contained in:
Mauro Romito
2026-02-26 15:45:07 +01:00
committed by Mauro
parent 737b907d26
commit ce97fec477
18 changed files with 30 additions and 100 deletions
@@ -36,7 +36,6 @@ struct SpaceScreenViewState: BindableState {
var canEditRolesAndPermissions = false
var canEditSecurityAndPrivacy = false
var canEditChildren = false
var canCreateRoom = false
var editMode: EditMode = .inactive
var editModeSelectedIDs: Set<String> = []
@@ -75,10 +75,6 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
.weakAssign(to: \.state.selectedSpaceRoomID, on: self)
.store(in: &cancellables)
appSettings.$createSpaceEnabled
.weakAssign(to: \.state.canCreateRoom, on: self)
.store(in: &cancellables)
Task {
if case let .joined(roomProxy) = await userSession.clientProxy.roomForIdentifier(spaceRoomListProxy.id) {
// Required to listen for membership updates in the members flow
@@ -88,11 +84,10 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
state.permalink = permalinkURL
}
appSettings.$spaceSettingsEnabled
.combineLatest(roomProxy.infoPublisher)
.sink { [weak self] isEnabled, roomInfo in
roomProxy.infoPublisher
.sink { [weak self] roomInfo in
guard let self else { return }
guard isEnabled, let powerLevels = roomInfo.powerLevels else {
guard let powerLevels = roomInfo.powerLevels else {
state.canEditBaseInfo = false
state.canEditRolesAndPermissions = false
state.canEditSecurityAndPrivacy = false
@@ -247,7 +242,7 @@ class SpaceScreenViewModel: SpaceScreenViewModelType, SpaceScreenViewModelProtoc
}
let leaveSpaceViewModel = LeaveSpaceViewModel(spaceName: state.space.name,
canEditRolesAndPermissions: appSettings.spaceSettingsEnabled && state.canEditRolesAndPermissions,
canEditRolesAndPermissions: state.canEditRolesAndPermissions,
leaveHandle: leaveHandle,
userIndicatorController: userIndicatorController,
mediaProvider: mediaProvider)
@@ -78,12 +78,10 @@ struct SpaceScreen: View {
}
.buttonStyle(.compound(.primary))
if context.viewState.canCreateRoom {
Button(L10n.actionCreateRoom) {
context.send(viewAction: .createChildRoom)
}
.buttonStyle(.compound(.secondary))
Button(L10n.actionCreateRoom) {
context.send(viewAction: .createChildRoom)
}
.buttonStyle(.compound(.secondary))
}
.padding(.horizontal, 16)
}
@@ -128,11 +126,9 @@ struct SpaceScreen: View {
Menu {
if context.viewState.canEditChildren {
Section {
if context.viewState.canCreateRoom {
Button { context.send(viewAction: .createChildRoom) } label: {
Label(L10n.actionCreateRoom, icon: \.plus)
}
.accessibilityIdentifier(A11yIdentifiers.spaceScreen.createRoom)
Button { context.send(viewAction: .createChildRoom) } label: {
Label(L10n.actionCreateRoom, icon: \.plus)
.accessibilityIdentifier(A11yIdentifiers.spaceScreen.createRoom)
}
Button { context.send(viewAction: .addExistingRooms) } label: {
@@ -207,16 +203,10 @@ struct SpaceScreen_Previews: PreviewProvider, TestablePreview {
SpaceScreen(context: newSpaceViewModel.context)
}
.previewDisplayName("New Space")
.snapshotPreferences(expect: newSpaceViewModel.context.observe(\.viewState).map {
$0.canCreateRoom && $0.canEditChildren
})
.snapshotPreferences(expect: newSpaceViewModel.context.observe(\.viewState).map(\.canEditChildren))
}
static func makeViewModel(isManagingRooms: Bool = false, isNewSpace: Bool = false) -> SpaceScreenViewModel {
let appSettings = AppSettings()
appSettings.spaceSettingsEnabled = true
appSettings.createSpaceEnabled = true
let spaceServiceRoom = SpaceServiceRoom.mock(id: "!eng-space:matrix.org",
name: "Engineering Team",
isSpace: true,
@@ -239,7 +229,7 @@ struct SpaceScreen_Previews: PreviewProvider, TestablePreview {
spaceServiceProxy: SpaceServiceProxyMock(.init()),
selectedSpaceRoomPublisher: .init(nil),
userSession: userSession,
appSettings: appSettings,
appSettings: AppSettings(),
userIndicatorController: UserIndicatorControllerMock())
if isManagingRooms {