From 51882ff634a4a91723e5c863961e19c993e46b40 Mon Sep 17 00:00:00 2001
From: Gracia Hotmauli <95269134+hotmauligracia@users.noreply.github.com>
Date: Tue, 3 Jun 2025 00:23:19 +0700
Subject: [PATCH] sells detail
---
app/src/main/AndroidManifest.xml | 10 +-
.../AddShippingReceiptResponse.kt | 2 +-
.../KonfirmasiTagihanResponse.kt | 2 +-
.../store/sells/OrderDetailResponse.kt | 129 ++++++
.../{orders => sells}/OrderListResponse.kt | 2 +-
.../PaymentConfirmationResponse.kt | 2 +-
.../UpdateOrderItemResponse.kt | 2 +-
.../data/api/retrofit/ApiService.kt | 6 +-
.../data/repository/SellsRepository.kt | 4 +-
.../ui/profile/mystore/MyStoreActivity.kt | 7 +
.../mystore/sells/DetailSellsActivity.kt | 129 ++++++
.../ui/profile/mystore/sells/SellsAdapter.kt | 7 +-
.../mystore/sells/SellsListFragment.kt | 17 +-
.../mystore/sells/SellsProductAdapter.kt | 14 +-
.../sells/payment/DetailPaymentActivity.kt | 4 +-
.../sells/shipment/DetailShipmentActivity.kt | 2 +-
.../utils/viewmodel/SellsViewModel.kt | 4 +-
.../res/layout/activity_detail_payment.xml | 12 +-
.../main/res/layout/activity_detail_sells.xml | 395 ++++++++++++++++++
.../res/layout/activity_detail_shipment.xml | 12 +-
app/src/main/res/layout/item_sells.xml | 12 +-
21 files changed, 722 insertions(+), 52 deletions(-)
rename app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/{orders => sells}/AddShippingReceiptResponse.kt (70%)
rename app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/{orders => sells}/KonfirmasiTagihanResponse.kt (85%)
create mode 100644 app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/OrderDetailResponse.kt
rename app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/{orders => sells}/OrderListResponse.kt (98%)
rename app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/{orders => sells}/PaymentConfirmationResponse.kt (69%)
rename app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/{orders => sells}/UpdateOrderItemResponse.kt (89%)
create mode 100644 app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/DetailSellsActivity.kt
create mode 100644 app/src/main/res/layout/activity_detail_sells.xml
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cedc9c4..1704677 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -29,6 +29,9 @@
android:theme="@style/Theme.Ecommerce_serang"
android:usesCleartextTraffic="true"
tools:targetApi="31">
+
@@ -54,19 +57,12 @@
-
-
? = null,
+
+ @field:SerializedName("auto_completed_at")
+ val autoCompletedAt: Any? = null,
+
+ @field:SerializedName("is_store_location")
+ val isStoreLocation: Boolean? = null,
+
+ @field:SerializedName("qris_image")
+ val qrisImage: String? = null,
+
+ @field:SerializedName("voucher_name")
+ val voucherName: Any? = null,
+
+ @field:SerializedName("payment_status")
+ val paymentStatus: Any? = null,
+
+ @field:SerializedName("address_id")
+ val addressId: Int? = null,
+
+ @field:SerializedName("payment_amount")
+ val paymentAmount: Any? = null,
+
+ @field:SerializedName("cancel_reason")
+ val cancelReason: Any? = null,
+
+ @field:SerializedName("total_amount")
+ val totalAmount: String? = null,
+
+ @field:SerializedName("user_id")
+ val userId: Int? = null,
+
+ @field:SerializedName("province_id")
+ val provinceId: Int? = null,
+
+ @field:SerializedName("courier")
+ val courier: String? = null,
+
+ @field:SerializedName("subdistrict")
+ val subdistrict: String? = null,
+
+ @field:SerializedName("service")
+ val service: String? = null,
+
+ @field:SerializedName("pay_info_num")
+ val payInfoNum: String? = null,
+
+ @field:SerializedName("shipment_price")
+ val shipmentPrice: String? = null,
+
+ @field:SerializedName("voucher_id")
+ val voucherId: Any? = null,
+
+ @field:SerializedName("payment_info_id")
+ val paymentInfoId: Int? = null,
+
+ @field:SerializedName("detail")
+ val detail: String? = null,
+
+ @field:SerializedName("postal_code")
+ val postalCode: String? = null,
+
+ @field:SerializedName("order_id")
+ val orderId: Int? = null,
+
+ @field:SerializedName("username")
+ val username: String? = null,
+
+ @field:SerializedName("city_id")
+ val cityId: Int? = null
+)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/OrderListResponse.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/OrderListResponse.kt
similarity index 98%
rename from app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/OrderListResponse.kt
rename to app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/OrderListResponse.kt
index d981252..8c58937 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/OrderListResponse.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/OrderListResponse.kt
@@ -1,4 +1,4 @@
-package com.alya.ecommerce_serang.data.api.response.store.orders
+package com.alya.ecommerce_serang.data.api.response.store.sells
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/PaymentConfirmationResponse.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/PaymentConfirmationResponse.kt
similarity index 69%
rename from app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/PaymentConfirmationResponse.kt
rename to app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/PaymentConfirmationResponse.kt
index 8f9156a..2a06288 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/PaymentConfirmationResponse.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/PaymentConfirmationResponse.kt
@@ -1,4 +1,4 @@
-package com.alya.ecommerce_serang.data.api.response.store.orders
+package com.alya.ecommerce_serang.data.api.response.store.sells
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/UpdateOrderItemResponse.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/UpdateOrderItemResponse.kt
similarity index 89%
rename from app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/UpdateOrderItemResponse.kt
rename to app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/UpdateOrderItemResponse.kt
index f56b81b..0f736f4 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/orders/UpdateOrderItemResponse.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/store/sells/UpdateOrderItemResponse.kt
@@ -1,4 +1,4 @@
-package com.alya.ecommerce_serang.data.api.response.store.orders
+package com.alya.ecommerce_serang.data.api.response.store.sells
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
index 17784e6..8ef69e7 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
@@ -66,7 +66,7 @@ import com.alya.ecommerce_serang.data.api.response.order.ComplaintResponse
import com.alya.ecommerce_serang.data.api.response.order.CompletedOrderResponse
import com.alya.ecommerce_serang.data.api.response.product.CreateSearchResponse
import com.alya.ecommerce_serang.data.api.response.product.SearchHistoryResponse
-import com.alya.ecommerce_serang.data.api.response.store.orders.PaymentConfirmationResponse
+import com.alya.ecommerce_serang.data.api.response.store.sells.PaymentConfirmationResponse
import com.alya.ecommerce_serang.data.api.response.store.product.CreateProductResponse
import com.alya.ecommerce_serang.data.api.response.store.product.DeleteProductResponse
import com.alya.ecommerce_serang.data.api.response.store.product.UpdateProductResponse
@@ -325,7 +325,7 @@ interface ApiService {
@GET("mystore/orders/{status}")
suspend fun getSellList(
@Path("status") status: String
- ): Response
+ ): Response
@PUT("store/order/update")
suspend fun confirmOrder(
@@ -336,7 +336,7 @@ interface ApiService {
suspend fun updateOrder(
@Query("order_id") orderId: Int?,
@Query("status") status: String
- ): Response
+ ): Response
@Multipart
@POST("addcomplaint")
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/repository/SellsRepository.kt b/app/src/main/java/com/alya/ecommerce_serang/data/repository/SellsRepository.kt
index 3e991d5..076e6e5 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/repository/SellsRepository.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/repository/SellsRepository.kt
@@ -2,8 +2,8 @@ package com.alya.ecommerce_serang.data.repository
import android.util.Log
import com.alya.ecommerce_serang.data.api.dto.PaymentConfirmRequest
-import com.alya.ecommerce_serang.data.api.response.store.orders.OrderListResponse
-import com.alya.ecommerce_serang.data.api.response.store.orders.PaymentConfirmationResponse
+import com.alya.ecommerce_serang.data.api.response.store.sells.OrderListResponse
+import com.alya.ecommerce_serang.data.api.response.store.sells.PaymentConfirmationResponse
import com.alya.ecommerce_serang.data.api.retrofit.ApiService
class SellsRepository(private val apiService: ApiService) {
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt
index d76b9b0..a1d78b1 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt
@@ -48,6 +48,13 @@ class MyStoreActivity : AppCompatActivity() {
enableEdgeToEdge()
+ binding.header.headerTitle.text = "Toko Saya"
+
+ binding.header.headerLeftIcon.setOnClickListener {
+ onBackPressed()
+ finish()
+ }
+
viewModel.loadMyStore()
viewModel.myStoreProfile.observe(this){ user ->
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/DetailSellsActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/DetailSellsActivity.kt
new file mode 100644
index 0000000..87cdd04
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/DetailSellsActivity.kt
@@ -0,0 +1,129 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.sells
+
+import android.os.Bundle
+import android.util.Log
+import androidx.activity.viewModels
+import androidx.appcompat.app.AppCompatActivity
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.alya.ecommerce_serang.data.api.response.store.sells.Orders
+import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
+import com.alya.ecommerce_serang.data.repository.SellsRepository
+import com.alya.ecommerce_serang.databinding.ActivityDetailSellsBinding
+import com.alya.ecommerce_serang.utils.BaseViewModelFactory
+import com.alya.ecommerce_serang.utils.SessionManager
+import com.alya.ecommerce_serang.utils.viewmodel.SellsViewModel
+import com.google.gson.Gson
+import java.text.SimpleDateFormat
+import java.util.Calendar
+import java.util.Locale
+import java.util.TimeZone
+import kotlin.getValue
+
+class DetailSellsActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityDetailSellsBinding
+ private lateinit var sessionManager: SessionManager
+
+ private var sells: Orders? = null
+ private lateinit var productAdapter: SellsProductAdapter
+
+ private val viewModel: SellsViewModel by viewModels {
+ BaseViewModelFactory {
+ val apiService = ApiConfig.getApiService(sessionManager)
+ val sellsRepository = SellsRepository(apiService)
+ SellsViewModel(sellsRepository)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityDetailSellsBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+ binding.header.headerTitle.text = "Detail Pesanan"
+ binding.header.headerLeftIcon.setOnClickListener {
+ onBackPressed()
+ finish()
+ }
+
+ productAdapter = SellsProductAdapter()
+ binding.rvProductItems.apply {
+ adapter = productAdapter
+ layoutManager = LinearLayoutManager(this@DetailSellsActivity)
+ }
+
+ val sellsJson = intent.getStringExtra("sells")
+ if (sellsJson != null) {
+ try {
+ sells = Gson().fromJson(sellsJson, Orders::class.java)
+ showOrderDetails()
+ } catch (e: Exception) {
+ Log.e("DetailSellsActivity", "Failed to parse order data", e)
+ }
+ } else {
+ Log.e("DetailSellsActivity", "Order data is missing")
+ }
+ }
+
+ private fun showOrderDetails() {
+ sells?.let { sell ->
+ when (sell.orderStatus) {
+ "pending", "unpaid" -> {
+ binding.tvOrderSellsTitle.text = "Pesanan Belum Dibayar"
+ }
+ "shipped" -> {
+ binding.tvOrderSellsTitle.text = "Pesanan Telah Dikirim"
+ }
+ "delivered" -> {
+ binding.tvOrderSellsTitle.text = "Pesanan Telah Sampai"
+ }
+ "completed" -> {
+ binding.tvOrderSellsTitle.text = "Pesanan Selesai"
+ }
+ "canceled" -> {
+ binding.tvOrderSellsTitle.text = "Pesanan Dibatalkan"
+ }
+ }
+
+ binding.tvOrderNumber.text = sell.orderId.toString()
+ binding.tvOrderCustomer.text = sell.username
+ binding.tvOrderDate.text = formatDate(sell.updatedAt.toString())
+ binding.tvOrderTotalProduct.text = "(${sell.orderItems?.size} Barang)"
+ binding.tvOrderSubtotal.text = formatPrice(sell.totalAmount.toString())
+ binding.tvOrderShipPrice.text = formatPrice(sell.shipmentPrice.toString())
+ binding.tvOrderPrice.text = formatPrice(sell.totalAmount.toString())
+ binding.tvOrderRecipient.text = sell.username
+ binding.tvOrderRecipientNum.text = sell.receiptNum.toString()
+
+ sell.orderItems?.let {
+ productAdapter.submitList(it.filterNotNull())
+ }
+ }
+ }
+
+ private fun formatDate(dateString: String): String {
+ return try {
+ val inputFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault())
+ inputFormat.timeZone = TimeZone.getTimeZone("UTC")
+
+ val outputFormat = SimpleDateFormat("dd MMM yyyy, HH.mm", Locale("id", "ID"))
+
+ val date = inputFormat.parse(dateString)
+
+ date?.let {
+ val calendar = Calendar.getInstance()
+ calendar.time = it
+
+ outputFormat.format(calendar.time)
+ } ?: dateString
+ } catch (e: Exception) {
+ Log.e("DateFormatting", "Error formatting date: ${e.message}")
+ dateString
+ }
+ }
+
+ private fun formatPrice(price: String): String {
+ val priceDouble = price.toDoubleOrNull() ?: 0.0
+ val formattedPrice = String.format(Locale("id", "ID"), "Rp%,.0f", priceDouble)
+ return formattedPrice
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt
index 181f0e5..4fadaab 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsAdapter.kt
@@ -11,12 +11,11 @@ import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.alya.ecommerce_serang.BuildConfig.BASE_URL
import com.alya.ecommerce_serang.R
-import com.alya.ecommerce_serang.data.api.response.store.orders.OrdersItem
+import com.alya.ecommerce_serang.data.api.response.store.sells.OrdersItem
import com.alya.ecommerce_serang.ui.profile.mystore.sells.payment.DetailPaymentActivity
import com.alya.ecommerce_serang.ui.profile.mystore.sells.shipment.DetailShipmentActivity
import com.alya.ecommerce_serang.utils.viewmodel.SellsViewModel
import com.bumptech.glide.Glide
-import com.google.android.material.button.MaterialButton
import com.google.gson.Gson
import java.text.SimpleDateFormat
import java.util.Calendar
@@ -67,9 +66,9 @@ class SellsAdapter(
private val layoutPayments: View = itemView.findViewById(R.id.layout_payments)
private val layoutShipments: View = itemView.findViewById(R.id.layout_shipments)
- private var tvSellsTitle: TextView = itemView.findViewById(R.id.tv_payment_title)
+ private var tvSellsTitle: TextView = itemView.findViewById(R.id.tv_order_sells_title)
private var tvSellsNumber: TextView = itemView.findViewById(R.id.tv_payment_number)
- private var tvSellsDueDesc: TextView = itemView.findViewById(R.id.tv_payment_due_desc)
+ private var tvSellsDueDesc: TextView = itemView.findViewById(R.id.tv_order_sells_desc)
private var tvSellsDue: TextView = itemView.findViewById(R.id.tv_payment_due)
private var tvSellsLocation: TextView = itemView.findViewById(R.id.tv_payment_location)
private var tvSellsCustomer: TextView = itemView.findViewById(R.id.tv_payment_customer)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsListFragment.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsListFragment.kt
index a2ae776..5f7ff36 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsListFragment.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsListFragment.kt
@@ -1,5 +1,6 @@
package com.alya.ecommerce_serang.ui.profile.mystore.sells
+import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
@@ -9,15 +10,18 @@ import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
-import com.alya.ecommerce_serang.data.api.response.store.orders.OrdersItem
+import com.alya.ecommerce_serang.data.api.response.store.sells.OrdersItem
import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
import com.alya.ecommerce_serang.data.repository.Result
import com.alya.ecommerce_serang.data.repository.SellsRepository
import com.alya.ecommerce_serang.databinding.FragmentSellsListBinding
import com.alya.ecommerce_serang.ui.order.address.ViewState
+import com.alya.ecommerce_serang.ui.profile.mystore.sells.payment.DetailPaymentActivity
+import com.alya.ecommerce_serang.ui.profile.mystore.sells.shipment.DetailShipmentActivity
import com.alya.ecommerce_serang.utils.BaseViewModelFactory
import com.alya.ecommerce_serang.utils.SessionManager
import com.alya.ecommerce_serang.utils.viewmodel.SellsViewModel
+import com.google.gson.Gson
class SellsListFragment : Fragment() {
@@ -169,9 +173,14 @@ class SellsListFragment : Fragment() {
private fun navigateToSellsDetail(order: OrdersItem) {
Log.d(TAG, "Navigating to sells detail for order: ${order.orderId}")
- // Navigate to order detail from seller's perspective
- // Seller views customer's order details to manage fulfillment
- Toast.makeText(requireContext(), "Customer Order ID: ${order.orderId}", Toast.LENGTH_SHORT).show()
+ val context = requireContext()
+ val intent = when (status) {
+ "paid" -> Intent(context, DetailPaymentActivity::class.java)
+ "processed" -> Intent(context, DetailShipmentActivity::class.java)
+ else -> Intent(context, DetailSellsActivity::class.java)
+ }
+ intent.putExtra("sells_data", Gson().toJson(order))
+ context.startActivity(intent)
}
override fun onDestroyView() {
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsProductAdapter.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsProductAdapter.kt
index 2ece8da..47caa84 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsProductAdapter.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/sells/SellsProductAdapter.kt
@@ -7,8 +7,9 @@ import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.alya.ecommerce_serang.R
-import com.alya.ecommerce_serang.data.api.response.store.orders.OrderItemsItem
+import com.alya.ecommerce_serang.data.api.response.store.sells.OrderItemsItem
import com.bumptech.glide.Glide
+import java.util.Locale
class SellsProductAdapter : RecyclerView.Adapter() {
@@ -30,9 +31,8 @@ class SellsProductAdapter : RecyclerView.Adapter
@@ -191,7 +191,7 @@
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/layout_payment_detail"/>
+ app:layout_constraintTop_toBottomOf="@id/layout_sells_detail"/>
diff --git a/app/src/main/res/layout/activity_detail_sells.xml b/app/src/main/res/layout/activity_detail_sells.xml
new file mode 100644
index 0000000..2b5e0da
--- /dev/null
+++ b/app/src/main/res/layout/activity_detail_sells.xml
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_detail_shipment.xml b/app/src/main/res/layout/activity_detail_shipment.xml
index 23be8bb..25f8710 100644
--- a/app/src/main/res/layout/activity_detail_shipment.xml
+++ b/app/src/main/res/layout/activity_detail_shipment.xml
@@ -40,7 +40,7 @@
app:layout_constraintTop_toTopOf="parent"/>
@@ -190,7 +190,7 @@
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/layout_payment_detail"/>
+ app:layout_constraintTop_toBottomOf="@id/layout_sells_detail"/>
diff --git a/app/src/main/res/layout/item_sells.xml b/app/src/main/res/layout/item_sells.xml
index 08ca0f7..0bd9c93 100644
--- a/app/src/main/res/layout/item_sells.xml
+++ b/app/src/main/res/layout/item_sells.xml
@@ -313,7 +313,7 @@
app:layout_constraintTop_toTopOf="parent"/>
@@ -611,7 +611,7 @@
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@id/layout_payment_detail"/>
+ app:layout_constraintTop_toBottomOf="@id/layout_sells_detail"/>