diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt
index 3e861c35d23..d1d7080d128 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt
@@ -255,6 +255,7 @@ private class DefaultMessagePreviewFormatter(
}
val videos = attachments.filter { it.type == AttachmentType.VIDEO }
val files = attachments.filter { it.type == AttachmentType.FILE }
+ val giphy = attachments.filter { it.type == AttachmentType.GIPHY }
when {
images.isNotEmpty() -> {
@@ -290,6 +291,12 @@ private class DefaultMessagePreviewFormatter(
)
}
+ giphy.isNotEmpty() -> {
+ appendInlineContent(DefaultMessagePreviewIconFactory.GIPHY)
+ append(SPACE)
+ append(context.getString(R.string.stream_compose_giphy_preview))
+ }
+
links.isNotEmpty() -> {
appendInlineContent(DefaultMessagePreviewIconFactory.LINK)
append(SPACE)
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt
index a0372820cc0..aac36a3fc76 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt
@@ -63,6 +63,7 @@ internal class DefaultMessagePreviewIconFactory : MessagePreviewIconFactory {
internal const val LOCATION = "location"
internal const val POLL = "poll"
internal const val DELETED = "deleted"
+ internal const val GIPHY = "giphy"
}
@Suppress("LongMethod")
@@ -106,6 +107,14 @@ internal class DefaultMessagePreviewIconFactory : MessagePreviewIconFactory {
tint = ChatTheme.colors.textSecondary,
)
},
+ GIPHY to InlineTextContent(placeholder) {
+ Icon(
+ modifier = iconModifier,
+ painter = painterResource(id = R.drawable.stream_compose_ic_giphy),
+ contentDescription = null,
+ tint = ChatTheme.colors.textSecondary,
+ )
+ },
LINK to InlineTextContent(placeholder) {
Icon(
modifier = iconModifier,
diff --git a/stream-chat-android-compose/src/main/res/drawable/stream_compose_ic_giphy.xml b/stream-chat-android-compose/src/main/res/drawable/stream_compose_ic_giphy.xml
new file mode 100644
index 00000000000..9d8a818667d
--- /dev/null
+++ b/stream-chat-android-compose/src/main/res/drawable/stream_compose_ic_giphy.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
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 8486385edc1..1b1e73648c2 100644
--- a/stream-chat-android-compose/src/main/res/values/strings.xml
+++ b/stream-chat-android-compose/src/main/res/values/strings.xml
@@ -181,6 +181,7 @@
Photo
Video
File
+ Giphy
Link
Message deleted
No messages yet