File tree 2 files changed +19
-14
lines changed
core/designsystem/src/main/kotlin/io/getstream/server/driven/core/designsystem/consumer
2 files changed +19
-14
lines changed Original file line number Diff line number Diff line change @@ -23,20 +23,23 @@ import io.getstream.server.driven.core.model.HandlerAction
23
23
import io.getstream.server.driven.core.model.HandlerType
24
24
25
25
@Composable
26
- fun Handler?.consumeHandler (
26
+ fun Modifier.consumeHandler (
27
+ handler : Handler ? ,
27
28
navigator : () -> Unit
28
29
): Modifier {
29
- if (this == null ) return Modifier
30
+ if (handler == null ) return this
30
31
31
- val action = if (this .actions[HandlerAction .NAVIGATION .value] == " to" ) {
32
+ val action = if (handler .actions[HandlerAction .NAVIGATION .value] == " to" ) {
32
33
{ navigator }
33
34
} else {
34
35
{}
35
36
}
36
37
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
+ )
42
45
}
Original file line number Diff line number Diff line change @@ -40,18 +40,20 @@ fun ConsumeImageUi(
40
40
navigator : (UiComponent ) -> Unit = {},
41
41
imageOptions : ImageOptions ? = null
42
42
) {
43
- val actionModifier = imageUi.handler.consumeHandler(
44
- navigator = { navigator.invoke(imageUi) }
45
- )
46
-
47
43
val newModifier = if (version == 1 ) {
48
44
modifier
49
- .then(actionModifier)
45
+ .consumeHandler(
46
+ handler = imageUi.handler,
47
+ navigator = { navigator.invoke(imageUi) }
48
+ )
50
49
.size(imageUi.size)
51
50
.clip(RoundedCornerShape (8 .dp))
52
51
} else {
53
52
modifier
54
- .then(actionModifier)
53
+ .consumeHandler(
54
+ handler = imageUi.handler,
55
+ navigator = { navigator.invoke(imageUi) }
56
+ )
55
57
.size(imageUi.size)
56
58
.clip(RoundedCornerShape (16 .dp))
57
59
.border(
You can’t perform that action at this time.
0 commit comments