Add special flow for leaving a space as the last owner (#6112)

* When the user is in a v12 room, use different UI to select the last owner when leaving

- Add `LeaveSpaceRoom.areCreatorsPrivileged` to detect when this is happening.
- Import new strings.
- Build the new UI.
- Attach it to a change member roles screen navigation.

* Don't display the `isLastOwner` UI if the user is the only joined one in the room

* Rename `LeaveSpaceState.isLastOwner` to `.needsOwnerChange`. This way, it's easier to understand the difference with the passed `LeaveSpaceRoom.isLastOwner` value

* Add a test for the new check of user not being the last joined member

* Fix paddings in `LeaveSpaceView`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
This commit is contained in:
Jorge Martin Espinosa
2026-01-30 10:10:00 +01:00
committed by GitHub
parent e34b15823e
commit 63f24f0ae1
36 changed files with 212 additions and 114 deletions

View File

@@ -41,6 +41,7 @@ class RustLeaveSpaceHandle(
LeaveSpaceRoom(
spaceRoom = spaceRoomMapper.map(leaveSpaceRoom.spaceRoom),
isLastOwner = leaveSpaceRoom.isLastOwner,
areCreatorsPrivileged = leaveSpaceRoom.areCreatorsPrivileged,
)
}
}