diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7b8f128..30df192 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,6 +17,12 @@
android:theme="@style/Theme.Ecommerce_serang"
android:usesCleartextTraffic="true"
tools:targetApi="31">
+
+
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/DetailStoreProductResponse.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/DetailStoreProductResponse.kt
index 4f83751..7380412 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/DetailStoreProductResponse.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/DetailStoreProductResponse.kt
@@ -26,7 +26,7 @@ data class StoreProduct(
val storeLocation: String,
@field:SerializedName("store_image")
- val storeImage: Any,
+ val storeImage: String? = null,
@field:SerializedName("status")
val status: String
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/StoreResponse.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/StoreResponse.kt
index 386de42..26f383e 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/response/StoreResponse.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/response/StoreResponse.kt
@@ -62,7 +62,7 @@ data class Store(
val email: String,
@field:SerializedName("store_image")
- val storeImage: Any,
+ val storeImage: String? = null,
@field:SerializedName("longitude")
val longitude: String,
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
index 08aaf3b..f1a0ed4 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/retrofit/ApiService.kt
@@ -1,5 +1,6 @@
package com.alya.ecommerce_serang.data.api.retrofit
+import com.alya.ecommerce_serang.data.api.dto.CreateAddressRequest
import com.alya.ecommerce_serang.data.api.dto.LoginRequest
import com.alya.ecommerce_serang.data.api.dto.OrderRequest
import com.alya.ecommerce_serang.data.api.dto.OtpRequest
@@ -16,7 +17,6 @@ import com.alya.ecommerce_serang.data.api.response.ProfileResponse
import com.alya.ecommerce_serang.data.api.response.RegisterResponse
import com.alya.ecommerce_serang.data.api.response.ReviewProductResponse
import com.alya.ecommerce_serang.data.api.response.StoreResponse
-import retrofit2.Call
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.GET
@@ -71,10 +71,9 @@ interface ApiService {
@GET("profile/address")
suspend fun getAddress(
- @Body addressRequest: AddressRequest
+ @Body addressRequest: CreateAddressRequest
): Response
-
@GET("mystore")
- fun getStore (): Call
+ suspend fun getStore (): Response
}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt b/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt
index b703b9d..3a0719e 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/repository/OrderRepository.kt
@@ -4,6 +4,7 @@ import android.util.Log
import com.alya.ecommerce_serang.data.api.dto.OrderRequest
import com.alya.ecommerce_serang.data.api.response.OrderResponse
import com.alya.ecommerce_serang.data.api.response.ProductResponse
+import com.alya.ecommerce_serang.data.api.response.StoreResponse
import com.alya.ecommerce_serang.data.api.retrofit.ApiService
import retrofit2.Response
@@ -27,6 +28,12 @@ class OrderRepository(private val apiService: ApiService) {
return apiService.postOrder(orderRequest)
}
+ suspend fun getStore(): StoreResponse? {
+ val response = apiService.getStore()
+ return if (response.isSuccessful) response.body() else null
+ }
+
+
//not yet implement the api service address
// suspend fun getAddressDetails(addressId: Int): AddressesItem {
// // Simulate API call to get address details
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/AddressActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/AddressActivity.kt
new file mode 100644
index 0000000..4475a96
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/AddressActivity.kt
@@ -0,0 +1,21 @@
+package com.alya.ecommerce_serang.ui.order
+
+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
+
+class AddressActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_address)
+ 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
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/CheckoutViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/CheckoutViewModel.kt
index bc7de41..7013cd0 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/order/CheckoutViewModel.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/CheckoutViewModel.kt
@@ -9,6 +9,7 @@ import com.alya.ecommerce_serang.data.api.dto.CheckoutData
import com.alya.ecommerce_serang.data.api.dto.OrderRequest
import com.alya.ecommerce_serang.data.api.response.AddressesItem
import com.alya.ecommerce_serang.data.api.response.OrderResponse
+import com.alya.ecommerce_serang.data.api.response.PaymentItem
import com.alya.ecommerce_serang.data.repository.OrderRepository
import com.alya.ecommerce_serang.data.repository.Result
import kotlinx.coroutines.launch
@@ -21,6 +22,9 @@ class CheckoutViewModel(private val repository: OrderRepository) : ViewModel() {
private val _addressDetails = MutableLiveData()
val addressDetails: LiveData = _addressDetails
+ private val _storePayments = MutableLiveData>()
+ val storePayments: LiveData> = _storePayments
+
private val _isLoading = MutableLiveData()
val isLoading: LiveData = _isLoading
@@ -31,6 +35,8 @@ class CheckoutViewModel(private val repository: OrderRepository) : ViewModel() {
try {
// Load all necessary data
val productDetails = repository.fetchProductDetail(orderRequest.productIdItem)
+ val storeDetails = repository.getStoreDetails(productDetails.product.storeId)
+
// val addressDetails = repository.getAddressDetails(orderRequest.address_id)
// Update LiveData objects
@@ -42,10 +48,15 @@ class CheckoutViewModel(private val repository: OrderRepository) : ViewModel() {
productName = productDetails?.product?.productName,
productImageUrl = productDetails.product.image,
productPrice = productDetails.product.price,
- sellerName = productDetails.product.storeId
-// sellerImageUrl = productDetails.sellerImageUrl,
-// sellerId = productDetails.sellerId
+ sellerName = storeDetails.store.storeName,
+ sellerImageUrl = storeDetails.store.storeImage,
+ sellerId = productDetails.product.storeId
)
+
+ storeDetails?.let {
+ _storePayments.value = it.payment
+ }
+
} catch (e: Exception) {
// Handle errors
Log.e("CheckoutViewModel", "Error loading checkout data", e)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/order/ShippingActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/order/ShippingActivity.kt
new file mode 100644
index 0000000..b9441c6
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/order/ShippingActivity.kt
@@ -0,0 +1,21 @@
+package com.alya.ecommerce_serang.ui.order
+
+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
+
+class ShippingActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_shipping)
+ 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
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_address.xml b/app/src/main/res/layout/activity_address.xml
new file mode 100644
index 0000000..86c8374
--- /dev/null
+++ b/app/src/main/res/layout/activity_address.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_shipping.xml b/app/src/main/res/layout/activity_shipping.xml
new file mode 100644
index 0000000..965bd3c
--- /dev/null
+++ b/app/src/main/res/layout/activity_shipping.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file