Skip to content

Commit a068449

Browse files
committed
Improve consumeHandler
1 parent ad682ed commit a068449

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

Diff for: core/designsystem/src/main/kotlin/io/getstream/server/driven/core/designsystem/consumer/ConsumeHandler.kt

+11-8
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,23 @@ import io.getstream.server.driven.core.model.HandlerAction
2323
import io.getstream.server.driven.core.model.HandlerType
2424

2525
@Composable
26-
fun Handler?.consumeHandler(
26+
fun Modifier.consumeHandler(
27+
handler: Handler?,
2728
navigator: () -> Unit
2829
): Modifier {
29-
if (this == null) return Modifier
30+
if (handler == null) return this
3031

31-
val action = if (this.actions[HandlerAction.NAVIGATION.value] == "to") {
32+
val action = if (handler.actions[HandlerAction.NAVIGATION.value] == "to") {
3233
{ navigator }
3334
} else {
3435
{}
3536
}
3637

37-
return if (this.type == HandlerType.CLICK.value) {
38-
Modifier.clickable { action.invoke() }
39-
} else {
40-
Modifier
41-
}
38+
return then(
39+
if (handler.type == HandlerType.CLICK.value) {
40+
Modifier.clickable { action.invoke() }
41+
} else {
42+
Modifier
43+
}
44+
)
4245
}

Diff for: core/designsystem/src/main/kotlin/io/getstream/server/driven/core/designsystem/consumer/ConsumeImageUi.kt

+8-6
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,20 @@ fun ConsumeImageUi(
4040
navigator: (UiComponent) -> Unit = {},
4141
imageOptions: ImageOptions? = null
4242
) {
43-
val actionModifier = imageUi.handler.consumeHandler(
44-
navigator = { navigator.invoke(imageUi) }
45-
)
46-
4743
val newModifier = if (version == 1) {
4844
modifier
49-
.then(actionModifier)
45+
.consumeHandler(
46+
handler = imageUi.handler,
47+
navigator = { navigator.invoke(imageUi) }
48+
)
5049
.size(imageUi.size)
5150
.clip(RoundedCornerShape(8.dp))
5251
} else {
5352
modifier
54-
.then(actionModifier)
53+
.consumeHandler(
54+
handler = imageUi.handler,
55+
navigator = { navigator.invoke(imageUi) }
56+
)
5557
.size(imageUi.size)
5658
.clip(RoundedCornerShape(16.dp))
5759
.border(

0 commit comments

Comments
 (0)