diff --git a/stream-chat-android-compose/api/stream-chat-android-compose.api b/stream-chat-android-compose/api/stream-chat-android-compose.api index c96c9071f01..7f7824683fa 100644 --- a/stream-chat-android-compose/api/stream-chat-android-compose.api +++ b/stream-chat-android-compose/api/stream-chat-android-compose.api @@ -2081,12 +2081,6 @@ public final class io/getstream/chat/android/compose/ui/messages/header/Composab public final fun getLambda$957576860$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } -public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageDividerKt { - public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageDividerKt; - public fun ()V - public final fun getLambda$112548111$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; -} - public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageItemKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessageItemKt; public fun ()V @@ -2094,12 +2088,26 @@ public final class io/getstream/chat/android/compose/ui/messages/list/Composable public final fun getLambda$1362745058$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; } +public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessagesDateDividerKt { + public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessagesDateDividerKt; + public fun ()V + public final fun getLambda$-1504635216$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$1340569822$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; +} + public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessagesKt { public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessagesKt; public fun ()V public final fun getLambda$203042131$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3; } +public final class io/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessagesStripDividerKt { + public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/list/ComposableSingletons$MessagesStripDividerKt; + public fun ()V + public final fun getLambda$-1884807062$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; + public final fun getLambda$228610811$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2; +} + public final class io/getstream/chat/android/compose/ui/messages/list/MessageContainerKt { public static final field HighlightFadeOutDurationMillis I public static final fun DefaultMessageContent (Landroidx/compose/ui/Modifier;Lio/getstream/chat/android/ui/common/state/messages/list/MessageItemState;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;III)V diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt index 17277d3eabf..5718deaec53 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt @@ -68,8 +68,6 @@ import io.getstream.chat.android.compose.ui.theme.MessageListTypingIndicatorItem import io.getstream.chat.android.compose.ui.theme.MessageListUnreadSeparatorItemContentParams import io.getstream.chat.android.compose.ui.theme.MessageStyling import io.getstream.chat.android.compose.ui.theme.StreamTokens -import io.getstream.chat.android.compose.ui.util.bottomBorder -import io.getstream.chat.android.compose.ui.util.topBorder import io.getstream.chat.android.models.Message import io.getstream.chat.android.models.Option import io.getstream.chat.android.models.Poll @@ -217,7 +215,7 @@ public fun LazyItemScope.MessageItem( */ @Composable internal fun DefaultMessageDateSeparatorContent(dateSeparator: DateSeparatorItemState) { - MessageDivider( + MessagesDateDivider( text = ChatTheme.dateFormatter.formatRelativeDate(dateSeparator.date), modifier = Modifier .semantics(mergeDescendants = true) { @@ -235,14 +233,14 @@ internal fun DefaultMessageDateSeparatorContent(dateSeparator: DateSeparatorItem */ @Composable internal fun DefaultMessageUnreadSeparatorContent(unreadSeparatorItemState: UnreadSeparatorItemState) { - MessageDivider( - text = stringResource(R.string.stream_compose_message_list_unread_separator), - modifier = Modifier - .semantics(mergeDescendants = true) { - testTag = "Stream_UnreadMessagesBadge" - } - .padding(vertical = StreamTokens.spacingXs) - .fillMaxWidth(), + MessagesStripDivider( + modifier = Modifier.semantics(mergeDescendants = true) { + testTag = "Stream_UnreadMessagesBadge" + }, + text = stringResource( + R.string.stream_compose_message_list_unread_separator, + unreadSeparatorItemState.unreadCount, + ), ) } @@ -255,25 +253,15 @@ internal fun DefaultMessageUnreadSeparatorContent(unreadSeparatorItemState: Unre @Composable internal fun DefaultMessageThreadSeparatorContent(threadSeparator: ThreadDateSeparatorItemState) { val replyCount = threadSeparator.replyCount - val colors = ChatTheme.colors - - Text( - modifier = Modifier - .padding(vertical = StreamTokens.spacingXs) - .topBorder(colors.borderCoreSubtle) - .bottomBorder(colors.borderCoreSubtle) - .fillMaxWidth() - .background(colors.backgroundCoreSurfaceSubtle) - .padding(horizontal = StreamTokens.spacingMd, vertical = StreamTokens.spacingXs) - .testTag("Stream_RepliesCount"), + MessagesStripDivider( + modifier = Modifier.semantics(mergeDescendants = true) { + testTag = "Stream_RepliesCount" + }, text = pluralStringResource( R.plurals.stream_compose_message_list_thread_separator, replyCount, replyCount, ), - color = colors.chatTextSystem, - style = ChatTheme.typography.metadataEmphasis, - textAlign = TextAlign.Center, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageDivider.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessagesDateDivider.kt similarity index 76% rename from stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageDivider.kt rename to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessagesDateDivider.kt index ec8254d9161..cb6d5eee393 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageDivider.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessagesDateDivider.kt @@ -17,9 +17,7 @@ package io.getstream.chat.android.compose.ui.messages.list import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.CircleShape import androidx.compose.material3.Text @@ -31,7 +29,7 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.compose.ui.theme.StreamTokens @Composable -internal fun MessageDivider(text: String, modifier: Modifier = Modifier) { +internal fun MessagesDateDivider(text: String, modifier: Modifier = Modifier) { val colors = ChatTheme.colors Box(modifier, contentAlignment = Alignment.Center) { @@ -48,15 +46,26 @@ internal fun MessageDivider(text: String, modifier: Modifier = Modifier) { @Preview @Composable -private fun MessageDividerPreview() { +private fun MessagesDateDividerTodayPreview() { ChatTheme { - Column( - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.spacedBy(StreamTokens.spacingXs), - ) { - MessageDivider("Unread messages") - MessageDivider("Today") - MessageDivider("Tue, 25 Dec") - } + MessagesDateDividerToday() } } + +@Composable +internal fun MessagesDateDividerToday() { + MessagesDateDivider(text = "Today") +} + +@Preview +@Composable +private fun MessagesDateDividerAbsoluteDatePreview() { + ChatTheme { + MessagesDateDividerAbsoluteDate() + } +} + +@Composable +internal fun MessagesDateDividerAbsoluteDate() { + MessagesDateDivider(text = "Tue, 25 Dec") +} diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessagesStripDivider.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessagesStripDivider.kt new file mode 100644 index 00000000000..5e85c089aec --- /dev/null +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessagesStripDivider.kt @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. + * + * Licensed under the Stream License; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getstream.chat.android.compose.ui.messages.list + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import io.getstream.chat.android.compose.ui.theme.ChatTheme +import io.getstream.chat.android.compose.ui.theme.StreamTokens +import io.getstream.chat.android.compose.ui.util.bottomBorder +import io.getstream.chat.android.compose.ui.util.topBorder + +@Composable +internal fun MessagesStripDivider(text: String, modifier: Modifier = Modifier) { + val colors = ChatTheme.colors + Text( + modifier = modifier + .padding(vertical = StreamTokens.spacingXs) + .topBorder(colors.borderCoreSubtle) + .bottomBorder(colors.borderCoreSubtle) + .fillMaxWidth() + .background(colors.backgroundCoreSurfaceSubtle) + .padding(horizontal = StreamTokens.spacingMd, vertical = StreamTokens.spacingXs), + text = text, + color = colors.chatTextSystem, + style = ChatTheme.typography.metadataEmphasis, + textAlign = TextAlign.Center, + ) +} + +@Preview +@Composable +private fun MessagesStripDividerUnreadPreview() { + ChatTheme { + MessagesStripDividerUnread() + } +} + +@Composable +internal fun MessagesStripDividerUnread() { + MessagesStripDivider(text = "9 unread messages") +} + +@Preview +@Composable +private fun MessagesStripDividerRepliesPreview() { + ChatTheme { + MessagesStripDividerReplies() + } +} + +@Composable +internal fun MessagesStripDividerReplies() { + MessagesStripDivider(text = "5 replies") +} diff --git a/stream-chat-android-compose/src/main/res/values-es/strings.xml b/stream-chat-android-compose/src/main/res/values-es/strings.xml index 84d5a0f0e5f..85b4c11db75 100644 --- a/stream-chat-android-compose/src/main/res/values-es/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-es/strings.xml @@ -133,7 +133,7 @@ "Mostrar traducción" "%d respuestas" "%d respuesta" - "Mensajes no leídos" + "%d mensajes no leídos" "Archivo adjunto no compatible" "Ver" "Ver original" diff --git a/stream-chat-android-compose/src/main/res/values-fr/strings.xml b/stream-chat-android-compose/src/main/res/values-fr/strings.xml index b43aea8913a..e10943cb0c6 100644 --- a/stream-chat-android-compose/src/main/res/values-fr/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-fr/strings.xml @@ -133,7 +133,7 @@ "Afficher la traduction" "%d réponses" "%d réponse" - "Messages non lus" + "%d messages non lus" "Pièce jointe non prise en charge" "Voir" "Voir l\'original" diff --git a/stream-chat-android-compose/src/main/res/values-hi/strings.xml b/stream-chat-android-compose/src/main/res/values-hi/strings.xml index 164b6d20ed6..63e314f7d3b 100644 --- a/stream-chat-android-compose/src/main/res/values-hi/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-hi/strings.xml @@ -189,8 +189,8 @@ "अनुवाद दिखाएँ" "%d जवाब" "%d जवाब" + "%d अपठित मैसेज" "असमर्थित अटैचमेंट" - "अपठित मैसेज" "देखें" "मूल देखें" "आप" diff --git a/stream-chat-android-compose/src/main/res/values-in/strings.xml b/stream-chat-android-compose/src/main/res/values-in/strings.xml index 8ca03cb2043..98b9626b7c4 100644 --- a/stream-chat-android-compose/src/main/res/values-in/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-in/strings.xml @@ -133,7 +133,7 @@ "Tampilkan terjemahan" "%d balasan" "%d balasan" - "Pesan Belum Dibaca" + "%d pesan belum dibaca" "Lampiran tidak didukung" "Lihat" "Lihat aslinya" diff --git a/stream-chat-android-compose/src/main/res/values-it/strings.xml b/stream-chat-android-compose/src/main/res/values-it/strings.xml index 04d7390c4c7..545544454a7 100644 --- a/stream-chat-android-compose/src/main/res/values-it/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-it/strings.xml @@ -189,8 +189,8 @@ "Mostra traduzione" "%d risposte" "%d risposta" + "%d messaggi non letti" "Allegato non supportato" - "Messaggi non letti" "Visualizza" "Vedi originale" "Tu" diff --git a/stream-chat-android-compose/src/main/res/values-ja/strings.xml b/stream-chat-android-compose/src/main/res/values-ja/strings.xml index 65ba4db32d5..00175bcbf5b 100644 --- a/stream-chat-android-compose/src/main/res/values-ja/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-ja/strings.xml @@ -144,7 +144,7 @@ "%d件の返信" - "未読メッセージ" + "%d件の未読メッセージ" "サポートされていない添付ファイル" "表示" "原文を表示" diff --git a/stream-chat-android-compose/src/main/res/values-ko/strings.xml b/stream-chat-android-compose/src/main/res/values-ko/strings.xml index 38872c5f253..7f77b3707cd 100644 --- a/stream-chat-android-compose/src/main/res/values-ko/strings.xml +++ b/stream-chat-android-compose/src/main/res/values-ko/strings.xml @@ -144,7 +144,7 @@ "%d개의 답장" - "읽지 않은 메시지" + "%d개의 읽지 않은 메시지" "지원되지 않는 첨부파일" "보기" "원문 보기" diff --git a/stream-chat-android-compose/src/main/res/values/strings.xml b/stream-chat-android-compose/src/main/res/values/strings.xml index bbefb878858..f97baf9013b 100644 --- a/stream-chat-android-compose/src/main/res/values/strings.xml +++ b/stream-chat-android-compose/src/main/res/values/strings.xml @@ -99,7 +99,7 @@ %d Reply %d Replies - Unread Messages + %d unread messages No messages There is no app to view this url:\n%s Unsupported attachment diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/MessageListTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/MessageListTest.kt index dede315a092..e73c9d3900b 100644 --- a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/MessageListTest.kt +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/MessageListTest.kt @@ -38,6 +38,7 @@ import io.getstream.chat.android.ui.common.state.messages.list.MessageItemState import io.getstream.chat.android.ui.common.state.messages.list.MessageListState import io.getstream.chat.android.ui.common.state.messages.list.MessagePosition import io.getstream.chat.android.ui.common.state.messages.list.SystemMessageItemState +import io.getstream.chat.android.ui.common.state.messages.list.ThreadDateSeparatorItemState import io.getstream.chat.android.ui.common.state.messages.list.UnreadSeparatorItemState import org.junit.Rule import org.junit.Test @@ -159,6 +160,20 @@ internal class MessageListTest : PaparazziComposeTest { MessageList(messageListState = UnreadLabelMessageListState) } } + + @Test + fun `unread separator visible`() { + snapshotWithDarkMode { + MessageList(messageListState = UnreadSeparatorMessageListState) + } + } + + @Test + fun `thread separator`() { + snapshotWithDarkMode { + MessageList(messageListState = ThreadSeparatorMessageListState) + } + } } private val Date1 = Calendar.getInstance().apply { set(2022, 1, 1, 1, 1) }.time @@ -268,6 +283,36 @@ private val UnreadLabelMessageListState = LoadedMessageListState.copy( ), ) +private val UnreadSeparatorMessageListState = LoadedMessageListState.copy( + messageItems = LoadedMessageListState.messageItems.take(3) + + UnreadSeparatorItemState(unreadCount = 3) + + LoadedMessageListState.messageItems.drop(3), +) + +private val ThreadSeparatorMessageListState = MessageListState( + messageItems = listOf( + MessageItemState( + message = PreviewMessageData.message3, + isMine = false, + showMessageFooter = true, + ownCapabilities = ChannelCapabilities.toSet(), + ), + MessageItemState( + message = PreviewMessageData.message2, + isMine = true, + showMessageFooter = true, + ownCapabilities = ChannelCapabilities.toSet(), + ), + ThreadDateSeparatorItemState(date = Date1, replyCount = 2), + MessageItemState( + message = PreviewMessageData.message1, + isMine = false, + showMessageFooter = true, + ownCapabilities = ChannelCapabilities.toSet(), + ), + ), +) + @Composable private fun MessageList( messagesLazyListState: MessagesLazyListState = rememberMessagesLazyListState(), diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/list/MessagesDateDividerTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/list/MessagesDateDividerTest.kt new file mode 100644 index 00000000000..ee73be9a689 --- /dev/null +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/list/MessagesDateDividerTest.kt @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. + * + * Licensed under the Stream License; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getstream.chat.android.compose.ui.messages.list + +import app.cash.paparazzi.DeviceConfig +import app.cash.paparazzi.Paparazzi +import com.android.ide.common.rendering.api.SessionParams +import io.getstream.chat.android.compose.ui.PaparazziComposeTest +import org.junit.Rule +import org.junit.Test + +internal class MessagesDateDividerTest : PaparazziComposeTest { + + @get:Rule + override val paparazzi = Paparazzi( + deviceConfig = DeviceConfig.PIXEL_2, + renderingMode = SessionParams.RenderingMode.SHRINK, + ) + + @Test + fun `messages date divider today`() { + snapshotWithDarkModeRow { + MessagesDateDividerToday() + } + } + + @Test + fun `messages date divider absolute date`() { + snapshotWithDarkModeRow { + MessagesDateDividerAbsoluteDate() + } + } +} diff --git a/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/list/MessagesStripDividerTest.kt b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/list/MessagesStripDividerTest.kt new file mode 100644 index 00000000000..f6c5105ad23 --- /dev/null +++ b/stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/ui/messages/list/MessagesStripDividerTest.kt @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2014-2026 Stream.io Inc. All rights reserved. + * + * Licensed under the Stream License; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://github.com/GetStream/stream-chat-android/blob/main/LICENSE + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.getstream.chat.android.compose.ui.messages.list + +import app.cash.paparazzi.DeviceConfig +import app.cash.paparazzi.Paparazzi +import com.android.ide.common.rendering.api.SessionParams +import io.getstream.chat.android.compose.ui.PaparazziComposeTest +import org.junit.Rule +import org.junit.Test + +internal class MessagesStripDividerTest : PaparazziComposeTest { + + @get:Rule + override val paparazzi = Paparazzi( + deviceConfig = DeviceConfig.PIXEL_2, + renderingMode = SessionParams.RenderingMode.SHRINK, + ) + + @Test + fun `messages strip divider unread`() { + snapshotWithDarkModeRow { + MessagesStripDividerUnread() + } + } + + @Test + fun `messages strip divider replies`() { + snapshotWithDarkModeRow { + MessagesStripDividerReplies() + } + } +} diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesDateDividerTest_messages_date_divider_absolute_date.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesDateDividerTest_messages_date_divider_absolute_date.png new file mode 100644 index 00000000000..c5c6713c817 Binary files /dev/null and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesDateDividerTest_messages_date_divider_absolute_date.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesDateDividerTest_messages_date_divider_today.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesDateDividerTest_messages_date_divider_today.png new file mode 100644 index 00000000000..f5a70ed44d1 Binary files /dev/null and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesDateDividerTest_messages_date_divider_today.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesStripDividerTest_messages_strip_divider_replies.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesStripDividerTest_messages_strip_divider_replies.png new file mode 100644 index 00000000000..e3a1f79b40b Binary files /dev/null and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesStripDividerTest_messages_strip_divider_replies.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesStripDividerTest_messages_strip_divider_unread.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesStripDividerTest_messages_strip_divider_unread.png new file mode 100644 index 00000000000..fc3005d16c7 Binary files /dev/null and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages.list_MessagesStripDividerTest_messages_strip_divider_unread.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_thread_separator.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_thread_separator.png new file mode 100644 index 00000000000..15d662bc8e9 Binary files /dev/null and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_thread_separator.png differ diff --git a/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_unread_separator_visible.png b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_unread_separator_visible.png new file mode 100644 index 00000000000..fe659f49f58 Binary files /dev/null and b/stream-chat-android-compose/src/test/snapshots/images/io.getstream.chat.android.compose.ui.messages_MessageListTest_unread_separator_visible.png differ