knock request : emit accept single request from banner

This commit is contained in:
ganfra 2024-12-09 11:22:53 +01:00
parent cc9365a2c4
commit 364a374292
3 changed files with 7 additions and 5 deletions

View file

@ -7,9 +7,7 @@
package io.element.android.features.knockrequests.impl.banner
import io.element.android.features.knockrequests.impl.KnockRequest
sealed interface KnockRequestsBannerEvents {
data class Accept(val knockRequest: KnockRequest) : KnockRequestsBannerEvents
data object AcceptSingleRequest : KnockRequestsBannerEvents
data object Dismiss : KnockRequestsBannerEvents
}

View file

@ -24,7 +24,7 @@ class KnockRequestsBannerPresenter @Inject constructor() : Presenter<KnockReques
fun handleEvents(event: KnockRequestsBannerEvents) {
when (event) {
is KnockRequestsBannerEvents.Accept -> Unit
is KnockRequestsBannerEvents.AcceptSingleRequest -> Unit
is KnockRequestsBannerEvents.Dismiss -> {
shouldShowBanner = false
}

View file

@ -90,6 +90,10 @@ private fun KnockRequestsBannerContent(
state.eventSink(KnockRequestsBannerEvents.Dismiss)
}
fun onAcceptClick() {
state.eventSink(KnockRequestsBannerEvents.AcceptSingleRequest)
}
Column(
modifier
.fillMaxWidth()
@ -149,7 +153,7 @@ private fun KnockRequestsBannerContent(
if (state.canAccept) {
Button(
text = stringResource(R.string.screen_room_single_knock_request_accept_button_title),
onClick = {},
onClick = ::onAcceptClick,
size = ButtonSize.MediumLowPadding,
modifier = Modifier.weight(1f),
)