lint
This commit is contained in:
@@ -16,9 +16,7 @@
|
||||
|
||||
package io.element.android.features.messages.impl
|
||||
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import io.element.android.emojibasebindings.EmojibaseDatasource
|
||||
import io.element.android.features.messages.impl.actionlist.anActionListState
|
||||
import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState
|
||||
import io.element.android.features.messages.impl.timeline.aTimelineItemList
|
||||
|
||||
@@ -57,9 +57,9 @@ fun CustomReactionBottomSheet(
|
||||
) {
|
||||
EmojiPicker(
|
||||
onEmojiSelected = ::onEmojiSelectedDismiss,
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
emojiProvider = emojiProvider,
|
||||
selectedEmojis = state.selectedEmoji,
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,6 @@ package io.element.android.features.messages.impl.timeline.components.customreac
|
||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||
|
||||
sealed interface CustomReactionEvents {
|
||||
data class ShowCustomReactionSheet(val event: TimelineItem.Event?) : CustomReactionEvents
|
||||
data class ShowCustomReactionSheet(val event: TimelineItem.Event) : CustomReactionEvents
|
||||
object DismissCustomReactionSheet : CustomReactionEvents
|
||||
}
|
||||
|
||||
@@ -27,10 +27,8 @@ import io.element.android.emojibasebindings.EmojibaseDatasource
|
||||
import io.element.android.emojibasebindings.EmojibaseStore
|
||||
import io.element.android.libraries.architecture.Async
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.matrix.api.core.EventId
|
||||
import kotlinx.coroutines.launch
|
||||
import io.element.android.features.messages.impl.timeline.model.TimelineItem
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import kotlinx.collections.immutable.toImmutableSet
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -59,11 +57,16 @@ class CustomReactionPresenter @Inject constructor() : Presenter<CustomReactionSt
|
||||
|
||||
fun handleEvents(event: CustomReactionEvents) {
|
||||
when (event) {
|
||||
is CustomReactionEvents.ShowCustomReactionSheet -> handleShowCustomReactionSheet(event)
|
||||
is CustomReactionEvents.ShowCustomReactionSheet -> handleShowCustomReactionSheet(event.event)
|
||||
is CustomReactionEvents.DismissCustomReactionSheet -> handleDismissCustomReactionSheet()
|
||||
}
|
||||
}
|
||||
val selectedEmoji = selectedEvent?.reactionsState?.reactions?.mapNotNull { if(it.isHighlighted) it.key else null }.orEmpty().toImmutableSet()
|
||||
return CustomReactionState(selectedEventId = selectedEvent?.eventId, emojiProvider = emojiState, selectedEmoji = selectedEmoji, eventSink = ::handleEvents)
|
||||
return CustomReactionState(
|
||||
selectedEventId = selectedEvent?.eventId,
|
||||
emojiProvider = emojiState,
|
||||
selectedEmoji = selectedEmoji,
|
||||
eventSink = ::handleEvents
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,13 +63,13 @@ import kotlinx.coroutines.launch
|
||||
@Composable
|
||||
fun EmojiPicker(
|
||||
onEmojiSelected: (Emoji) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
emojiProvider: EmojibaseStore,
|
||||
selectedEmojis: ImmutableSet<String>,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val coroutineScope = rememberCoroutineScope()
|
||||
val categories = remember { emojiProvider.categories }
|
||||
val pagerState = rememberPagerState(pageCount = { emojiProvider.categories.size })
|
||||
val pagerState = rememberPagerState(pageCount = { EmojibaseCategory.values().size })
|
||||
Column(modifier) {
|
||||
TabRow(
|
||||
selectedTabIndex = pagerState.currentPage,
|
||||
@@ -91,7 +91,6 @@ fun EmojiPicker(
|
||||
}
|
||||
|
||||
HorizontalPager(
|
||||
pageCount = EmojibaseCategory.values().size,
|
||||
state = pagerState,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
) { index ->
|
||||
@@ -150,8 +149,8 @@ internal fun EmojiPickerDarkPreview() {
|
||||
private fun ContentToPreview() {
|
||||
EmojiPicker(
|
||||
onEmojiSelected = {},
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
emojiProvider = EmojibaseDatasource().load(LocalContext.current),
|
||||
selectedEmojis = persistentSetOf("😀", "😄", "😃")
|
||||
selectedEmojis = persistentSetOf("😀", "😄", "😃"),
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user