Make the configure room screen scrollable
This commit is contained in:
parent
ac0635421b
commit
8c6bf1ba18
5 changed files with 42 additions and 33 deletions
|
|
@ -21,8 +21,8 @@ import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.selection.selectableGroup
|
import androidx.compose.foundation.selection.selectableGroup
|
||||||
import androidx.compose.material.ExperimentalMaterialApi
|
import androidx.compose.material.ExperimentalMaterialApi
|
||||||
import androidx.compose.material.ModalBottomSheetValue
|
import androidx.compose.material.ModalBottomSheetValue
|
||||||
|
|
@ -96,33 +96,42 @@ fun ConfigureRoomView(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
) { padding ->
|
) { padding ->
|
||||||
Column(
|
LazyColumn(
|
||||||
modifier = Modifier.padding(padding),
|
modifier = Modifier.padding(padding),
|
||||||
verticalArrangement = Arrangement.spacedBy(24.dp),
|
verticalArrangement = Arrangement.spacedBy(24.dp),
|
||||||
) {
|
) {
|
||||||
RoomNameWithAvatar(
|
item {
|
||||||
modifier = Modifier.padding(horizontal = 16.dp),
|
RoomNameWithAvatar(
|
||||||
avatarUri = state.config.avatarUri,
|
modifier = Modifier.padding(horizontal = 16.dp),
|
||||||
roomName = state.config.roomName.orEmpty(),
|
avatarUri = state.config.avatarUri,
|
||||||
onAvatarClick = ::onAvatarClicked,
|
roomName = state.config.roomName.orEmpty(),
|
||||||
onRoomNameChanged = { state.eventSink(ConfigureRoomEvents.RoomNameChanged(it)) },
|
onAvatarClick = ::onAvatarClicked,
|
||||||
)
|
onRoomNameChanged = { state.eventSink(ConfigureRoomEvents.RoomNameChanged(it)) },
|
||||||
RoomTopic(
|
)
|
||||||
modifier = Modifier.padding(horizontal = 16.dp),
|
}
|
||||||
topic = state.config.topic.orEmpty(),
|
item {
|
||||||
onTopicChanged = { state.eventSink(ConfigureRoomEvents.TopicChanged(it)) },
|
RoomTopic(
|
||||||
)
|
modifier = Modifier.padding(horizontal = 16.dp),
|
||||||
SelectedUsersList(
|
topic = state.config.topic.orEmpty(),
|
||||||
contentPadding = PaddingValues(horizontal = 24.dp),
|
onTopicChanged = { state.eventSink(ConfigureRoomEvents.TopicChanged(it)) },
|
||||||
selectedUsers = state.config.invites,
|
)
|
||||||
onUserRemoved = { state.eventSink(ConfigureRoomEvents.RemoveFromSelection(it)) },
|
}
|
||||||
)
|
if (state.config.invites.isNotEmpty()) {
|
||||||
Spacer(Modifier.weight(1f))
|
item {
|
||||||
RoomPrivacyOptions(
|
SelectedUsersList(
|
||||||
modifier = Modifier.padding(bottom = 40.dp),
|
contentPadding = PaddingValues(horizontal = 24.dp),
|
||||||
selected = state.config.privacy,
|
selectedUsers = state.config.invites,
|
||||||
onOptionSelected = { state.eventSink(ConfigureRoomEvents.RoomPrivacyChanged(it.privacy)) },
|
onUserRemoved = { state.eventSink(ConfigureRoomEvents.RemoveFromSelection(it)) },
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item {
|
||||||
|
RoomPrivacyOptions(
|
||||||
|
modifier = Modifier.padding(bottom = 40.dp),
|
||||||
|
selected = state.config.privacy,
|
||||||
|
onOptionSelected = { state.eventSink(ConfigureRoomEvents.RoomPrivacyChanged(it.privacy)) },
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:24ad0b5edc27ddddca573b37f82579715d880793c0dc880248d2b572dd6d6a40
|
oid sha256:7a3923915741c22054ceb2f34acdfdb629ccc14b8aad844206c64a7c63ef6cf6
|
||||||
size 64379
|
size 63704
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b0c9d4eaaaf6a691f43d25e0855ee056b69fa090ad8c53b26732c8f2532e2138
|
oid sha256:6c6f2959adf84474dba18c44d81c2d9805ebb06ba8c8bf204f1845d2e62be84d
|
||||||
size 103384
|
size 103395
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:4023481d2a045d7e0d824db81b28ee47c4bcdc568d98537b3573d554e0b76e32
|
oid sha256:02c3a6d536136e6c4db7e1b40a53506ec21e29810ee4067be4066851edfe8aee
|
||||||
size 58445
|
size 57519
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:8f953d0df467ad4cd1ae24291e9593945b945712506f093bdcae3da975f8ca91
|
oid sha256:758362366ee7b50a33761401fd400698c124e468183459d4657cb707ea965424
|
||||||
size 96800
|
size 96777
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue