sells store

This commit is contained in:
Gracia Hotmauli
2025-05-21 00:26:00 +07:00
parent 4e4faf25be
commit 4f65b845d6
23 changed files with 2212 additions and 978 deletions

View File

@ -29,6 +29,9 @@
android:theme="@style/Theme.Ecommerce_serang"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".ui.profile.mystore.sells.shipment.ShipmentConfirmationActivity"
android:exported="false" />
<activity
android:name=".ui.profile.mystore.profile.EditStoreProfileActivity"
android:exported="false" />
@ -38,9 +41,6 @@
<activity
android:name=".ui.profile.mystore.sells.payment.DetailPaymentActivity"
android:exported="false" />
<activity
android:name=".ui.profile.mystore.sells.order.DetailOrderActivity"
android:exported="false" />
<activity
android:name=".ui.chat.ChatActivity"
android:exported="false" /> <!-- <provider -->
@ -52,9 +52,10 @@
android:enabled="true"
android:exported="false"
android:foregroundServiceType="dataSync" />
<activity
android:name=".ui.profile.mystore.profile.shipping_service.ShippingServiceActivity"
android:exported="false"/>
android:exported="false" />
<activity
android:name=".ui.notif.NotificationActivity"
android:exported="false" />

View File

@ -109,7 +109,6 @@ class DetailStoreProductActivity : AppCompatActivity() {
// Setup Pre-Order visibility
binding.switchIsPreOrder.setOnCheckedChangeListener { _, isChecked ->
binding.layoutDurasi.visibility = if (isChecked) View.VISIBLE else View.GONE
validateForm()
}
validateForm()
@ -176,7 +175,10 @@ class DetailStoreProductActivity : AppCompatActivity() {
binding.edtStokProduk.setText(product?.stock.toString())
binding.edtMinOrder.setText(product?.minOrder.toString())
binding.edtBeratProduk.setText(product?.weight.toString())
binding.switchIsPreOrder.isChecked = product?.isPreOrder ?: false
binding.switchIsPreOrder.isChecked = product?.isPreOrder == false
// binding.switchIsWholesale.isChecked = product?.isWholesale == false
// binding.edtMinPesanGrosir.setText(product?.minOrderWholesale.toString())
// binding.edtHargaGrosir.setText(product?.priceWholesale.toString())
binding.switchIsActive.isChecked = product?.status == "active"
binding.spinnerKondisiProduk.setSelection(if (product?.condition == "Baru") 0 else 1)
@ -267,6 +269,9 @@ class DetailStoreProductActivity : AppCompatActivity() {
val weight = binding.edtBeratProduk.text.toString().toInt()
val isPreOrder = binding.switchIsPreOrder.isChecked
val duration = if (isPreOrder) binding.edtDurasi.text.toString().toInt() else 0
val isWholesale = binding.switchIsWholesale.isChecked
val minOrderWholesale = binding.edtMinPesanGrosir.text.toString().toInt()
val priceWholesale = binding.edtHargaGrosir.text.toString().toInt()
val status = if (binding.switchIsActive.isChecked) "active" else "inactive"
val condition = binding.spinnerKondisiProduk.selectedItem.toString()
val categoryId = categoryList.getOrNull(binding.spinnerKategoriProduk.selectedItemPosition)?.id ?: 0

View File

@ -3,6 +3,7 @@ package com.alya.ecommerce_serang.ui.profile.mystore.sells
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.activity.viewModels
import androidx.fragment.app.commit
import com.alya.ecommerce_serang.R
import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
import com.alya.ecommerce_serang.data.repository.SellsRepository
@ -33,9 +34,9 @@ class SellsActivity : AppCompatActivity() {
setupHeader()
if (savedInstanceState == null) {
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container_sells, SellsFragment())
.commit()
supportFragmentManager.commit {
replace(R.id.fragment_container_sells, SellsFragment())
}
}
}

View File

@ -1,5 +1,6 @@
package com.alya.ecommerce_serang.ui.profile.mystore.sells
import android.content.Intent
import android.util.Log
import android.view.LayoutInflater
import android.view.View
@ -10,8 +11,11 @@ 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.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.gson.Gson
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Locale
@ -35,17 +39,8 @@ class SellsAdapter(
notifyDataSetChanged()
}
fun findResource(status: String): Int {
return when (status) {
"pending" -> R.layout.item_sells_order
"paid" -> R.layout.item_sells_payment
"processed" -> R.layout.item_sells_shipment
else -> R.layout.item_sells_payment
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SellsViewHolder {
val view = LayoutInflater.from(parent.context).inflate(findResource(fragmentStatus), parent, false)
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_sells, parent, false)
return SellsViewHolder(view)
}
@ -56,21 +51,23 @@ class SellsAdapter(
override fun getItemCount(): Int = sells.size
inner class SellsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val tvSellsTitle: TextView = itemView.findViewById(R.id.tv_sells_title)
private val tvSellsNumber: TextView = itemView.findViewById(R.id.tv_sells_number)
private val tvSellsDueDesc: TextView = itemView.findViewById(R.id.tv_sells_due_desc)
private val tvSellsDue: TextView = itemView.findViewById(R.id.tv_sells_due)
private val tvSellsLocation: TextView = itemView.findViewById(R.id.tv_sells_location)
private val tvSellsCustomer: TextView = itemView.findViewById(R.id.tv_sells_customer)
private val ivSellsProduct: ImageView = itemView.findViewById(R.id.iv_sells_product)
private val tvSellsProductName: TextView = itemView.findViewById(R.id.tv_sells_product_name)
private val tvSellsProductQty: TextView = itemView.findViewById(R.id.tv_sells_product_qty)
private val tvSellsProductPrice: TextView = itemView.findViewById(R.id.tv_sells_product_price)
private val tvSeeMore: TextView = itemView.findViewById(R.id.tv_see_more)
private val tvSellsQty: TextView = itemView.findViewById(R.id.tv_sells_qty)
private val tvSellsPrice: TextView = itemView.findViewById(R.id.tv_sells_price)
private val btnEditOrder: Button = itemView.findViewById(R.id.btn_edit_order)
private val btnConfirmOrder: Button = itemView.findViewById(R.id.btn_confirm_order)
private val layoutOrders: View = itemView.findViewById(R.id.layout_orders)
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 tvSellsNumber: TextView = itemView.findViewById(R.id.tv_payment_number)
private var tvSellsDueDesc: TextView = itemView.findViewById(R.id.tv_payment_due_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)
private var ivSellsProduct: ImageView = itemView.findViewById(R.id.iv_payment_product)
private var tvSellsProductName: TextView = itemView.findViewById(R.id.tv_payment_product_name)
private var tvSellsProductQty: TextView = itemView.findViewById(R.id.tv_payment_product_qty)
private var tvSellsProductPrice: TextView = itemView.findViewById(R.id.tv_payment_product_price)
private var tvSeeMore: TextView = itemView.findViewById(R.id.tv_see_more_payment)
private var tvSellsQty: TextView = itemView.findViewById(R.id.tv_payment_qty)
private var tvSellsPrice: TextView = itemView.findViewById(R.id.tv_payment_price)
private val btnConfirmPayment: Button = itemView.findViewById(R.id.btn_confirm_payment)
private val btnConfirmShipment: Button = itemView.findViewById(R.id.btn_confirm_shipment)
@ -111,51 +108,103 @@ class SellsAdapter(
Log.d("SellsAdapter", "Adjusting display for status: $status")
when (status) {
"pending" -> {
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 3)
btnEditOrder.setOnClickListener {
TODO("Go to DetailOrderActivity")
}
btnConfirmOrder.setOnClickListener {
viewModel.updateOrderStatus(sells.orderId, "unpaid")
}
"unpaid" -> {
layoutOrders.visibility = View.VISIBLE
layoutPayments.visibility = View.GONE
layoutShipments.visibility = View.GONE
tvSellsTitle = itemView.findViewById(R.id.tv_order_title)
tvSellsNumber = itemView.findViewById(R.id.tv_order_number)
tvSellsDue = itemView.findViewById(R.id.tv_order_due)
tvSellsCustomer = itemView.findViewById(R.id.tv_order_customer)
tvSellsProductName = itemView.findViewById(R.id.tv_order_product_name)
tvSellsProductQty = itemView.findViewById(R.id.tv_order_product_qty)
tvSellsProductPrice = itemView.findViewById(R.id.tv_order_product_price)
tvSeeMore = itemView.findViewById(R.id.tv_see_more_order)
tvSellsQty = itemView.findViewById(R.id.tv_order_qty)
tvSellsPrice = itemView.findViewById(R.id.tv_order_price)
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 1)
}
"paid" -> {
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 1)
layoutOrders.visibility = View.GONE
layoutPayments.visibility = View.VISIBLE
layoutShipments.visibility = View.GONE
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 2)
btnConfirmPayment.setOnClickListener {
TODO("Go to DetailPaymentActivity")
val context = itemView.context
val intent = Intent(context, DetailPaymentActivity::class.java)
intent.putExtra("sells_data", Gson().toJson(sells))
context.startActivity(intent)
}
}
"processed" -> {
layoutOrders.visibility = View.GONE
layoutPayments.visibility = View.GONE
layoutShipments.visibility = View.VISIBLE
tvSellsTitle = itemView.findViewById(R.id.tv_shipment_title)
tvSellsNumber = itemView.findViewById(R.id.tv_shipment_number)
tvSellsDue = itemView.findViewById(R.id.tv_shipment_due)
tvSellsLocation = itemView.findViewById(R.id.tv_shipment_location)
tvSellsCustomer = itemView.findViewById(R.id.tv_shipment_customer)
tvSellsProductName = itemView.findViewById(R.id.tv_shipment_product_name)
tvSellsProductQty = itemView.findViewById(R.id.tv_shipment_product_qty)
tvSeeMore = itemView.findViewById(R.id.tv_see_more_shipment)
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 2)
btnConfirmShipment.setOnClickListener {
TODO("Go to DetailShipmentActivity")
val context = itemView.context
val intent = Intent(context, DetailShipmentActivity::class.java)
intent.putExtra("sells_data", Gson().toJson(sells))
context.startActivity(intent)
}
}
"shipped" -> {
layoutOrders.visibility = View.GONE
layoutPayments.visibility = View.VISIBLE
layoutShipments.visibility = View.GONE
tvSellsTitle.text = "Pesanan Telah Dikirim"
tvSellsDueDesc.text = "Dikirimkan pada"
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 0)
tvSellsDue.background = itemView.context.getDrawable(R.drawable.bg_product_inactive)
btnConfirmPayment.visibility = View.GONE
}
"delivered" -> {
layoutOrders.visibility = View.GONE
layoutPayments.visibility = View.VISIBLE
layoutShipments.visibility = View.GONE
tvSellsTitle.text = "Pesanan Telah Dikirim"
tvSellsDueDesc.text = "Dikirimkan pada"
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 0)
tvSellsDue.background = itemView.context.getDrawable(R.drawable.bg_product_inactive)
btnConfirmPayment.visibility = View.GONE
}
"completed" -> {
layoutOrders.visibility = View.GONE
layoutPayments.visibility = View.VISIBLE
layoutShipments.visibility = View.GONE
tvSellsTitle.text = "Pesanan Selesai"
tvSellsDueDesc.text = "Selesai pada"
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 0)
tvSellsDue.background = itemView.context.getDrawable(R.drawable.bg_product_inactive)
btnConfirmPayment.visibility = View.GONE
}
"canceled" -> {
layoutOrders.visibility = View.GONE
layoutPayments.visibility = View.VISIBLE
layoutShipments.visibility = View.GONE
tvSellsTitle.text = "Pesanan Dibatalkan"
tvSellsDueDesc.text = "Dibatalkan pada"
tvSellsDue.text = formatDueDate(sells.updatedAt.toString(), 0)
tvSellsDue.background = itemView.context.getDrawable(R.drawable.bg_product_inactive)
btnConfirmPayment.visibility = View.GONE

View File

@ -35,14 +35,13 @@ class SellsFragment : Fragment() {
val tabs = listOf(
"Semua Pesanan",
"Perlu Tagihan",
"Pesanan Masuk",
"Konfirmasi Pembayaran",
"Perlu Dikirim",
"Dikirim",
"Selesai",
"Pembatalan",
"Klaim Pembayaran",
"Pengiriman Gagal"
"Klaim Pembayaran"
)
TabLayoutMediator(binding.tabLayoutSells, binding.viewPagerSells) { tab, position ->

View File

@ -0,0 +1,48 @@
package com.alya.ecommerce_serang.ui.profile.mystore.sells
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
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.bumptech.glide.Glide
class SellsProductAdapter(
private val items: List<OrderItemsItem?>
) : RecyclerView.Adapter<SellsProductAdapter.ProductViewHolder>() {
inner class ProductViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val ivProduct: ImageView = view.findViewById(R.id.iv_order_product)
val tvName: TextView = view.findViewById(R.id.tv_order_product_name)
val tvQty: TextView = view.findViewById(R.id.tv_order_product_qty)
val tvPrice: TextView = view.findViewById(R.id.tv_order_product_price)
val tvTotal: TextView = view.findViewById(R.id.tv_order_product_total_price)
fun bind(item: OrderItemsItem) {
tvName.text = item.productName
tvQty.text = "${item.quantity} x "
tvPrice.text = "Rp${item.price}"
val total = (item.quantity ?: 1) * (item.price ?: 0)
tvTotal.text = "Rp$total"
Glide.with(ivProduct.context)
.load(item.productImage)
.placeholder(R.drawable.placeholder_image)
.into(ivProduct)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProductViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_sells_product, parent, false)
return ProductViewHolder(view)
}
override fun getItemCount(): Int = items.size
override fun onBindViewHolder(holder: ProductViewHolder, position: Int) {
items[position]?.let { holder.bind(it) }
}
}

View File

@ -9,14 +9,13 @@ class SellsViewPagerAdapter(fragmentActivity: FragmentActivity)
private val sellsStatuses = listOf(
"all", // Semua Pesanan
"pending", // Perlu Tagihan
"unpaid", // Pesanan Masuk
"processed", // Konfirmasi Pembayaran
"paid", // Perlu Dikirim
"shipped", // Dikirim
"delivered", // Dikirim
"completed", // Selesai
"canceled", // Dibatalkan
TODO("Klaim Pembayaran dan Pengajuan Komplain belum ada statusnya")
"payment_onhold"
)
override fun getItemCount(): Int = sellsStatuses.size

View File

@ -1,21 +1,65 @@
package com.alya.ecommerce_serang.ui.profile.mystore.sells.payment
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.alya.ecommerce_serang.R
import androidx.recyclerview.widget.LinearLayoutManager
import com.alya.ecommerce_serang.data.api.response.store.orders.OrdersItem
import com.alya.ecommerce_serang.databinding.ActivityDetailPaymentBinding
import com.alya.ecommerce_serang.ui.profile.mystore.sells.SellsProductAdapter
import com.google.gson.Gson
import java.text.SimpleDateFormat
import java.util.Locale
import java.util.TimeZone
class DetailPaymentActivity : AppCompatActivity() {
private lateinit var binding: ActivityDetailPaymentBinding
private lateinit var sells: OrdersItem
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_detail_payment)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
binding = ActivityDetailPaymentBinding.inflate(layoutInflater)
setContentView(binding.root)
val orderJson = intent.getStringExtra("sells_data")
sells = Gson().fromJson(orderJson, OrdersItem::class.java)
bindOrderDetails()
setupRecyclerView()
}
private fun bindOrderDetails() = with(binding) {
tvOrderNumber.text = sells.orderId.toString()
tvOrderCustomer.text = sells.username
tvOrderDate.text = formatDate(sells.createdAt)
tvOrderDue.text = formatDate(sells.updatedAt)
tvOrderTotalProduct.text = "(${sells.orderItems?.size ?: 0} Barang)"
tvOrderSubtotal.text = "Rp${sells.totalAmount}"
tvOrderPrice.text = "Rp${sells.totalAmount}"
tvOrderShipPrice.text = "Rp${sells.shipmentPrice}"
tvOrderRecipient.text = sells.username
// tvOrderRecipientNum.text = sells.phone
tvOrderRecipientAddress.text = sells.street
}
private fun setupRecyclerView() {
binding.rvProductItems.apply {
layoutManager = LinearLayoutManager(this@DetailPaymentActivity)
adapter = SellsProductAdapter(sells.orderItems ?: emptyList())
}
}
private fun formatDate(dateStr: 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(dateStr ?: "")
outputFormat.format(date!!)
} catch (e: Exception) {
"-"
}
}
}

View File

@ -1,21 +1,65 @@
package com.alya.ecommerce_serang.ui.profile.mystore.sells.shipment
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.alya.ecommerce_serang.R
import androidx.recyclerview.widget.LinearLayoutManager
import com.alya.ecommerce_serang.data.api.response.store.orders.OrdersItem
import com.alya.ecommerce_serang.databinding.ActivityDetailShipmentBinding
import com.alya.ecommerce_serang.ui.profile.mystore.sells.SellsProductAdapter
import com.google.gson.Gson
import java.text.SimpleDateFormat
import java.util.Locale
import java.util.TimeZone
class DetailShipmentActivity : AppCompatActivity() {
private lateinit var binding: ActivityDetailShipmentBinding
private lateinit var sells: OrdersItem
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_detail_shipment)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
binding = ActivityDetailShipmentBinding.inflate(layoutInflater)
setContentView(binding.root)
val orderJson = intent.getStringExtra("order_data")
sells = Gson().fromJson(orderJson, OrdersItem::class.java)
bindOrderDetails()
setupRecyclerView()
}
private fun bindOrderDetails() = with(binding) {
tvOrderNumber.text = sells.orderId.toString()
tvOrderCustomer.text = sells.username
tvOrderDate.text = formatDate(sells.createdAt)
tvOrderDue.text = formatDate(sells.updatedAt)
tvOrderTotalProduct.text = "(${sells.orderItems?.size ?: 0} Barang)"
tvOrderSubtotal.text = "Rp${sells.totalAmount}"
tvOrderPrice.text = "Rp${sells.totalAmount}"
tvOrderShipPrice.text = "Rp${sells.shipmentPrice}"
tvOrderRecipient.text = sells.username
// tvOrderRecipientNum.text = sells.phone
tvOrderRecipientAddress.text = sells.street
}
private fun setupRecyclerView() {
binding.rvProductItems.apply {
layoutManager = LinearLayoutManager(this@DetailShipmentActivity)
adapter = SellsProductAdapter(sells.orderItems ?: emptyList())
}
}
private fun formatDate(dateStr: 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(dateStr ?: "")
outputFormat.format(date!!)
} catch (e: Exception) {
"-"
}
}
}

View File

@ -1,4 +1,4 @@
package com.alya.ecommerce_serang.ui.profile.mystore.sells.order
package com.alya.ecommerce_serang.ui.profile.mystore.sells.shipment
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
@ -7,11 +7,11 @@ import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.alya.ecommerce_serang.R
class DetailOrderActivity : AppCompatActivity() {
class ShipmentConfirmationActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_detail_order)
setContentView(R.layout.activity_shipment_confirmation)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.profile.mystore.sells.order.DetailOrderActivity">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,9 +1,424 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
tools:context=".ui.profile.mystore.sells.payment.DetailPaymentActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
<include
android:id="@+id/header"
layout="@layout/header" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp">
<!-- Payment Header -->
<View
android:id="@+id/shape_payment_order_title"
android:layout_width="4dp"
android:layout_height="10dp"
android:layout_marginTop="3dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<RelativeLayout
android:id="@+id/layout_payment_order_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_payment_order_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">
<TextView
android:id="@+id/tv_payment_title"
style="@style/label_large_prominent"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Telah Dibayar"/>
<TextView
android:id="@+id/tv_payment_due_desc"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:focusable="true"
android:maxLines="1"
style="@style/label_small"
android:fontFamily="@font/dmsans_bold"
android:layout_alignParentEnd="true"
android:textAlignment="textEnd"
android:text="Lihat Bukti Pembayaran"
android:textColor="@color/blue_500"
android:clickable="true"
android:layout_marginEnd="16dp"/>
</RelativeLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_payment_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_payment_order_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="7.5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No. Pesanan"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="123456789"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Pembeli"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_customer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Gracie"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tanggal Pembelian"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="9 Okt 2024, 17.00 WIB"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pembayaran Otomatis Diterima"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_payment_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="14dp"
android:paddingHorizontal="16dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Detail Produk"
style="@style/label_large_prominent"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_product_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
tools:listitem="@layout/item_sells_product"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total Harga "
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_total_product"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3 Barang)"
style="@style/label_small"/>
</LinearLayout>
<TextView
android:id="@+id/tv_order_subtotal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Rp500.000"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ongkos Kirim"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_ship_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Rp10.000"
style="@style/label_small"/>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginVertical="16dp"
android:background="@color/black_50"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="@id/shape_payment_order_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">
<TextView
style="@style/label_large_prominent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Total Tagihan"/>
<TextView
android:id="@+id/tv_order_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_large_prominent"
android:layout_alignParentEnd="true"
android:text="Rp510.000"
android:textColor="@color/blue_500"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:layout_marginBottom="18dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Alamat Pengiriman"
android:layout_marginVertical="14dp"
style="@style/label_large_prominent"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Penerima"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_recipient"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Gracie"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No. Telepon"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_recipient_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="081234567890"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alamat"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_recipient_address"
android:layout_width="223dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:textAlignment="textEnd"
android:text="Jl. Merdeka No. 45, Kecamatan Lebak Wangi, Kabupaten Serang, Banten"
style="@style/label_small"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"/>
</LinearLayout>
</ScrollView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="horizontal"
android:gravity="bottom">
<Button
android:id="@+id/btn_hold_payment"
style="@style/button.large.secondary.medium"
android:text="Tahan Konfirmasi"/>
<Button
android:id="@+id/btn_confirm_payment"
style="@style/button.large.active.medium"
android:text="Konfirmasi Terima"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>

View File

@ -1,9 +1,419 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
tools:context=".ui.profile.mystore.sells.shipment.DetailShipmentActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
<include
android:id="@+id/header"
layout="@layout/header" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="16dp">
<!-- Payment Header -->
<View
android:id="@+id/shape_payment_order_title"
android:layout_width="4dp"
android:layout_height="10dp"
android:layout_marginTop="3dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<RelativeLayout
android:id="@+id/layout_payment_order_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_payment_order_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">
<TextView
android:id="@+id/tv_payment_title"
style="@style/label_large_prominent"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Perlu Dikirim"/>
<TextView
android:id="@+id/tv_payment_due_desc"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:focusable="true"
android:maxLines="1"
style="@style/label_small"
android:fontFamily="@font/dmsans_bold"
android:layout_alignParentEnd="true"
android:text="Lihat Detail"
android:textAlignment="textEnd"
android:textColor="@color/blue_500"
android:clickable="true"
android:layout_marginEnd="16dp"/>
</RelativeLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_payment_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_payment_order_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="7.5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No. Pesanan"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="123456789"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Pembeli"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_customer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Gracie"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tanggal Pembelian"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="9 Okt 2024, 17.00 WIB"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kirim Sebelum"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_payment_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="14dp"
android:paddingHorizontal="16dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Detail Produk"
style="@style/label_large_prominent"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_product_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
tools:listitem="@layout/item_sells_product"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total Harga "
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_total_product"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(3 Barang)"
style="@style/label_small"/>
</LinearLayout>
<TextView
android:id="@+id/tv_order_subtotal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Rp500.000"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ongkos Kirim"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_ship_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Rp10.000"
style="@style/label_small"/>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginVertical="16dp"
android:background="@color/black_50"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="@id/shape_payment_order_title"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:gravity="center">
<TextView
style="@style/label_large_prominent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Total Tagihan"/>
<TextView
android:id="@+id/tv_order_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_large_prominent"
android:layout_alignParentEnd="true"
android:text="Rp510.000"
android:textColor="@color/blue_500"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:layout_marginBottom="18dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Alamat Pengiriman"
android:layout_marginVertical="14dp"
style="@style/label_large_prominent"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Penerima"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_recipient"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="Gracie"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No. Telepon"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_recipient_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="081234567890"
style="@style/label_small"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alamat"
style="@style/label_small"/>
<TextView
android:id="@+id/tv_order_recipient_address"
android:layout_width="223dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:textAlignment="textEnd"
android:text="Jl. Merdeka No. 45, Kecamatan Lebak Wangi, Kabupaten Serang, Banten"
style="@style/label_small"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"/>
</LinearLayout>
</ScrollView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="horizontal"
android:gravity="bottom">
<Button
android:id="@+id/btn_confirm_payment"
style="@style/button.large.active.long"
android:text="Kirim Pesanan"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>

View File

@ -639,6 +639,145 @@
</LinearLayout>
<!-- Produk Grosir -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="24dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Produk Grosir"
style="@style/body_medium"
android:layout_marginEnd="4dp"/>
<Switch
android:id="@+id/switch_is_wholesale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
tools:ignore="UseSwitchCompatOrMaterialXml" />
</LinearLayout>
</LinearLayout>
<!-- Minimum Pesan Grosir -->
<LinearLayout
android:id="@+id/layout_min_pesan_grosir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:orientation="vertical"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:text="Minimum Pesanan Grosir"
style="@style/body_medium" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_weight="1"
android:text="*"
style="@style/body_medium"
android:textColor="@color/red_required" />
</LinearLayout>
<EditText
android:id="@+id/edt_min_pesan_grosir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/bg_text_field"
android:hint="Isi minimum produk untuk mendapatkan harga grosir di sini"
android:padding="8dp"
style="@style/body_small" />
</LinearLayout>
<!-- Harga grosir produk -->
<LinearLayout
android:id="@+id/layout_harga_grosir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="24dp"
android:visibility="gone">
<!-- Label Harga Grosir -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Harga Grosir"
style="@style/body_medium"
android:layout_marginEnd="4dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
style="@style/body_medium"
android:textColor="@color/red_required"
android:layout_gravity="end"/>
</LinearLayout>
<!-- Input Harga dengan Prefix "Rp" -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_text_field"
android:layout_marginTop="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp"
style="@style/label_medium_prominent"
android:textColor="@color/black_300"
android:padding="8dp" />
<EditText
android:id="@+id/edt_harga_grosir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Isi harga grosir per item produk di sini"
android:inputType="number"
android:padding="8dp"
style="@style/body_small" />
</LinearLayout>
</LinearLayout>
<!-- SPPIRT -->
<LinearLayout
android:layout_width="match_parent"

View File

@ -2,6 +2,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
@ -50,6 +51,6 @@
<androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment_container_sells"
android:layout_width="match_parent"
android:layout_height="0dp" />
android:layout_height="match_parent" />
</LinearLayout>

View File

@ -7,7 +7,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ui.profile.mystore.sells.shipment.ShippingConfirmationActivity">
tools:context=".ui.profile.mystore.sells.shipment.ShipmentConfirmationActivity">
<include
android:id="@+id/header"
@ -72,15 +72,6 @@
style="@style/body_medium"
android:layout_marginEnd="4dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
style="@style/body_medium"
android:textColor="@color/red_required"
android:layout_gravity="end"/>
</LinearLayout>
<!-- Spinner Dropdown dengan Chevron -->
@ -88,7 +79,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_text_field"
android:background="@drawable/bg_text_field_disabled"
android:gravity="center_vertical"
android:layout_marginTop="10dp">
@ -99,7 +90,8 @@
android:layout_weight="1"
android:padding="8dp"
style="@style/body_small"
android:background="@null"/>
android:background="@null"
android:clickable="false"/>
<!-- Chevron Down Icon -->
<ImageView
@ -133,15 +125,6 @@
style="@style/body_medium"
android:layout_marginEnd="4dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
style="@style/body_medium"
android:textColor="@color/red_required"
android:layout_gravity="end"/>
</LinearLayout>
<!-- Spinner Dropdown dengan Chevron -->
@ -149,7 +132,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_text_field"
android:background="@drawable/bg_text_field_disabled"
android:gravity="center_vertical"
android:layout_marginTop="10dp">
@ -160,7 +143,8 @@
android:layout_weight="1"
android:padding="8dp"
style="@style/body_small"
android:background="@null"/>
android:background="@null"
android:clickable="false"/>
<!-- Chevron Down Icon -->
<ImageView

