@@ -17,7 +17,6 @@ import androidx.compose.foundation.layout.height
1717import androidx.compose.foundation.layout.padding
1818import androidx.compose.foundation.layout.size
1919import androidx.compose.foundation.layout.width
20- import androidx.compose.foundation.layout.wrapContentSize
2120import androidx.compose.foundation.layout.wrapContentWidth
2221import androidx.compose.foundation.lazy.LazyColumn
2322import androidx.compose.foundation.lazy.LazyListState
@@ -59,6 +58,7 @@ import com.woocommerce.android.ui.bookings.compose.BookingStatus
5958import com.woocommerce.android.ui.bookings.compose.BookingSummary
6059import com.woocommerce.android.ui.bookings.compose.BookingSummaryModel
6160import com.woocommerce.android.ui.bookings.details.AttendanceUpdateStatus
61+ import com.woocommerce.android.ui.compose.animations.SkeletonView
6262import com.woocommerce.android.ui.compose.component.InfiniteListHandler
6363import com.woocommerce.android.ui.compose.component.Toolbar
6464import com.woocommerce.android.ui.compose.component.WCColoredButton
@@ -124,13 +124,7 @@ fun BookingListScreen(state: BookingListViewState) {
124124 }
125125
126126 state.contentState.loadingState == BookingListLoadingState .Loading -> {
127- // TODO replace with shimmer
128- CircularProgressIndicator (
129- modifier = Modifier
130- .padding(paddingValues)
131- .fillMaxSize()
132- .wrapContentSize()
133- )
127+ BookingListLoading (state.controlsState)
134128 }
135129
136130 else -> {
@@ -254,6 +248,32 @@ private fun BookingList(
254248 }
255249}
256250
251+ @Composable
252+ private fun BookingListLoading (controlsState : BookingListControlsState ) {
253+ Column (
254+ modifier = Modifier
255+ .fillMaxWidth()
256+ .verticalScroll(rememberScrollState())
257+ .background(MaterialTheme .colorScheme.surfaceContainer)
258+ ) {
259+ BookingListControls (controlsState)
260+ repeat(7 ) {
261+ Column (
262+ modifier = Modifier
263+ .fillMaxWidth()
264+ .padding(16 .dp)
265+ ) {
266+ SkeletonView (Modifier .size(173 .dp, 22 .dp))
267+ Spacer (Modifier .height(2 .dp))
268+ SkeletonView (Modifier .size(256 .dp, 18 .dp))
269+ Spacer (Modifier .height(8 .dp))
270+ SkeletonView (Modifier .size(138 .dp, 22 .dp))
271+ }
272+ HorizontalDivider (Modifier .padding(start = 16 .dp))
273+ }
274+ }
275+ }
276+
257277@Composable
258278private fun BookingListControls (
259279 state : BookingListControlsState ,
0 commit comments