Skip to content

Commit 6971069

Browse files
authored
Rename MessageMenu components to MessageActions (#6356)
* Rename MessageMenu components to MessageActions * Use fully qualified references * Rename ReactionsMenu in sdk and docs
1 parent 4535092 commit 6971069

28 files changed

Lines changed: 572 additions & 693 deletions

stream-chat-android-compose/api/stream-chat-android-compose.api

Lines changed: 375 additions & 395 deletions
Large diffs are not rendered by default.

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/SelectedMessageMenu.kt renamed to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageactions/MessageActions.kt

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package io.getstream.chat.android.compose.ui.components.selectedmessage
17+
package io.getstream.chat.android.compose.ui.components.messageactions
1818

1919
import android.os.Build
2020
import android.view.WindowManager
@@ -64,9 +64,9 @@ import io.getstream.chat.android.compose.state.messages.MessageAlignment
6464
import io.getstream.chat.android.compose.ui.components.messageoptions.defaultMessageOptionsState
6565
import io.getstream.chat.android.compose.ui.messages.list.LocalSelectedMessageSnapshot
6666
import io.getstream.chat.android.compose.ui.theme.ChatTheme
67+
import io.getstream.chat.android.compose.ui.theme.MessageActionsHeaderParams
68+
import io.getstream.chat.android.compose.ui.theme.MessageActionsOptionsParams
6769
import io.getstream.chat.android.compose.ui.theme.MessageContainerParams
68-
import io.getstream.chat.android.compose.ui.theme.MessageMenuHeaderContentParams
69-
import io.getstream.chat.android.compose.ui.theme.MessageMenuOptionsParams
7070
import io.getstream.chat.android.compose.ui.theme.StreamTokens
7171
import io.getstream.chat.android.compose.util.extensions.toSet
7272
import io.getstream.chat.android.models.Channel
@@ -104,7 +104,7 @@ import kotlin.math.roundToInt
104104
*/
105105
@Suppress("LongMethod")
106106
@Composable
107-
public fun SelectedMessageMenu(
107+
public fun MessageActions(
108108
message: Message,
109109
messageOptions: List<MessageOptionItemState>,
110110
ownCapabilities: Set<String>,
@@ -187,9 +187,9 @@ public fun SelectedMessageMenu(
187187
horizontalAlignment = messageAlignment.contentAlignment,
188188
) {
189189
val canLeaveReaction = ChannelCapabilities.SEND_REACTION in ownCapabilities
190-
if (canLeaveReaction && ChatTheme.reactionOptionsTheme.areReactionOptionsVisible) {
191-
ChatTheme.componentFactory.MessageMenuHeaderContent(
192-
params = MessageMenuHeaderContentParams(
190+
if (canLeaveReaction && ChatTheme.config.messageActions.reactionsEnabled) {
191+
ChatTheme.componentFactory.MessageActionsHeader(
192+
params = MessageActionsHeaderParams(
193193
modifier = bubbleAlignmentPadding.then(animation.peripheralModifier(slideY = (-24).dp)),
194194
message = message,
195195
messageOptions = messageOptions,
@@ -221,8 +221,8 @@ public fun SelectedMessageMenu(
221221
)
222222
}
223223

224-
ChatTheme.componentFactory.MessageMenuOptions(
225-
params = MessageMenuOptionsParams(
224+
ChatTheme.componentFactory.MessageActionsOptions(
225+
params = MessageActionsOptionsParams(
226226
modifier = bubbleAlignmentPadding.then(animation.peripheralModifier(slideY = 24.dp)),
227227
message = message,
228228
options = messageOptions,
@@ -270,7 +270,7 @@ private const val BackgroundBlur = 50
270270
private const val DimAmount = 0.7f
271271

272272
/**
273-
* Holds the animation state for the [SelectedMessageMenu] pop-out effect.
273+
* Holds the animation state for the [MessageActions] pop-out effect.
274274
*
275275
* Two parallel animations drive the menu entrance:
276276
* - **message**: slides the message from its list position to the dialog center
@@ -357,45 +357,45 @@ private fun rememberMenuAnimation(
357357

358358
@Preview(showBackground = true)
359359
@Composable
360-
private fun SelectedMessageMenuForIncomingMessagePreview() {
360+
private fun MessageActionsForIncomingMessagePreview() {
361361
ChatTheme {
362-
SelectedMessageMenuForIncomingMessage()
362+
MessageActionsForIncomingMessage()
363363
}
364364
}
365365

366366
@Preview(showBackground = true)
367367
@Composable
368-
private fun SelectedMessageMenuForOutgoingMessagePreview() {
368+
private fun MessageActionsForOutgoingMessagePreview() {
369369
ChatTheme {
370-
SelectedMessageMenuForOutgoingMessage()
370+
MessageActionsForOutgoingMessage()
371371
}
372372
}
373373

374374
@Composable
375-
internal fun SelectedMessageMenuForIncomingMessage() {
376-
SelectedMessageMenuPreview(
375+
internal fun MessageActionsForIncomingMessage() {
376+
MessageActionsPreview(
377377
selectedMessage = PreviewMessageData.message1,
378378
)
379379
}
380380

381381
@Composable
382-
internal fun SelectedMessageMenuForOutgoingMessage() {
383-
SelectedMessageMenuPreview(
382+
internal fun MessageActionsForOutgoingMessage() {
383+
MessageActionsPreview(
384384
selectedMessage = PreviewMessageData.message1.copy(user = PreviewUserData.user1),
385385
)
386386
}
387387

388388
@Preview(showBackground = true)
389389
@Composable
390-
private fun SelectedMessageMenuForFailedMessagePreview() {
390+
private fun MessageActionsForFailedMessagePreview() {
391391
ChatTheme {
392-
SelectedMessageMenuForFailedMessage()
392+
MessageActionsForFailedMessage()
393393
}
394394
}
395395

396396
@Composable
397-
internal fun SelectedMessageMenuForFailedMessage() {
398-
SelectedMessageMenuPreview(
397+
internal fun MessageActionsForFailedMessage() {
398+
MessageActionsPreview(
399399
selectedMessage = PreviewMessageData.message1.copy(
400400
user = PreviewUserData.user1,
401401
syncStatus = SyncStatus.FAILED_PERMANENTLY,
@@ -404,15 +404,15 @@ internal fun SelectedMessageMenuForFailedMessage() {
404404
}
405405

406406
@Composable
407-
private fun SelectedMessageMenuPreview(selectedMessage: Message) {
407+
private fun MessageActionsPreview(selectedMessage: Message) {
408408
val messageOptions = defaultMessageOptionsState(
409409
selectedMessage = selectedMessage,
410410
currentUser = PreviewUserData.user1,
411411
isInThread = false,
412412
channel = Channel(ownCapabilities = ChannelCapabilities.toSet()),
413413
)
414414

415-
SelectedMessageMenu(
415+
MessageActions(
416416
message = selectedMessage,
417417
messageOptions = messageOptions,
418418
onMessageAction = {},

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/MessageMenuHeader.kt renamed to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageactions/MessageActionsHeader.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package io.getstream.chat.android.compose.ui.components.selectedmessage
17+
package io.getstream.chat.android.compose.ui.components.messageactions
1818

1919
import androidx.compose.foundation.background
2020
import androidx.compose.foundation.border
@@ -52,7 +52,7 @@ import io.getstream.chat.android.models.Reaction
5252
* @param modifier Modifier for styling.
5353
*/
5454
@Composable
55-
public fun MessageMenuHeader(
55+
public fun MessageActionsHeader(
5656
ownReactions: List<Reaction>,
5757
onReactionOptionSelected: (ReactionOptionItemState) -> Unit,
5858
onShowMoreReactionsSelected: () -> Unit,
@@ -108,12 +108,12 @@ public fun MessageMenuHeader(
108108

109109
@Preview(showBackground = true)
110110
@Composable
111-
private fun MessageMenuHeaderPreview() {
111+
private fun MessageActionsHeaderPreview() {
112112
ChatPreviewTheme {
113113
val reactionType = ChatTheme.reactionResolver.supportedReactions.firstOrNull()
114114

115115
if (reactionType != null) {
116-
MessageMenuHeader(
116+
MessageActionsHeader(
117117
ownReactions = listOf(Reaction(type = reactionType)),
118118
onReactionOptionSelected = {},
119119
onShowMoreReactionsSelected = {},

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionCountRow.kt renamed to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageactions/ReactionCountRow.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package io.getstream.chat.android.compose.ui.components.selectedmessage
17+
package io.getstream.chat.android.compose.ui.components.messageactions
1818

1919
import androidx.compose.foundation.background
2020
import androidx.compose.foundation.border

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/ReactionsMenu.kt renamed to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageactions/ReactionsMenu.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package io.getstream.chat.android.compose.ui.components.selectedmessage
17+
package io.getstream.chat.android.compose.ui.components.messageactions
1818

1919
import androidx.compose.foundation.background
2020
import androidx.compose.foundation.layout.Arrangement
@@ -83,7 +83,7 @@ import io.getstream.chat.android.ui.common.state.messages.React
8383
*/
8484
@OptIn(ExperimentalMaterial3Api::class)
8585
@Composable
86-
public fun SelectedReactionsMenu(
86+
public fun ReactionsMenu(
8787
message: Message,
8888
currentUser: User?,
8989
ownCapabilities: Set<String>,
@@ -371,15 +371,15 @@ internal fun ReactionsMenuContentManyReactions() {
371371

372372
@Preview
373373
@Composable
374-
private fun OneSelectedReactionMenuPreview() {
374+
private fun OneReactionMenuPreview() {
375375
ChatTheme {
376376
ReactionsMenuContentOneReaction()
377377
}
378378
}
379379

380380
@Preview
381381
@Composable
382-
private fun ManySelectedReactionsMenuPreview() {
382+
private fun ManyReactionsMenuPreview() {
383383
ChatTheme {
384384
ReactionsMenuContentManyReactions()
385385
}

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/selectedmessage/UserReactionRow.kt renamed to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageactions/UserReactionRow.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package io.getstream.chat.android.compose.ui.components.selectedmessage
17+
package io.getstream.chat.android.compose.ui.components.messageactions
1818

1919
import androidx.compose.foundation.layout.Arrangement
2020
import androidx.compose.foundation.layout.Column

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptionItemVisibility.kt renamed to stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageActionsOptionsVisibility.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
package io.getstream.chat.android.compose.ui.components.messageoptions
1818

19-
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedMessageMenu
19+
import io.getstream.chat.android.compose.ui.components.messageactions.MessageActions
2020

2121
/**
22-
* Controls option visibility in the message options menu. All options are visible by default.
22+
* Controls option visibility in the message actions overlay. All options are visible by default.
2323
*
2424
* @param isRetryMessageVisible Visibility of the retry failed message option.
2525
* @param isReplyVisible Visibility of the reply to message option (quote message).
@@ -33,11 +33,11 @@ import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedM
3333
* @param isMuteUserVisible Visibility of the mute user option.
3434
* @param isBlockUserVisible Visibility of the block user option.
3535
*
36-
* @see [SelectedMessageMenu]
36+
* @see [MessageActions]
3737
* @see [MessageOptions]
3838
* @see [defaultMessageOptionsState]
3939
*/
40-
public data class MessageOptionItemVisibility(
40+
public data class MessageActionsOptionsVisibility(
4141
val isRetryMessageVisible: Boolean = true,
4242
val isReplyVisible: Boolean = true,
4343
val isThreadReplyVisible: Boolean = true,

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptions.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import io.getstream.chat.android.compose.R
2424
import io.getstream.chat.android.compose.state.messageoptions.MessageOptionItemState
2525
import io.getstream.chat.android.compose.ui.components.common.ContextualMenu
2626
import io.getstream.chat.android.compose.ui.theme.ChatTheme
27-
import io.getstream.chat.android.compose.ui.theme.MessageMenuOptionsItemParams
27+
import io.getstream.chat.android.compose.ui.theme.MessageActionsOptionsItemParams
2828
import io.getstream.chat.android.compose.util.extensions.canBlockUser
2929
import io.getstream.chat.android.compose.util.extensions.canCopyMessage
3030
import io.getstream.chat.android.compose.util.extensions.canDeleteMessage
@@ -73,8 +73,8 @@ public fun MessageOptions(
7373
) {
7474
ContextualMenu(modifier) {
7575
options.forEach { option ->
76-
ChatTheme.componentFactory.MessageMenuOptionsItem(
77-
params = MessageMenuOptionsItemParams(
76+
ChatTheme.componentFactory.MessageActionsOptionsItem(
77+
params = MessageActionsOptionsItemParams(
7878
option = option,
7979
onMessageOptionSelected = onMessageOptionSelected,
8080
),
@@ -105,7 +105,7 @@ public fun defaultMessageOptionsState(
105105
}
106106
val selectedMessageUserId = selectedMessage.user.id
107107
val ownCapabilities = channel.ownCapabilities
108-
val visibility = ChatTheme.messageOptionsTheme.optionVisibility
108+
val visibility = ChatTheme.config.messageActions.optionVisibility
109109

110110
return listOfNotNull(
111111
if (visibility.canRetryMessage(currentUser, selectedMessage)) {

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ import io.getstream.chat.android.compose.ui.messages.list.SelectedMessageSnapsho
6767
import io.getstream.chat.android.compose.ui.theme.AttachmentPickerMenuParams
6868
import io.getstream.chat.android.compose.ui.theme.ChannelHeaderParams
6969
import io.getstream.chat.android.compose.ui.theme.ChatTheme
70-
import io.getstream.chat.android.compose.ui.theme.MessageMenuParams
70+
import io.getstream.chat.android.compose.ui.theme.MessageActionsParams
7171
import io.getstream.chat.android.compose.ui.theme.MessageReactionPickerParams
7272
import io.getstream.chat.android.compose.ui.theme.ReactionsMenuParams
7373
import io.getstream.chat.android.compose.ui.util.StreamSnackbarHost
@@ -526,8 +526,8 @@ private fun BoxScope.ChannelScreenMenus(
526526
}
527527

528528
if (selectedMessageState is SelectedMessageOptionsState && selectedMessage.id.isNotEmpty()) {
529-
ChatTheme.componentFactory.MessageMenu(
530-
params = MessageMenuParams(
529+
ChatTheme.componentFactory.MessageActions(
530+
params = MessageActionsParams(
531531
messageOptions = messageOptions,
532532
message = selectedMessage,
533533
ownCapabilities = ownCapabilities,

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public fun MessageContainer(
203203

204204
val messageAlignment = ChatTheme.messageAlignmentProvider.provideMessageAlignment(messageItem)
205205
val description = stringResource(id = R.string.stream_compose_cd_message_item)
206-
val optionVisibility = ChatTheme.messageOptionsTheme.optionVisibility
206+
val optionVisibility = ChatTheme.config.messageActions.optionVisibility
207207
val isSwipeable = remember(message, messageItem.ownCapabilities, optionVisibility) {
208208
optionVisibility.canReplyToMessage(message, messageItem.ownCapabilities)
209209
}

0 commit comments

Comments
 (0)