Add an empty state for the space screen if the user can modify its graph (#6064)

* Add an empty state for the space screen if the user can modify its graph. It adds a new 'create room' button that allows you to open the create room screen with some preset values.

* When computing the editable spaces in `ConfigureRoomPresenter`, also set up the initial selected parent space if possible

* Use `Builder` pattern for `CreateRoomEntryPoint`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
Jorge Martin Espinosa 2026-01-27 11:12:12 +01:00 committed by GitHub
parent fc8afab1bb
commit 6a9d084a50
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
31 changed files with 248 additions and 111 deletions

View file

@ -16,5 +16,6 @@ android {
dependencies {
implementation(projects.features.createroom.api)
implementation(projects.libraries.architecture)
implementation(projects.libraries.matrix.api)
implementation(projects.tests.testutils)
}

View file

@ -10,13 +10,19 @@ package io.element.android.features.createroom.api
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.tests.testutils.lambda.lambdaError
class FakeCreateRoomEntryPoint : CreateRoomEntryPoint {
override fun createNode(
isSpace: Boolean,
class Builder : CreateRoomEntryPoint.Builder {
override fun setIsSpace(isSpace: Boolean): Builder = this
override fun setParentSpace(parentSpaceId: RoomId): Builder = this
override fun build(): Node = lambdaError()
}
override fun builder(
parentNode: Node,
buildContext: BuildContext,
callback: CreateRoomEntryPoint.Callback,
): Node = lambdaError()
): Builder = lambdaError()
}