diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartNavigation.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartNavigation.kt deleted file mode 100644 index 262fd61d823..00000000000 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartNavigation.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.woocommerce.android.ui.woopos.cart - -import androidx.hilt.navigation.compose.hiltViewModel -import androidx.navigation.NavGraphBuilder -import androidx.navigation.compose.composable - -internal const val CART_ROUTE = "cart" - -internal fun NavGraphBuilder.cartScreen(onCheckoutClick: () -> Unit) { - composable(CART_ROUTE) { - val viewModel: WooPosCartViewModel = hiltViewModel() - - WooPosCartScreen( - viewModel = viewModel, - onCheckoutClick = onCheckoutClick, - ) - } -} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartScreen.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartScreen.kt index 5ec89dab22a..7bc695100bf 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartScreen.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartScreen.kt @@ -12,11 +12,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.woocommerce.android.ui.woopos.common.composeui.WooPosPreview +import com.woocommerce.android.ui.woopos.home.cart.WooPosCartViewModel +import com.woocommerce.android.ui.woopos.home.products.ProductSelectorViewModel @Composable @Suppress("UNUSED_PARAMETER") fun WooPosCartScreen( viewModel: WooPosCartViewModel, + productSelectorViewModel: ProductSelectorViewModel, onCheckoutClick: () -> Unit, ) { WooPosCartScreen(onCheckoutClick = onCheckoutClick) diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/common/composeui/WooPosTheme.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/common/composeui/WooPosTheme.kt index 8f9ffae6dc8..57fa4169fb9 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/common/composeui/WooPosTheme.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/common/composeui/WooPosTheme.kt @@ -11,23 +11,27 @@ import androidx.compose.ui.graphics.Color import com.woocommerce.android.ui.compose.theme.WooTypography private val DarkColorPalette = darkColors( - primary = Color(0xFF1E88E5), + primary = Color(0xFFAD86E9), primaryVariant = Color(0xFF1565C0), secondary = Color(0xFFD32F2F), onPrimary = Color.White, secondaryVariant = Color(0xFFB39DDB), - surface = Color.White, - onSurface = Color.Black, + surface = Color.Black, + onSurface = Color.White, + background = Color.Black, + onBackground = Color.White, ) private val LightColorPalette = lightColors( - primary = Color(0xFF1E88E5), + primary = Color(0xFFAD86E9), primaryVariant = Color(0xFF1565C0), secondary = Color(0xFFD32F2F), onPrimary = Color.White, secondaryVariant = Color(0xFFB39DDB), - surface = Color.Black, - onSurface = Color.White + surface = Color.White, + onSurface = Color.Black, + background = Color.Black, + onBackground = Color.White, ) @Composable diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/di/POSModule.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/di/POSModule.kt new file mode 100644 index 00000000000..93c8d04108b --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/di/POSModule.kt @@ -0,0 +1,20 @@ +package com.woocommerce.android.ui.woopos.di + +import com.woocommerce.android.ui.products.selector.ProductListHandler +import com.woocommerce.android.ui.woopos.home.products.ProductsDataSource +import com.woocommerce.android.ui.woopos.home.products.ProductsDataSourceImpl +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent + +@InstallIn(SingletonComponent::class) +@Module +class POSModule { + @Provides + fun provideProductList( + handler: ProductListHandler + ): ProductsDataSource { + return ProductsDataSourceImpl(handler) + } +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeNavigation.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeNavigation.kt new file mode 100644 index 00000000000..ada21a4f0f7 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeNavigation.kt @@ -0,0 +1,22 @@ +package com.woocommerce.android.ui.woopos.home + +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.navigation.NavGraphBuilder +import androidx.navigation.compose.composable +import com.woocommerce.android.ui.woopos.home.cart.WooPosCartViewModel +import com.woocommerce.android.ui.woopos.home.products.ProductSelectorViewModel + +internal const val HOME_ROUTE = "home" + +internal fun NavGraphBuilder.homeScreen(onCheckoutClick: () -> Unit) { + composable(HOME_ROUTE) { + val cartViewModel: WooPosCartViewModel = hiltViewModel() + val productsViewModel: ProductSelectorViewModel = hiltViewModel() + + WooPosHomeScreen( + cartViewModel = cartViewModel, + productsViewModel = productsViewModel, + onCheckoutClick = onCheckoutClick + ) + } +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeScreen.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeScreen.kt new file mode 100644 index 00000000000..9558df656e8 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeScreen.kt @@ -0,0 +1,71 @@ +package com.woocommerce.android.ui.woopos.home + +import android.annotation.SuppressLint +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.material.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.woocommerce.android.ui.woopos.common.composeui.WooPosPreview +import com.woocommerce.android.ui.woopos.home.cart.Cart +import com.woocommerce.android.ui.woopos.home.cart.WooPosCartViewModel +import com.woocommerce.android.ui.woopos.home.products.ListItem +import com.woocommerce.android.ui.woopos.home.products.ProductSelector +import com.woocommerce.android.ui.woopos.home.products.ProductSelectorViewModel +import com.woocommerce.android.ui.woopos.home.products.ViewState +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow + +@Composable +@Suppress("UNUSED_PARAMETER") +fun WooPosHomeScreen( + cartViewModel: WooPosCartViewModel, + productsViewModel: ProductSelectorViewModel, + onCheckoutClick: () -> Unit, +) { + WooPosHomeScreen( + onCheckoutClick = onCheckoutClick, + productsState = productsViewModel.viewState, + onEndOfProductsGridReached = productsViewModel::onEndOfProductsGridReached, + ) +} + +@SuppressLint("UnusedMaterialScaffoldPaddingParameter") +@Composable +private fun WooPosHomeScreen( + onCheckoutClick: () -> Unit, + productsState: StateFlow, + onEndOfProductsGridReached: () -> Unit, +) { + Row( + modifier = Modifier + .background(MaterialTheme.colors.background) + .padding(start = 16.dp, end = 16.dp, top = 16.dp, bottom = 0.dp), + horizontalArrangement = Arrangement.spacedBy(16.dp), + ) { + ProductSelector(productsState, onEndOfProductsGridReached) + Cart(onCheckoutClick) + } +} + +@Composable +@WooPosPreview +fun WooPosHomeScreenPreview() { + val productState = MutableStateFlow( + ViewState( + products = listOf( + ListItem(1, "Product 1"), + ListItem(2, "Product 2"), + ListItem(3, "Product 3"), + ) + ) + ) + WooPosHomeScreen( + onCheckoutClick = {}, + productsState = productState, + onEndOfProductsGridReached = {} + ) +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/CartScreen.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/CartScreen.kt new file mode 100644 index 00000000000..686f0559a32 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/CartScreen.kt @@ -0,0 +1,38 @@ +package com.woocommerce.android.ui.woopos.home.cart + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Button +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.woocommerce.android.R + +@Composable +fun Cart(onButtonClicked: () -> Unit) { + Column( + modifier = Modifier + .background(MaterialTheme.colors.surface, RoundedCornerShape(8.dp)) + .padding(16.dp) + ) { + Text( + text = "Cart", + style = MaterialTheme.typography.h3, + color = MaterialTheme.colors.primary, + ) + Spacer(modifier = Modifier.weight(1f)) + Button( + modifier = Modifier.fillMaxWidth(), + onClick = onButtonClicked, + ) { + Text(stringResource(id = R.string.woopos_checkout)) + } + } +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartViewModel.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/WooPosCartViewModel.kt similarity index 78% rename from WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartViewModel.kt rename to WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/WooPosCartViewModel.kt index 39f7232d70c..f3df87a9b66 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/cart/WooPosCartViewModel.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/WooPosCartViewModel.kt @@ -1,4 +1,4 @@ -package com.woocommerce.android.ui.woopos.cart +package com.woocommerce.android.ui.woopos.home.cart import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductSelectorScreen.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductSelectorScreen.kt new file mode 100644 index 00000000000..51ae35e4ad8 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductSelectorScreen.kt @@ -0,0 +1,120 @@ +package com.woocommerce.android.ui.woopos.home.products + +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement.spacedBy +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyGridState +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.itemsIndexed +import androidx.compose.foundation.lazy.grid.rememberLazyGridState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.snapshotFlow +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import androidx.constraintlayout.compose.ConstraintLayout +import com.woocommerce.android.ui.woopos.common.composeui.WooPosPreview +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.filter + +@Composable +fun ProductSelector( + productsState: StateFlow, + onEndOfProductsGridReached: () -> Unit, +) { + ConstraintLayout( + modifier = Modifier + .fillMaxWidth(0.7f) + .fillMaxHeight() + .background(MaterialTheme.colors.surface, RoundedCornerShape(8.dp)) + .padding(16.dp) + ) { + val state = productsState.collectAsState() + val gridState = rememberLazyGridState() + LazyVerticalGrid( + columns = GridCells.Fixed(2), + horizontalArrangement = spacedBy(34.dp), + verticalArrangement = spacedBy(34.dp), + contentPadding = PaddingValues(16.dp), + state = gridState + ) { + itemsIndexed(state.value.products) { _, product -> + ProductItem(product = product) + } + } + InfiniteGridHandler(gridState) { + onEndOfProductsGridReached() + } + } +} + +@Composable +fun ProductItem(product: ListItem) { + ConstraintLayout( + modifier = Modifier + .border(1.dp, Color.Gray, shape = RoundedCornerShape(4.dp)) + .padding(16.dp) + .fillMaxWidth(0.5f) + ) { + Text( + text = product.title, + style = MaterialTheme.typography.body1, + color = MaterialTheme.colors.onSurface, + ) + } +} + +@Composable +fun InfiniteGridHandler( + gridState: LazyGridState, + buffer: Int = 1, + onEndOfProductsGridReached: () -> Unit +) { + val loadMore = remember { + derivedStateOf { + val layoutInfo = gridState.layoutInfo + val totalItemsNumber = layoutInfo.totalItemsCount + val lastVisibleItemIndex = (layoutInfo.visibleItemsInfo.lastOrNull()?.index ?: 0) + 1 + + lastVisibleItemIndex > (totalItemsNumber - buffer) + } + } + + LaunchedEffect(loadMore) { + snapshotFlow { loadMore.value } + .distinctUntilChanged() + .filter { it } + .collect { + onEndOfProductsGridReached() + } + } +} + +@Composable +@WooPosPreview +fun ProductSelectorPreview() { + val state = MutableStateFlow( + ViewState( + listOf( + ListItem(1, "Product 1"), + ListItem(2, "Product 2"), + ListItem(3, "Product 3"), + ) + ) + ) + ProductSelector(productsState = state, onEndOfProductsGridReached = {}) +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductSelectorViewModel.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductSelectorViewModel.kt new file mode 100644 index 00000000000..5dc7ebf9690 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductSelectorViewModel.kt @@ -0,0 +1,44 @@ +package com.woocommerce.android.ui.woopos.home.products + +import androidx.lifecycle.SavedStateHandle +import com.woocommerce.android.viewmodel.ScopedViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.Job +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.launch +import javax.inject.Inject + +@HiltViewModel +class ProductSelectorViewModel @Inject constructor( + private val productsDataSource: ProductsDataSource, + savedStateHandle: SavedStateHandle, +) : ScopedViewModel(savedStateHandle) { + + private var loadMoreProductsJob: Job? = null + + val viewState: StateFlow = productsDataSource.products.map { products -> + ViewState( + products = products.map { product -> + ListItem( + productId = product.remoteId, + title = product.name, + imageUrl = product.firstImageUrl + ) + } + ) + }.toStateFlow(ViewState(products = emptyList())) + + init { + launch { + productsDataSource.loadProducts() + } + } + + fun onEndOfProductsGridReached() { + loadMoreProductsJob?.cancel() + loadMoreProductsJob = launch { + productsDataSource.loadMore() + } + } +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductsDataSource.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductsDataSource.kt new file mode 100644 index 00000000000..d9a24f33134 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductsDataSource.kt @@ -0,0 +1,10 @@ +package com.woocommerce.android.ui.woopos.home.products + +import com.woocommerce.android.model.Product +import kotlinx.coroutines.flow.Flow + +interface ProductsDataSource { + val products: Flow> + suspend fun loadProducts() + suspend fun loadMore() +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductsDataSourceImpl.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductsDataSourceImpl.kt new file mode 100644 index 00000000000..c1d574d2d94 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ProductsDataSourceImpl.kt @@ -0,0 +1,19 @@ +package com.woocommerce.android.ui.woopos.home.products + +import com.woocommerce.android.model.Product +import com.woocommerce.android.ui.products.selector.ProductListHandler +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject + +class ProductsDataSourceImpl @Inject constructor(private val handler: ProductListHandler) : + ProductsDataSource { + override val products: Flow> = handler.productsFlow + + override suspend fun loadProducts() { + handler.loadFromCacheAndFetch(searchType = ProductListHandler.SearchType.DEFAULT) + } + + override suspend fun loadMore() { + handler.loadMore() + } +} diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ViewState.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ViewState.kt new file mode 100644 index 00000000000..dc3c4b9e35e --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/products/ViewState.kt @@ -0,0 +1,11 @@ +package com.woocommerce.android.ui.woopos.home.products + +data class ViewState( + val products: List, +) + +data class ListItem( + val productId: Long, + val title: String, + val imageUrl: String? = null, +) diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootBottomToolbar.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootBottomToolbar.kt index 18cce59b04c..0efb96a5afb 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootBottomToolbar.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootBottomToolbar.kt @@ -15,6 +15,7 @@ import androidx.compose.material.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.woocommerce.android.R @@ -27,7 +28,7 @@ fun WooPosBottomToolbar(onUIEvent: (WooPosRootUIEvents) -> Unit) { modifier = Modifier .fillMaxWidth() .wrapContentHeight(), - color = MaterialTheme.colors.surface + color = MaterialTheme.colors.background ) { Row( modifier = Modifier @@ -40,7 +41,7 @@ fun WooPosBottomToolbar(onUIEvent: (WooPosRootUIEvents) -> Unit) { TextButton(onClick = { onUIEvent(WooPosRootUIEvents.ExitPOSClicked) }) { Text( text = stringResource(id = R.string.woopos_exit_pos), - color = MaterialTheme.colors.onSurface, + color = Color.White, style = MaterialTheme.typography.button ) } diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootScreen.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootScreen.kt index a5fca199c1a..c550fc4c57f 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootScreen.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/WooPosRootScreen.kt @@ -1,6 +1,8 @@ package com.woocommerce.android.ui.woopos.root +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column +import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.hilt.navigation.compose.hiltViewModel @@ -17,7 +19,7 @@ fun WooPosRootScreen() { @Composable private fun WooPosRootScreen(onUIEvent: (WooPosRootUIEvents) -> Unit) { WooPosTheme { - Column { + Column(modifier = Modifier.background(MaterialTheme.colors.background)) { WooPosRootHost(modifier = Modifier.weight(1f)) WooPosBottomToolbar(onUIEvent) } diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/navigation/WooPosMainFlowGraph.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/navigation/WooPosMainFlowGraph.kt index cc4aa8ec65a..8488f5437e4 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/navigation/WooPosMainFlowGraph.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/root/navigation/WooPosMainFlowGraph.kt @@ -3,19 +3,19 @@ package com.woocommerce.android.ui.woopos.root.navigation import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.navigation -import com.woocommerce.android.ui.woopos.cart.CART_ROUTE -import com.woocommerce.android.ui.woopos.cart.cartScreen import com.woocommerce.android.ui.woopos.checkout.checkoutScreen import com.woocommerce.android.ui.woopos.checkout.navigateToCheckoutScreen +import com.woocommerce.android.ui.woopos.home.HOME_ROUTE +import com.woocommerce.android.ui.woopos.home.homeScreen const val MAIN_GRAPH_ROUTE = "main-graph" fun NavGraphBuilder.checkoutGraph(navController: NavController) { navigation( - startDestination = CART_ROUTE, + startDestination = HOME_ROUTE, route = MAIN_GRAPH_ROUTE, ) { - cartScreen(onCheckoutClick = navController::navigateToCheckoutScreen) + homeScreen(onCheckoutClick = navController::navigateToCheckoutScreen) checkoutScreen(onBackClick = navController::popBackStack) } } diff --git a/WooCommerce/src/main/res/values/strings.xml b/WooCommerce/src/main/res/values/strings.xml index 0d50cd6c2ff..f9e0e465426 100644 --- a/WooCommerce/src/main/res/values/strings.xml +++ b/WooCommerce/src/main/res/values/strings.xml @@ -4116,4 +4116,5 @@ --> Exit POS Reader Connected + Checkout