File tree 2 files changed +19
-8
lines changed
designsystem/src/main/kotlin/io/getstream/server/driven/core/designsystem/consumer
model/src/main/kotlin/io/getstream/server/driven/core/model
2 files changed +19
-8
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ import androidx.compose.runtime.Composable
20
20
import androidx.compose.ui.Modifier
21
21
import io.getstream.server.driven.core.model.Handler
22
22
import io.getstream.server.driven.core.model.HandlerAction
23
+ import io.getstream.server.driven.core.model.HandlerNavigation
23
24
import io.getstream.server.driven.core.model.HandlerType
24
25
25
26
@Composable
@@ -29,17 +30,23 @@ fun Modifier.consumeHandler(
29
30
): Modifier {
30
31
if (handler == null ) return this
31
32
32
- val action = if (handler.actions[HandlerAction .NAVIGATION .value] == " to" ) {
33
- { navigator }
34
- } else {
35
- {}
36
- }
33
+ handler.actions.forEach { element ->
34
+ val action =
35
+ if (element.key == HandlerAction .NAVIGATION .value &&
36
+ element.value == HandlerNavigation .TO .value
37
+ ) {
38
+ { navigator }
39
+ } else {
40
+ {}
41
+ }
37
42
38
- return then(
39
- if (handler.type == HandlerType .CLICK .value) {
43
+ val newModifier = if (handler.type == HandlerType .CLICK .value) {
40
44
Modifier .clickable { action.invoke() }
41
45
} else {
42
46
Modifier
43
47
}
44
- )
48
+
49
+ then(newModifier)
50
+ }
51
+ return this
45
52
}
Original file line number Diff line number Diff line change @@ -32,3 +32,7 @@ enum class HandlerType(val value: String) {
32
32
enum class HandlerAction (val value : String ) {
33
33
NAVIGATION (" navigation" )
34
34
}
35
+
36
+ enum class HandlerNavigation (val value : String ) {
37
+ TO (" to" )
38
+ }
You can’t perform that action at this time.
0 commit comments