Skip to content

Commit 618ec31

Browse files
committed
Update MessageComposer to use StreamSnackbarVisuals.
1 parent 13b3c6c commit 618ec31

1 file changed

Lines changed: 20 additions & 4 deletions

File tree

  • stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ import io.getstream.chat.android.compose.ui.theme.MessageComposerParams
5858
import io.getstream.chat.android.compose.ui.theme.MessageComposerTrailingContentParams
5959
import io.getstream.chat.android.compose.ui.theme.StreamTokens
6060
import io.getstream.chat.android.compose.ui.util.SnackbarPopup
61+
import io.getstream.chat.android.compose.ui.util.StreamSnackbarVariant
62+
import io.getstream.chat.android.compose.ui.util.StreamSnackbarVisuals
6163
import io.getstream.chat.android.compose.util.extensions.toSet
6264
import io.getstream.chat.android.compose.viewmodel.messages.MessageComposerViewModel
6365
import io.getstream.chat.android.models.Attachment
@@ -159,7 +161,13 @@ public fun MessageComposer(
159161
LaunchedEffect(Unit) {
160162
viewModel.events.collect { event ->
161163
val message = event.messageResOrNull()?.let(context::getString) ?: return@collect
162-
snackbarHostState.showSnackbar(message = message, duration = SnackbarDuration.Short)
164+
snackbarHostState.showSnackbar(
165+
visuals = StreamSnackbarVisuals(
166+
message = message,
167+
duration = SnackbarDuration.Short,
168+
variant = event.snackbarVariant(),
169+
),
170+
)
163171
}
164172
}
165173

@@ -333,6 +341,11 @@ private fun MessageComposerViewEvent.messageResOrNull(): Int? = when (this) {
333341
else -> null
334342
}
335343

344+
private fun MessageComposerViewEvent.snackbarVariant(): StreamSnackbarVariant = when (this) {
345+
is MessageComposerViewEvent.CommandUnavailable -> StreamSnackbarVariant.Error
346+
else -> StreamSnackbarVariant.Default
347+
}
348+
336349
@Composable
337350
private fun MessageComposerSurface(
338351
modifier: Modifier,
@@ -397,9 +410,12 @@ private fun MessageInputValidationError(validationErrors: List<ValidationError>,
397410
firstValidationError is ValidationError.AttachmentSizeExceeded
398411
) {
399412
snackbarHostState.showSnackbar(
400-
message = errorMessage,
401-
actionLabel = context.getString(R.string.stream_compose_ok),
402-
duration = SnackbarDuration.Indefinite,
413+
visuals = StreamSnackbarVisuals(
414+
message = errorMessage,
415+
actionLabel = context.getString(R.string.stream_compose_ok),
416+
duration = SnackbarDuration.Indefinite,
417+
variant = StreamSnackbarVariant.Error,
418+
),
403419
)
404420
} else {
405421
Toast.makeText(context, errorMessage, Toast.LENGTH_SHORT).show()

0 commit comments

Comments
 (0)