Skip to content

Commit 92be6f7

Browse files
committed
Fix status bar insets in WooPos Orders screens
- Remove global `statusBarsPadding` from the root `WooPosOrdersScreen` container. - Apply `statusBarsPadding` individually to `OrdersContent`, `OrdersEmpty`, `OrdersError`, and `WooPosToolbar`. - Add `statusBarsPadding` to `WooPosOrdersDetails`. - Refactor `WooPosOrdersLoadingScreen` layout to correctly handle status bar insets and toolbar spacing.
1 parent 671c8c7 commit 92be6f7

File tree

3 files changed

+35
-18
lines changed

3 files changed

+35
-18
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/orders/WooPosOrdersDetails.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.height
99
import androidx.compose.foundation.layout.heightIn
1010
import androidx.compose.foundation.layout.padding
1111
import androidx.compose.foundation.layout.size
12+
import androidx.compose.foundation.layout.statusBarsPadding
1213
import androidx.compose.foundation.rememberScrollState
1314
import androidx.compose.foundation.shape.RoundedCornerShape
1415
import androidx.compose.foundation.verticalScroll
@@ -46,6 +47,7 @@ fun WooPosOrderDetails(
4647
Column(
4748
modifier = modifier
4849
.fillMaxSize()
50+
.statusBarsPadding()
4951
.verticalScroll(rememberScrollState())
5052
.padding(
5153
start = WooPosSpacing.Medium.value,

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/orders/WooPosOrdersLoadingScreen.kt

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.height
1313
import androidx.compose.foundation.layout.heightIn
1414
import androidx.compose.foundation.layout.padding
1515
import androidx.compose.foundation.layout.size
16+
import androidx.compose.foundation.layout.statusBarsPadding
1617
import androidx.compose.foundation.layout.width
1718
import androidx.compose.foundation.lazy.LazyColumn
1819
import androidx.compose.foundation.shape.RoundedCornerShape
@@ -40,14 +41,15 @@ import com.woocommerce.android.ui.woopos.common.composeui.designsystem.WooPosThe
4041
import com.woocommerce.android.ui.woopos.common.composeui.designsystem.WooPosTypography
4142

4243
@Composable
43-
fun WooPosOrdersLoadingScreen() {
44-
Row(modifier = Modifier.fillMaxSize()) {
44+
fun WooPosOrdersLoadingScreen(modifier: Modifier = Modifier) {
45+
Row(
46+
modifier = modifier.fillMaxSize()
47+
) {
4548
WooPosOrdersListLoadingPane(
4649
modifier = Modifier
4750
.weight(0.3f)
4851
.fillMaxHeight()
4952
.background(MaterialTheme.colorScheme.surfaceBright)
50-
.padding(top = WOO_POS_ORDERS_TOOLBAR_HEIGHT)
5153
)
5254

5355
OrderDetailsLoadingPane(
@@ -109,13 +111,17 @@ fun WooPosOrdersOrderLoadingRow() {
109111

110112
@Composable
111113
fun WooPosOrdersListLoadingPane(modifier: Modifier = Modifier) {
112-
LazyColumn(
113-
modifier = modifier,
114-
verticalArrangement = Arrangement.spacedBy(WooPosSpacing.Medium.value),
115-
contentPadding = PaddingValues(WooPosSpacing.Medium.value)
116-
) {
117-
items(7) {
118-
WooPosOrdersOrderLoadingRow()
114+
Column(modifier = modifier.statusBarsPadding()) {
115+
Spacer(modifier = Modifier.height(WOO_POS_ORDERS_TOOLBAR_HEIGHT))
116+
117+
LazyColumn(
118+
modifier = Modifier.fillMaxSize(),
119+
verticalArrangement = Arrangement.spacedBy(WooPosSpacing.Medium.value),
120+
contentPadding = PaddingValues(WooPosSpacing.Medium.value)
121+
) {
122+
items(7) {
123+
WooPosOrdersOrderLoadingRow()
124+
}
119125
}
120126
}
121127
}
@@ -125,6 +131,7 @@ private fun OrderDetailsLoadingPane(modifier: Modifier = Modifier) {
125131
Column(
126132
modifier = modifier
127133
.fillMaxSize()
134+
.statusBarsPadding()
128135
.padding(horizontal = WooPosSpacing.Medium.value)
129136
) {
130137
Row(

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/orders/WooPosOrdersScreen.kt

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ private fun WooPosOrdersScreen(
133133
Box(
134134
modifier = Modifier
135135
.fillMaxSize()
136-
.statusBarsPadding()
137136
) {
138137
when (state) {
139138
is WooPosOrdersState.Content -> OrdersContent(
@@ -149,11 +148,13 @@ private fun WooPosOrdersScreen(
149148
)
150149

151150
is WooPosOrdersState.Empty -> OrdersEmpty(
152-
onActionClicked = onOrdersEmptyActionClicked
151+
onActionClicked = onOrdersEmptyActionClicked,
152+
modifier = Modifier.statusBarsPadding()
153153
)
154154

155155
is WooPosOrdersState.Error -> OrdersError(
156-
onRetryClicked = onOrdersLoadingErrorRetryButtonClicked
156+
onRetryClicked = onOrdersLoadingErrorRetryButtonClicked,
157+
modifier = Modifier.statusBarsPadding()
157158
)
158159

159160
is WooPosOrdersState.Loading -> WooPosOrdersLoadingScreen()
@@ -163,7 +164,9 @@ private fun WooPosOrdersScreen(
163164
WooPosToolbar(
164165
titleText = stringResource(R.string.woopos_orders_title),
165166
onBackClicked = onBackClicked,
166-
modifier = Modifier.fillMaxWidth()
167+
modifier = Modifier
168+
.fillMaxWidth()
169+
.statusBarsPadding()
167170
)
168171
}
169172
}
@@ -227,7 +230,9 @@ private fun OrdersListPane(
227230
onSearchErrorRetry: () -> Unit,
228231
modifier: Modifier = Modifier
229232
) {
230-
Column(modifier = modifier) {
233+
Column(
234+
modifier = modifier.statusBarsPadding()
235+
) {
231236
Box(
232237
modifier = Modifier
233238
.fillMaxWidth()
@@ -467,10 +472,11 @@ private fun LoadedOrdersList(
467472

468473
@Composable
469474
private fun OrdersEmpty(
470-
onActionClicked: () -> Unit
475+
onActionClicked: () -> Unit,
476+
modifier: Modifier = Modifier
471477
) {
472478
WooPosEmptyScreen(
473-
modifier = Modifier.fillMaxSize(),
479+
modifier = modifier.fillMaxSize(),
474480
icon = WooPosIcons.OrdersEmpty,
475481
title = stringResource(id = R.string.woopos_orders_empty_list_title),
476482
message = stringResource(id = R.string.woopos_orders_empty_list_message),
@@ -482,9 +488,11 @@ private fun OrdersEmpty(
482488

483489
@Composable
484490
private fun OrdersError(
485-
onRetryClicked: () -> Unit
491+
onRetryClicked: () -> Unit,
492+
modifier: Modifier = Modifier
486493
) {
487494
WooPosErrorScreen(
495+
modifier = modifier,
488496
message = stringResource(id = R.string.woopos_orders_loading_error_title),
489497
reason = stringResource(id = R.string.woopos_orders_loading_error_message),
490498
primaryButton = WooPosErrorScreenButtonState(

0 commit comments

Comments
 (0)