diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditFormFragment.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditFormFragment.kt index ac8b6c16511..9aa9cd2991f 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditFormFragment.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditFormFragment.kt @@ -76,6 +76,7 @@ import com.woocommerce.android.ui.orders.creation.giftcards.OrderCreateEditGiftC import com.woocommerce.android.ui.orders.creation.navigation.OrderCreateEditNavigationTarget import com.woocommerce.android.ui.orders.creation.navigation.OrderCreateEditNavigator import com.woocommerce.android.ui.orders.creation.product.discount.OrderCreateEditProductDiscountFragment.Companion.KEY_PRODUCT_DISCOUNT_RESULT +import com.woocommerce.android.ui.orders.creation.shipping.CouponFormSection import com.woocommerce.android.ui.orders.creation.shipping.OrderShippingFragment.Companion.REMOVE_SHIPPING_RESULT import com.woocommerce.android.ui.orders.creation.shipping.OrderShippingFragment.Companion.UPDATE_SHIPPING_RESULT import com.woocommerce.android.ui.orders.creation.shipping.ShippingLineFormSection @@ -464,8 +465,11 @@ class OrderCreateEditFormFragment : setContent { viewModel.orderDraft.observeAsState().value?.couponLines?.let { couponLines -> WooThemeWithBackground { - Text(text = "Applied coupons:" + couponLines.toString()) - } + CouponFormSection( + couponDetails = couponLines, + //formatCurrency = { amount -> currencyFormatter.formatCurrency(amount) }, + onRemoveCoupon = { couponCode -> viewModel.onCouponRemoved(couponCode) } + ) } } } } diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditViewModel.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditViewModel.kt index 2d7603dd687..12d2c115f42 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditViewModel.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/OrderCreateEditViewModel.kt @@ -1803,7 +1803,7 @@ class OrderCreateEditViewModel @Inject constructor( } } - private fun onCouponRemoved(couponCode: String) { + fun onCouponRemoved(couponCode: String) { trackCouponRemoved() _orderDraft.update { draft -> val updatedCouponLines = draft.couponLines.filter { it.code != couponCode } diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/shipping/CouponFormSection.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/shipping/CouponFormSection.kt new file mode 100644 index 00000000000..ed5c69d8a36 --- /dev/null +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/orders/creation/shipping/CouponFormSection.kt @@ -0,0 +1,41 @@ +package com.woocommerce.android.ui.orders.creation.shipping + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Button +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.woocommerce.android.model.Order +import java.math.BigDecimal + +@Composable +fun CouponFormSection( + couponDetails: List, + //formatCurrency: (BigDecimal) -> String, + onRemoveCoupon: (String) -> Unit +) { + Column { + couponDetails.forEach { coupon -> + Row( + modifier = Modifier + .fillMaxWidth() + .padding(8.dp),// Adjust the padding as needed + horizontalArrangement = Arrangement.SpaceBetween + ) { + Column { + Text(text = "Coupon: ${coupon.code}") + Text(text = "Discount: ${coupon.discount}") + } + Button(onClick = { onRemoveCoupon(coupon.code) }) { + Text(text = "Remove") + } + } + } + } +} +