View File

@ -11,7 +11,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_sells_order" />
tools:listitem="@layout/item_sells" />
<TextView
android:id="@+id/tv_empty_state"

View File

@ -0,0 +1,873 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_orders"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<!-- Order Header -->
<View
android:id="@+id/shape_order_title"
android:layout_width="4dp"
android:layout_height="48dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/layout_order_header"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_order_title"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_order_title"
style="@style/label_medium_prominent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Belum Dibayar"/>
<TextView
android:id="@+id/tv_order_number"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/black_300"
android:text="No. Pesanan: 123456789"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_person"/>
<TextView
android:id="@+id/tv_order_customer"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_300"
android:text="Gracia Hotmauli"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
android:layout_marginEnd="16dp"
android:gravity="end">
<TextView
android:layout_width="150dp"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_small"
android:textAlignment="textEnd"
android:text="Batas waktu pembayaran:"
android:textColor="@color/black_300" />
<TextView
android:id="@+id/tv_order_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active" />
</LinearLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_order_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_order_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Product Detail -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_order_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_order_product"
android:layout_width="95dp"
android:layout_height="64dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Order Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_order_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_order_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_order_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
android:gravity="end"
app:layout_constraintStart_toEndOf="@id/iv_order_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_order_product">
<TextView
android:id="@+id/tv_order_product_qty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="x2"
style="@style/label_medium"
android:textColor="@color/black_300"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_order_product_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Rp150.000"
style="@style/label_medium"
android:textAlignment="textEnd"/>
</LinearLayout>
<TextView
android:id="@+id/tv_see_more_order"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:text="Lihat 3 produk lainnya"
android:gravity="center"
style="@style/label_small"
android:fontFamily="@font/dmsans_italic"
android:textColor="@color/black_300"
app:layout_constraintTop_toBottomOf="@id/iv_order_product"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginVertical="8dp"
android:clickable="true"
android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Total Price -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp">
<TextView
android:id="@+id/tv_order_qty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2 produk"
style="@style/label_large"
android:layout_alignParentStart="true"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentEnd="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total:"
style="@style/label_large_prominent"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_order_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp300.000"
style="@style/label_large_prominent"
android:textColor="@color/blue_500"
android:layout_marginStart="5dp"
android:textAlignment="textEnd"/>
</LinearLayout>
</RelativeLayout>
<!-- <View-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="1dp"-->
<!-- android:background="@color/black_50"/>-->
<!-- -->
<!-- &lt;!&ndash; Action Buttons &ndash;&gt;-->
<!-- -->
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="13dp"-->
<!-- android:orientation="horizontal">-->
<!-- -->
<!-- <Button-->
<!-- android:id="@+id/btn_edit_order"-->
<!-- style="@style/button.small.secondary.medium"-->
<!-- android:text="Ubah Tagihan"-->
<!-- android:layout_marginEnd="10dp"/>-->
<!-- -->
<!-- <Button-->
<!-- android:id="@+id/btn_confirm_order"-->
<!-- style="@style/button.small.active.medium"-->
<!-- android:text="Konfirmasi Tagihan" />-->
<!-- -->
<!-- </LinearLayout>-->
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_order_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_payments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<!-- Payment Header -->
<View
android:id="@+id/shape_payment_order_title"
android:layout_width="4dp"
android:layout_height="32dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/layout_payment_order_header"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_payment_order_title"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_payment_title"
style="@style/label_medium_prominent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Telah Dibayar"/>
<TextView
android:id="@+id/tv_payment_number"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/black_300"
android:text="No. Pesanan: 123456789"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
android:layout_marginEnd="16dp"
android:gravity="end">
<TextView
android:id="@+id/tv_payment_due_desc"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_small"
android:textAlignment="textEnd"
android:text="Konfirmasi pembayaran sebelum:"
android:textColor="@color/black_300" />
<TextView
android:id="@+id/tv_payment_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active" />
</LinearLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_payment_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_payment_order_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Product Detail -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_payment_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_payment_product"
android:layout_width="95dp"
android:layout_height="64dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Payment Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_payment_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_payment_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_payment_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
android:gravity="end"
app:layout_constraintStart_toEndOf="@id/iv_payment_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_payment_product">
<TextView
android:id="@+id/tv_payment_product_qty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="x2"
style="@style/label_medium"
android:textColor="@color/black_300"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_payment_product_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Rp150.000"
style="@style/label_medium"
android:textAlignment="textEnd"/>
</LinearLayout>
<TextView
android:id="@+id/tv_see_more_payment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:text="Lihat 3 produk lainnya"
android:gravity="center"
style="@style/label_small"
android:fontFamily="@font/dmsans_italic"
android:textColor="@color/black_300"
app:layout_constraintTop_toBottomOf="@id/iv_payment_product"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginVertical="8dp"
android:clickable="true"
android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Total Price -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp">
<TextView
android:id="@+id/tv_payment_qty"
style="@style/label_large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:text="2 produk" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentEnd="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total:"
style="@style/label_large_prominent"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_payment_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp300.000"
style="@style/label_large_prominent"
android:textColor="@color/blue_500"
android:layout_marginStart="5dp"
android:textAlignment="textEnd"/>
</LinearLayout>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Action Buttons -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="158dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_person"
app:tint="@color/black_500" />
<TextView
android:id="@+id/tv_payment_customer"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Gracia Hotmauli"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_location" />
<TextView
android:id="@+id/tv_payment_location"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Serang"/>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn_confirm_payment"
style="@style/button.small.active.medium"
android:text="Konfirmasi Pembayaran"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_payment_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_shipments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<!-- Shipment Header -->
<View
android:id="@+id/shape_shipment_order_title"
android:layout_width="4dp"
android:layout_height="32dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/layout_shipment_order_header"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_shipment_order_title"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_shipment_title"
style="@style/label_medium_prominent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Perlu Dikirim"/>
<TextView
android:id="@+id/tv_shipment_number"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/black_300"
android:text="No. Pesanan: 123456789"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
android:layout_marginEnd="16dp"
android:gravity="end">
<TextView
android:layout_width="150dp"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_small"
android:textAlignment="textEnd"
android:text="Kirim sebelum:"
android:textColor="@color/black_300" />
<TextView
android:id="@+id/tv_shipment_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active" />
</LinearLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_shipment_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_shipment_order_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Product Detail -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_shipment_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_shipment_product"
android:layout_width="95dp"
android:layout_height="48dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Shipment Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_shipment_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_shipment_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_shipment_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
</LinearLayout>
<TextView
android:id="@+id/tv_shipment_product_qty"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="x2"
style="@style/label_medium"
android:layout_marginStart="13dp"
android:gravity="end"
android:textAlignment="textEnd"
app:layout_constraintStart_toEndOf="@id/iv_shipment_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_shipment_product"/>
<TextView
android:id="@+id/tv_see_more_shipment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:text="Lihat 3 produk lainnya"
android:gravity="center"
style="@style/label_small"
android:fontFamily="@font/dmsans_italic"
android:textColor="@color/black_300"
app:layout_constraintTop_toBottomOf="@id/iv_shipment_product"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginVertical="8dp"
android:clickable="true"
android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Action Buttons -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="158dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_person"
app:tint="@color/black_500" />
<TextView
android:id="@+id/tv_shipment_customer"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Gracia Hotmauli"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_location" />
<TextView
android:id="@+id/tv_shipment_location"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Serang"/>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn_confirm_shipment"
style="@style/button.small.active.medium"
android:text="Kirim Pesanan"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_shipment_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@ -1,292 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<!-- Order Header -->
<View
android:id="@+id/shape_sells_title"
android:layout_width="4dp"
android:layout_height="48dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/layout_sells_header"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_sells_title"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_sells_title"
style="@style/label_medium_prominent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Perlu Dibuat Tagihan"/>
<TextView
android:id="@+id/tv_sells_number"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/black_300"
android:text="No. Pesanan: 123456789"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_person"/>
<TextView
android:id="@+id/tv_sells_customer"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_300"
android:text="Gracia Hotmauli"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
android:layout_marginEnd="16dp"
android:gravity="end">
<TextView
android:layout_width="150dp"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_small"
android:textAlignment="textEnd"
android:text="Buat tagihan sebelum:"
android:textColor="@color/black_300" />
<TextView
android:id="@+id/tv_sells_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active" />
</LinearLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_sells_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_sells_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Product Detail -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_sells_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_sells_product"
android:layout_width="95dp"
android:layout_height="64dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Order Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_sells_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_sells_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_sells_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
android:gravity="end"
app:layout_constraintStart_toEndOf="@id/iv_sells_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_sells_product">
<TextView
android:id="@+id/tv_sells_product_qty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="x2"
style="@style/label_medium"
android:textColor="@color/black_300"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_sells_product_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Rp150.000"
style="@style/label_medium"
android:textAlignment="textEnd"/>
</LinearLayout>
<TextView
android:id="@+id/tv_see_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:text="Lihat 3 produk lainnya"
android:gravity="center"
style="@style/label_small"
android:fontFamily="@font/dmsans_italic"
android:textColor="@color/black_300"
app:layout_constraintTop_toBottomOf="@id/iv_sells_product"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginVertical="8dp"
android:clickable="true"
android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Total Price -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp">
<TextView
android:id="@+id/tv_sells_qty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2 produk"
style="@style/label_large"
android:layout_alignParentStart="true"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentEnd="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total:"
style="@style/label_large_prominent"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_sells_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp300.000"
style="@style/label_large_prominent"
android:textColor="@color/blue_500"
android:layout_marginStart="5dp"
android:textAlignment="textEnd"/>
</LinearLayout>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Action Buttons -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn_edit_order"
style="@style/button.small.secondary.medium"
android:text="Ubah Tagihan"
android:layout_marginEnd="10dp"/>
<Button
android:id="@+id/btn_confirm_order"
style="@style/button.small.active.medium"
android:text="Konfirmasi Tagihan" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_sells_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,319 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<!-- Payment Header -->
<View
android:id="@+id/shape_sells_title"
android:layout_width="4dp"
android:layout_height="32dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/layout_sells_header"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_sells_title"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_sells_title"
style="@style/label_medium_prominent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Telah Dibayar"/>
<TextView
android:id="@+id/tv_sells_number"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/black_300"
android:text="No. Pesanan: 123456789"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
android:layout_marginEnd="16dp"
android:gravity="end">
<TextView
android:id="@+id/tv_sells_due_desc"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_small"
android:textAlignment="textEnd"
android:text="Konfirmasi pembayaran sebelum:"
android:textColor="@color/black_300" />
<TextView
android:id="@+id/tv_sells_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active" />
</LinearLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_sells_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_sells_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Product Detail -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_sells_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_sells_product"
android:layout_width="95dp"
android:layout_height="64dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Payment Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_sells_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_sells_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_sells_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
android:gravity="end"
app:layout_constraintStart_toEndOf="@id/iv_sells_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_sells_product">
<TextView
android:id="@+id/tv_sells_product_qty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="x2"
style="@style/label_medium"
android:textColor="@color/black_300"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_sells_product_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Rp150.000"
style="@style/label_medium"
android:textAlignment="textEnd"/>
</LinearLayout>
<TextView
android:id="@+id/tv_see_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:text="Lihat 3 produk lainnya"
android:gravity="center"
style="@style/label_small"
android:fontFamily="@font/dmsans_italic"
android:textColor="@color/black_300"
app:layout_constraintTop_toBottomOf="@id/iv_sells_product"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginVertical="8dp"
android:clickable="true"
android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Total Price -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp">
<TextView
android:id="@+id/tv_sells_qty"
style="@style/label_large"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:text="2 produk" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentEnd="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total:"
style="@style/label_large_prominent"
android:textAlignment="textEnd"/>
<TextView
android:id="@+id/tv_sells_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp300.000"
style="@style/label_large_prominent"
android:textColor="@color/blue_500"
android:layout_marginStart="5dp"
android:textAlignment="textEnd"/>
</LinearLayout>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Action Buttons -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="158dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_person"
app:tint="@color/black_500" />
<TextView
android:id="@+id/tv_sells_customer"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Gracia Hotmauli"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_location" />
<TextView
android:id="@+id/tv_sells_location"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Serang"/>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn_confirm_payment"
style="@style/button.small.active.medium"
android:text="Konfirmasi Pembayaran"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_sells_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/layout_order_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_order_product"
android:layout_width="75dp"
android:layout_height="60dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Order Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_order_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_order_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_order_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_order_product_qty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="2 x"
style="@style/label_medium"
android:textColor="@color/black_300"/>
<TextView
android:id="@+id/tv_order_product_price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text=" Rp150.000"
style="@style/label_medium"
android:textColor="@color/black_300"/>
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_order_product_total_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Rp300.000"
style="@style/label_medium"
android:textAlignment="textEnd"
android:layout_marginStart="13dp"
android:gravity="end"
app:layout_constraintStart_toEndOf="@id/iv_order_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_order_product"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="12dp"
android:background="@color/black_50"
app:layout_constraintTop_toBottomOf="@id/tv_order_product_total_price"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,255 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingTop="16dp">
<!-- Shipment Header -->
<View
android:id="@+id/shape_sells_title"
android:layout_width="4dp"
android:layout_height="32dp"
android:background="@drawable/shape_sells_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:id="@+id/layout_sells_header"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintStart_toStartOf="@id/shape_sells_title"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_sells_title"
style="@style/label_medium_prominent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Pesanan Perlu Dikirim"/>
<TextView
android:id="@+id/tv_sells_number"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:textColor="@color/black_300"
android:text="No. Pesanan: 123456789"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical"
android:layout_marginEnd="16dp"
android:gravity="end">
<TextView
android:layout_width="150dp"
android:layout_height="wrap_content"
android:maxLines="1"
style="@style/label_small"
android:textAlignment="textEnd"
android:text="Kirim sebelum:"
android:textColor="@color/black_300" />
<TextView
android:id="@+id/tv_sells_due"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25 Okt; 23.59"
style="@style/label_small"
android:paddingHorizontal="4dp"
android:textColor="@color/darkblue_500"
android:background="@drawable/bg_product_active" />
</LinearLayout>
<!-- Order Detail -->
<LinearLayout
android:id="@+id/layout_sells_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_sells_header"
android:paddingHorizontal="16dp"
android:layout_marginTop="8dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Product Detail -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_sells_product_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="12dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/iv_sells_product"
android:layout_width="95dp"
android:layout_height="48dp"
android:src="@drawable/placeholder_image"
android:scaleType="centerCrop"
android:contentDescription="Shipment Product Image"
app:shapeAppearanceOverlay="@style/store_product_image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginStart="13dp"
app:layout_constraintStart_toEndOf="@id/iv_sells_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_sells_product_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="Jaket Pink Fuschia"
style="@style/label_medium_prominent"/>
<!-- <TextView-->
<!-- android:id="@+id/tv_sells_product_variant"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:maxLines="1"-->
<!-- android:text="S"-->
<!-- style="@style/label_medium"-->
<!-- android:textColor="@color/black_300"/>-->
</LinearLayout>
<TextView
android:id="@+id/tv_sells_product_qty"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="x2"
style="@style/label_medium"
android:layout_marginStart="13dp"
android:gravity="end"
android:textAlignment="textEnd"
app:layout_constraintStart_toEndOf="@id/iv_sells_product"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/iv_sells_product"/>
<TextView
android:id="@+id/tv_see_more"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="true"
android:text="Lihat 3 produk lainnya"
android:gravity="center"
style="@style/label_small"
android:fontFamily="@font/dmsans_italic"
android:textColor="@color/black_300"
app:layout_constraintTop_toBottomOf="@id/iv_sells_product"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginVertical="8dp"
android:clickable="true"
android:visibility="gone"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/black_50"/>
<!-- Action Buttons -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="158dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_person"
app:tint="@color/black_500" />
<TextView
android:id="@+id/tv_sells_customer"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Gracia Hotmauli"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:src="@drawable/ic_location" />
<TextView
android:id="@+id/tv_sells_location"
style="@style/label_small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:layout_marginStart="4dp"
android:textColor="@color/black_500"
android:text="Serang"/>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn_confirm_shipment"
style="@style/button.small.active.medium"
android:text="Kirim Pesanan"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@color/black_50"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_sells_detail"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,6 +1,7 @@
[versions]
agp = "8.10.0"
glide = "4.16.0"
gson = "2.11.0"
hiltAndroid = "2.48" # Updated from 2.44 for better compatibility
hiltLifecycleViewmodel = "1.0.0-alpha03"
hiltCompiler = "2.48" # Added for consistency
@ -30,6 +31,7 @@ recyclerview = "1.4.0"
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-hilt-lifecycle-viewmodel = { module = "androidx.hilt:hilt-lifecycle-viewmodel", version.ref = "hiltLifecycleViewmodel" }
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }