Skip to content

Commit 692a761

Browse files
authored
Merge pull request #578 from code-payments/fix/connect-account-scaffold
fix(connectaccount): update layout to a scaffold to prevent content clipping
2 parents 7453849 + b9ca476 commit 692a761

1 file changed

Lines changed: 34 additions & 24 deletions

File tree

app/src/main/java/com/getcode/view/main/tip/ConnectAccountScreen.kt

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.padding
1313
import androidx.compose.foundation.layout.size
1414
import androidx.compose.foundation.layout.width
1515
import androidx.compose.foundation.shape.CircleShape
16+
import androidx.compose.material.Scaffold
1617
import androidx.compose.material.Text
1718
import androidx.compose.runtime.Composable
1819
import androidx.compose.runtime.LaunchedEffect
@@ -39,6 +40,7 @@ import com.getcode.theme.bolded
3940
import com.getcode.theme.extraSmall
4041
import com.getcode.ui.components.ButtonState
4142
import com.getcode.ui.components.CodeButton
43+
import com.getcode.ui.components.CodeScaffold
4244
import com.getcode.ui.components.Row
4345
import kotlinx.coroutines.delay
4446
import kotlinx.coroutines.flow.filterIsInstance
@@ -72,19 +74,43 @@ fun ConnectAccountScreen(
7274
.launchIn(this)
7375
}
7476

75-
Column(
76-
Modifier
77-
.padding(CodeTheme.dimens.grid.x4),
78-
verticalArrangement = Arrangement.spacedBy(CodeTheme.dimens.inset)
79-
) {
80-
RequestContent(state = state) {
81-
viewModel.dispatchEvent(TipConnectViewModel.Event.PostToX)
77+
CodeScaffold(
78+
bottomBar = {
79+
CodeButton(
80+
modifier = Modifier.fillMaxWidth()
81+
.padding(CodeTheme.dimens.inset),
82+
onClick = {
83+
viewModel.dispatchEvent(TipConnectViewModel.Event.PostToX)
84+
},
85+
buttonState = ButtonState.Filled,
86+
content = {
87+
Image(
88+
painter = rememberVectorPainter(image = ImageVector.vectorResource(id = R.drawable.ic_twitter_x)),
89+
colorFilter = ColorFilter.tint(Brand),
90+
contentDescription = null
91+
)
92+
Spacer(Modifier.width(CodeTheme.dimens.grid.x2))
93+
Text(
94+
text = stringResource(R.string.action_messageGetCode),
95+
)
96+
}
97+
)
98+
},
99+
) { padding ->
100+
Column(
101+
Modifier
102+
.padding(CodeTheme.dimens.inset)
103+
.padding(padding),
104+
verticalArrangement = Arrangement.spacedBy(CodeTheme.dimens.inset)
105+
) {
106+
RequestContent(state = state)
82107
}
83108
}
109+
84110
}
85111

86112
@Composable
87-
private fun ColumnScope.RequestContent(state: TipConnectViewModel.State, onClick: () -> Unit) {
113+
private fun ColumnScope.RequestContent(state: TipConnectViewModel.State) {
88114
Text(
89115
text = when(state.reason) {
90116
IdentityConnectionReason.TipCard -> stringResource(id = R.string.title_receiveTips)
@@ -104,22 +130,6 @@ private fun ColumnScope.RequestContent(state: TipConnectViewModel.State, onClick
104130
Spacer(modifier = Modifier.weight(0.3f))
105131
TweetPreview(modifier = Modifier.fillMaxWidth(), xMessage = state.xMessage)
106132
Spacer(modifier = Modifier.weight(0.7f))
107-
CodeButton(
108-
modifier = Modifier.fillMaxWidth(),
109-
onClick = onClick,
110-
buttonState = ButtonState.Filled,
111-
content = {
112-
Image(
113-
painter = rememberVectorPainter(image = ImageVector.vectorResource(id = R.drawable.ic_twitter_x)),
114-
colorFilter = ColorFilter.tint(Brand),
115-
contentDescription = null
116-
)
117-
Spacer(Modifier.width(CodeTheme.dimens.grid.x2))
118-
Text(
119-
text = stringResource(R.string.action_messageGetCode),
120-
)
121-
}
122-
)
123133
}
124134

125135
@Composable

0 commit comments

Comments
 (0)