@@ -62,7 +62,7 @@ object NestedOverlaysWorkflow : StatefulWorkflow<Unit, State, Nothing, Screen>()
62
62
name = R .string.close,
63
63
onClick = closeOuter
64
64
),
65
- context.toggleInnerSheetButton(renderState),
65
+ context.toggleInnerSheetButton(name = " inner " , renderState),
66
66
color = android.R .color.holo_green_light,
67
67
showEditText = true ,
68
68
),
@@ -103,33 +103,59 @@ object NestedOverlaysWorkflow : StatefulWorkflow<Unit, State, Nothing, Screen>()
103
103
name = " outer" ,
104
104
overlays = listOfNotNull(outerSheet),
105
105
body = TopAndBottomBarsScreen (
106
- topBar = if (! renderState.showTopBar) null else context.topBottomBar(renderState),
106
+ topBar = if (! renderState.showTopBar) {
107
+ null
108
+ } else {
109
+ context.topBottomBar(
110
+ top = true ,
111
+ renderState
112
+ )
113
+ },
107
114
content = BodyAndOverlaysScreen (
108
115
name = " inner" ,
109
116
body = bodyBarButtons,
110
117
overlays = listOfNotNull(innerSheet)
111
118
),
112
- bottomBar = if (! renderState.showBottomBar) null else context.topBottomBar(renderState)
119
+ bottomBar = if (! renderState.showBottomBar) {
120
+ null
121
+ } else {
122
+ context.topBottomBar(
123
+ top = false ,
124
+ renderState
125
+ )
126
+ }
113
127
)
114
128
)
115
129
}
116
130
117
131
override fun snapshotState (state : State ) = null
118
132
119
133
private fun RenderContext.topBottomBar (
134
+ top : Boolean ,
120
135
renderState : State
121
- ) = ButtonBar (
122
- toggleInnerSheetButton(renderState),
123
- Button (
124
- name = R .string.cover_all,
125
- onClick = eventHandler(" cover everything" ) { state = state.copy(showOuterSheet = true ) }
136
+ ): ButtonBar {
137
+ val name = if (top) " top" else " bottom"
138
+ return ButtonBar (
139
+ toggleInnerSheetButton(
140
+ name = name,
141
+ renderState = renderState,
142
+ ),
143
+ Button (
144
+ name = R .string.cover_all,
145
+ onClick = eventHandler(" $name cover everything" ) {
146
+ state = state.copy(showOuterSheet = true )
147
+ }
148
+ )
126
149
)
127
- )
150
+ }
128
151
129
- private fun RenderContext.toggleInnerSheetButton (renderState : State ) =
152
+ private fun RenderContext.toggleInnerSheetButton (
153
+ name : String ,
154
+ renderState : State
155
+ ) =
130
156
Button (
131
157
name = if (renderState.showInnerSheet) R .string.reveal_body else R .string.cover_body,
132
- onClick = eventHandler(" reveal / cover body" ) {
158
+ onClick = eventHandler(" $name : reveal / cover body" ) {
133
159
state = state.copy(showInnerSheet = ! state.showInnerSheet)
134
160
}
135
161
)
0 commit comments