create room : remove RoomAccess.Invite as we are not displaying it.
This commit is contained in:
parent
f6938fa737
commit
4582acd536
4 changed files with 12 additions and 20 deletions
|
|
@ -14,15 +14,12 @@ import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.ColumnScope
|
import androidx.compose.foundation.layout.ColumnScope
|
||||||
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.consumeWindowInsets
|
import androidx.compose.foundation.layout.consumeWindowInsets
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
|
||||||
import androidx.compose.foundation.layout.imePadding
|
import androidx.compose.foundation.layout.imePadding
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.selection.selectableGroup
|
import androidx.compose.foundation.selection.selectableGroup
|
||||||
import androidx.compose.foundation.text.BasicTextField
|
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import androidx.compose.foundation.verticalScroll
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
|
|
@ -35,7 +32,6 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalFocusManager
|
import androidx.compose.ui.platform.LocalFocusManager
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
|
|
@ -133,7 +129,10 @@ fun ConfigureRoomView(
|
||||||
)
|
)
|
||||||
if (state.config.roomVisibility is RoomVisibilityState.Public) {
|
if (state.config.roomVisibility is RoomVisibilityState.Public) {
|
||||||
RoomAccessOptions(
|
RoomAccessOptions(
|
||||||
selected = state.config.roomVisibility.roomAccess,
|
selected = when (state.config.roomVisibility.roomAccess) {
|
||||||
|
RoomAccess.Anyone -> RoomAccessItem.Anyone
|
||||||
|
RoomAccess.Knocking -> RoomAccessItem.AskToJoin
|
||||||
|
},
|
||||||
onOptionClick = {
|
onOptionClick = {
|
||||||
focusManager.clearFocus()
|
focusManager.clearFocus()
|
||||||
state.eventSink(ConfigureRoomEvents.RoomAccessChanged(it))
|
state.eventSink(ConfigureRoomEvents.RoomAccessChanged(it))
|
||||||
|
|
@ -290,7 +289,7 @@ private fun RoomVisibilityOptions(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun RoomAccessOptions(
|
private fun RoomAccessOptions(
|
||||||
selected: RoomAccess,
|
selected: RoomAccessItem,
|
||||||
onOptionClick: (RoomAccessItem) -> Unit,
|
onOptionClick: (RoomAccessItem) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
|
|
@ -302,10 +301,7 @@ private fun RoomAccessOptions(
|
||||||
RoomAccessItem.entries.forEach { item ->
|
RoomAccessItem.entries.forEach { item ->
|
||||||
RoomAccessOption(
|
RoomAccessOption(
|
||||||
roomAccessItem = item,
|
roomAccessItem = item,
|
||||||
isSelected = when (item) {
|
isSelected = item == selected,
|
||||||
RoomAccessItem.Anyone -> selected == RoomAccess.Anyone
|
|
||||||
RoomAccessItem.AskToJoin -> selected == RoomAccess.Knocking
|
|
||||||
},
|
|
||||||
onOptionClick = onOptionClick,
|
onOptionClick = onOptionClick,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -317,7 +313,7 @@ private fun RoomAddress(
|
||||||
address: RoomAddress,
|
address: RoomAddress,
|
||||||
onAddressChange: (String) -> Unit,
|
onAddressChange: (String) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
){
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
verticalArrangement = Arrangement.spacedBy(8.dp),
|
||||||
|
|
@ -331,7 +327,7 @@ private fun RoomAddress(
|
||||||
|
|
||||||
TextField(
|
TextField(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
value = when(address) {
|
value = when (address) {
|
||||||
is RoomAddress.AutoFilled -> address.address
|
is RoomAddress.AutoFilled -> address.address
|
||||||
is RoomAddress.Edited -> address.address
|
is RoomAddress.Edited -> address.address
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,5 @@
|
||||||
package io.element.android.features.createroom.impl.configureroom
|
package io.element.android.features.createroom.impl.configureroom
|
||||||
|
|
||||||
enum class RoomAccess {
|
enum class RoomAccess {
|
||||||
Anyone, Knocking, Invite
|
Anyone, Knocking
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,6 @@ enum class RoomAccessItem(
|
||||||
AskToJoin(
|
AskToJoin(
|
||||||
title = CommonStrings.screen_create_room_access_section_knocking_option_title,
|
title = CommonStrings.screen_create_room_access_section_knocking_option_title,
|
||||||
description = CommonStrings.screen_create_room_access_section_knocking_option_description,
|
description = CommonStrings.screen_create_room_access_section_knocking_option_description,
|
||||||
)
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,10 @@
|
||||||
package io.element.android.features.createroom.impl.configureroom
|
package io.element.android.features.createroom.impl.configureroom
|
||||||
|
|
||||||
sealed interface RoomVisibilityState {
|
sealed interface RoomVisibilityState {
|
||||||
val roomAccess: RoomAccess
|
data object Private : RoomVisibilityState
|
||||||
|
|
||||||
data object Private : RoomVisibilityState {
|
|
||||||
override val roomAccess: RoomAccess = RoomAccess.Invite
|
|
||||||
}
|
|
||||||
|
|
||||||
data class Public(
|
data class Public(
|
||||||
val roomAddress: RoomAddress,
|
val roomAddress: RoomAddress,
|
||||||
override val roomAccess: RoomAccess
|
val roomAccess: RoomAccess
|
||||||
) : RoomVisibilityState
|
) : RoomVisibilityState
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue