design(text field) : allow setting validity (instead of just isError bool)

This commit is contained in:
ganfra
2025-02-20 21:49:50 +01:00
parent f1c5fa53e8
commit f6b4ee945b
6 changed files with 59 additions and 31 deletions

View File

@@ -29,6 +29,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.Button
import io.element.android.libraries.designsystem.theme.components.ModalBottomSheet
import io.element.android.libraries.designsystem.theme.components.TextField
import io.element.android.libraries.designsystem.theme.components.TextFieldValidity
import io.element.android.libraries.ui.strings.CommonStrings
@OptIn(ExperimentalMaterial3Api::class)
@@ -98,7 +99,11 @@ private fun RoomAddressField(
"e.g. #room-name:matrix.org"
}
},
isError = addressState is RoomAddressState.Invalid,
validity = when (addressState) {
RoomAddressState.Unknown -> null
RoomAddressState.Invalid -> TextFieldValidity.Invalid
is RoomAddressState.Valid -> if (addressState.matchingRoomFound) TextFieldValidity.Valid else null
},
onValueChange = onAddressChange,
singleLine = true,
)