Browse Source

No actions (yet) for State Event.

feature/jme/open-room-member-details-when-clicking-on-user-data
Benoit Marty 1 year ago committed by Benoit Marty
parent
commit
26198140df
  1. 12
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt

12
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListPresenter.kt

@ -24,6 +24,7 @@ import androidx.compose.runtime.rememberCoroutineScope @@ -24,6 +24,7 @@ import androidx.compose.runtime.rememberCoroutineScope
import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction
import io.element.android.features.messages.impl.timeline.model.TimelineItem
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemRedactedContent
import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent
import io.element.android.libraries.architecture.Presenter
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.CoroutineScope
@ -53,12 +54,16 @@ class ActionListPresenter @Inject constructor() : Presenter<ActionListState> { @@ -53,12 +54,16 @@ class ActionListPresenter @Inject constructor() : Presenter<ActionListState> {
)
}
fun CoroutineScope.computeForMessage(timelineItem: TimelineItem.Event, target: MutableState<ActionListState.Target>) = launch {
private fun CoroutineScope.computeForMessage(timelineItem: TimelineItem.Event, target: MutableState<ActionListState.Target>) = launch {
target.value = ActionListState.Target.Loading(timelineItem)
val actions =
if (timelineItem.content is TimelineItemRedactedContent) {
when (timelineItem.content) {
is TimelineItemRedactedContent,
is TimelineItemStateContent -> {
// TODO Add Share action (also) here, and developer options
emptyList()
} else {
}
else -> {
mutableListOf(
TimelineItemAction.Reply,
TimelineItemAction.Forward,
@ -70,6 +75,7 @@ class ActionListPresenter @Inject constructor() : Presenter<ActionListState> { @@ -70,6 +75,7 @@ class ActionListPresenter @Inject constructor() : Presenter<ActionListState> {
}
}
}
}
target.value = ActionListState.Target.Success(timelineItem, actions.toImmutableList())
}
}

Loading…
Cancel
Save