Create a new room in a space (#6061)
* Add `SpaceService.editableSpaces` and `SpaceService.addChildToSpace` * Add `parentSpace` to `CreateRoomConfig` * Allow setting a parent space to a room in `ConfigureRoomPresenter`, make sure the room is added to the parent space when creating it * `ConfigureRoomPresenter`: Load the list of possible spaces a room can be added to * Refactor `RoomVisibilityState` to internally use `JoinRuleItem` This gets rid of `RoomAccess` and `RoomAccessItem`, and it will allow us to map the join rule items in a cleaner way to both join rules and the UI * Implement the UI changes: - Display the parent space. - Allow selecting a new one. - Import needed strings. * Fix existing tests * Add `@Immutable` annotation to `SpaceRoom`, since it was detected as unstable. Maybe because of `RoomType`? * Update screenshots --------- Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
parent
b37ab04ff6
commit
62768359cb
28 changed files with 706 additions and 172 deletions
|
|
@ -87,6 +87,12 @@ class RustSpaceService(
|
|||
)
|
||||
}
|
||||
|
||||
override suspend fun editableSpaces(): Result<List<SpaceRoom>> = withContext(sessionDispatcher) {
|
||||
runCatchingExceptions {
|
||||
innerSpaceService.editableSpaces().map(spaceRoomMapper::map)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getLeaveSpaceHandle(spaceId: RoomId): LeaveSpaceHandle {
|
||||
return RustLeaveSpaceHandle(
|
||||
id = spaceId,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue