diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c4e9461..9d3b53e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,6 +17,18 @@
android:theme="@style/Theme.Ecommerce_serang"
android:usesCleartextTraffic="true"
tools:targetApi="31">
+
+
+
+
@@ -39,10 +51,10 @@
android:name=".ui.profile.mystore.product.AddProductActivity"
android:exported="false" />
+ android:exported="false" />
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/data/api/dto/Store.kt b/app/src/main/java/com/alya/ecommerce_serang/data/api/dto/Store.kt
new file mode 100644
index 0000000..090afa2
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/api/dto/Store.kt
@@ -0,0 +1,102 @@
+package com.alya.ecommerce_serang.data.api.dto
+
+import com.google.gson.annotations.SerializedName
+
+data class Store(
+
+ @field:SerializedName("approval_reason")
+ val approvalReason: String,
+
+ @field:SerializedName("store_status")
+ val storeStatus: String,
+
+ @field:SerializedName("sppirt")
+ val sppirt: String,
+
+ @field:SerializedName("user_name")
+ val userName: String,
+
+ @field:SerializedName("nib")
+ val nib: String,
+
+ @field:SerializedName("latitude")
+ val latitude: String,
+
+ @field:SerializedName("store_type_id")
+ val storeTypeId: Int,
+
+ @field:SerializedName("balance")
+ val balance: String,
+
+ @field:SerializedName("street")
+ val street: String,
+
+ @field:SerializedName("store_name")
+ val storeName: String,
+
+ @field:SerializedName("user_phone")
+ val userPhone: String,
+
+ @field:SerializedName("halal")
+ val halal: String,
+
+ @field:SerializedName("id")
+ val id: Int,
+
+ @field:SerializedName("email")
+ val email: String,
+
+ @field:SerializedName("store_image")
+ val storeImage: Any,
+
+ @field:SerializedName("longitude")
+ val longitude: String,
+
+ @field:SerializedName("store_id")
+ val storeId: Int,
+
+ @field:SerializedName("is_store_location")
+ val isStoreLocation: Boolean,
+
+ @field:SerializedName("ktp")
+ val ktp: String,
+
+ @field:SerializedName("approval_status")
+ val approvalStatus: String,
+
+ @field:SerializedName("npwp")
+ val npwp: String,
+
+ @field:SerializedName("store_type")
+ val storeType: String,
+
+ @field:SerializedName("is_on_leave")
+ val isOnLeave: Boolean,
+
+ @field:SerializedName("user_id")
+ val userId: Int,
+
+ @field:SerializedName("province_id")
+ val provinceId: Int,
+
+ @field:SerializedName("phone")
+ val phone: String,
+
+ @field:SerializedName("subdistrict")
+ val subdistrict: String,
+
+ @field:SerializedName("recipient")
+ val recipient: String,
+
+ @field:SerializedName("detail")
+ val detail: String,
+
+ @field:SerializedName("postal_code")
+ val postalCode: String,
+
+ @field:SerializedName("store_description")
+ val storeDescription: String,
+
+ @field:SerializedName("city_id")
+ val cityId: Int
+)
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..9895f15 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
@@ -1,5 +1,6 @@
package com.alya.ecommerce_serang.data.api.response
+import com.alya.ecommerce_serang.data.api.dto.Store
import com.google.gson.annotations.SerializedName
data class StoreResponse(
@@ -17,105 +18,6 @@ data class StoreResponse(
val message: String
)
-data class Store(
-
- @field:SerializedName("approval_reason")
- val approvalReason: String,
-
- @field:SerializedName("store_status")
- val storeStatus: String,
-
- @field:SerializedName("sppirt")
- val sppirt: String,
-
- @field:SerializedName("user_name")
- val userName: String,
-
- @field:SerializedName("nib")
- val nib: String,
-
- @field:SerializedName("latitude")
- val latitude: String,
-
- @field:SerializedName("store_type_id")
- val storeTypeId: Int,
-
- @field:SerializedName("balance")
- val balance: String,
-
- @field:SerializedName("street")
- val street: String,
-
- @field:SerializedName("store_name")
- val storeName: String,
-
- @field:SerializedName("user_phone")
- val userPhone: String,
-
- @field:SerializedName("halal")
- val halal: String,
-
- @field:SerializedName("id")
- val id: Int,
-
- @field:SerializedName("email")
- val email: String,
-
- @field:SerializedName("store_image")
- val storeImage: Any,
-
- @field:SerializedName("longitude")
- val longitude: String,
-
- @field:SerializedName("store_id")
- val storeId: Int,
-
- @field:SerializedName("is_store_location")
- val isStoreLocation: Boolean,
-
- @field:SerializedName("ktp")
- val ktp: String,
-
- @field:SerializedName("approval_status")
- val approvalStatus: String,
-
- @field:SerializedName("npwp")
- val npwp: String,
-
- @field:SerializedName("store_type")
- val storeType: String,
-
- @field:SerializedName("is_on_leave")
- val isOnLeave: Boolean,
-
- @field:SerializedName("user_id")
- val userId: Int,
-
- @field:SerializedName("province_id")
- val provinceId: Int,
-
- @field:SerializedName("phone")
- val phone: String,
-
- @field:SerializedName("subdistrict")
- val subdistrict: String,
-
- @field:SerializedName("recipient")
- val recipient: String,
-
- @field:SerializedName("detail")
- val detail: String,
-
- @field:SerializedName("postal_code")
- val postalCode: String,
-
- @field:SerializedName("store_description")
- val storeDescription: String,
-
- @field:SerializedName("city_id")
- val cityId: Int
-)
-
data class ShippingItem(
@field:SerializedName("courier")
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 5cf478a..f616739 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
@@ -63,5 +63,5 @@ interface ApiService {
@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/MyStoreRepository.kt b/app/src/main/java/com/alya/ecommerce_serang/data/repository/MyStoreRepository.kt
new file mode 100644
index 0000000..003f772
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/data/repository/MyStoreRepository.kt
@@ -0,0 +1,31 @@
+package com.alya.ecommerce_serang.data.repository
+
+import android.util.Log
+import com.alya.ecommerce_serang.data.api.dto.Store
+import com.alya.ecommerce_serang.data.api.response.StoreResponse
+import com.alya.ecommerce_serang.data.api.retrofit.ApiService
+import retrofit2.HttpException
+import java.io.IOException
+
+class MyStoreRepository(private val apiService: ApiService) {
+ suspend fun fetchMyStoreProfile(): Result {
+ return try {
+ val response = apiService.getStore()
+
+ if (response.isSuccessful) {
+ val storeResponse: StoreResponse? = response.body()
+ Result.Success(storeResponse?.store) // ✅ Return Success with Store data
+ } else {
+ val errorMessage = response.errorBody()?.string() ?: "Unknown API error"
+ Log.e("MyStoreRepository", "Error: $errorMessage")
+ Result.Error(HttpException(response)) // ✅ Wrap API error in Result.Error
+ }
+ } catch (e: IOException) {
+ Log.e("MyStoreRepository", "Network error: ${e.message}")
+ Result.Error(e) // ✅ Handle network-related errors
+ } catch (e: Exception) {
+ Log.e("MyStoreRepository", "Unexpected error: ${e.message}")
+ Result.Error(e) // ✅ Handle unexpected errors
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/product/ProductViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/product/ProductViewModel.kt
index 87bb380..e349bfa 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/product/ProductViewModel.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/product/ProductViewModel.kt
@@ -4,9 +4,9 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
+import com.alya.ecommerce_serang.data.api.dto.Store
import com.alya.ecommerce_serang.data.api.response.Product
import com.alya.ecommerce_serang.data.api.response.ReviewsItem
-import com.alya.ecommerce_serang.data.api.response.Store
import com.alya.ecommerce_serang.data.repository.ProductRepository
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/ProfileFragment.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/ProfileFragment.kt
index 71329ba..893f568 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/ProfileFragment.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/ProfileFragment.kt
@@ -15,7 +15,7 @@ import com.alya.ecommerce_serang.data.api.dto.UserProfile
import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
import com.alya.ecommerce_serang.data.repository.UserRepository
import com.alya.ecommerce_serang.databinding.FragmentProfileBinding
-import com.alya.ecommerce_serang.ui.profile.mystore.TokoSayaActivity
+import com.alya.ecommerce_serang.ui.profile.mystore.MyStoreActivity
import com.alya.ecommerce_serang.utils.BaseViewModelFactory
import com.alya.ecommerce_serang.utils.SessionManager
import com.bumptech.glide.Glide
@@ -54,7 +54,7 @@ class ProfileFragment : Fragment() {
viewModel.loadUserProfile()
binding.cardBukaToko.setOnClickListener{
- val intentBuka = Intent(requireContext(), TokoSayaActivity::class.java)
+ val intentBuka = Intent(requireContext(), MyStoreActivity::class.java)
startActivity(intentBuka)
}
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt
new file mode 100644
index 0000000..7f5d0fd
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt
@@ -0,0 +1,131 @@
+package com.alya.ecommerce_serang.ui.profile.mystore
+
+import android.content.Intent
+import android.os.Bundle
+import android.widget.Toast
+import androidx.activity.enableEdgeToEdge
+import androidx.activity.viewModels
+import androidx.appcompat.app.AppCompatActivity
+import com.alya.ecommerce_serang.data.api.dto.Store
+import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
+import com.alya.ecommerce_serang.data.api.retrofit.ApiService
+import com.alya.ecommerce_serang.data.repository.MyStoreRepository
+import com.alya.ecommerce_serang.databinding.ActivityMyStoreBinding
+import com.alya.ecommerce_serang.ui.chat.ChatFragment
+import com.alya.ecommerce_serang.ui.profile.mystore.balance.BalanceActivity
+import com.alya.ecommerce_serang.ui.profile.mystore.product.ProductActivity
+import com.alya.ecommerce_serang.ui.profile.mystore.profile.DetailStoreProfileActivity
+import com.alya.ecommerce_serang.ui.profile.mystore.review.ReviewFragment
+import com.alya.ecommerce_serang.ui.profile.mystore.sells.all_sells.AllSellsFragment
+import com.alya.ecommerce_serang.ui.profile.mystore.sells.order.OrderFragment
+import com.alya.ecommerce_serang.ui.profile.mystore.sells.payment.PaymentFragment
+import com.alya.ecommerce_serang.ui.profile.mystore.sells.shipment.ShipmentFragment
+import com.alya.ecommerce_serang.utils.BaseViewModelFactory
+import com.alya.ecommerce_serang.utils.SessionManager
+import com.bumptech.glide.Glide
+import kotlin.getValue
+
+class MyStoreActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityMyStoreBinding
+ private lateinit var apiService: ApiService
+ private lateinit var sessionManager: SessionManager
+
+ private val viewModel: MyStoreViewModel by viewModels {
+ BaseViewModelFactory {
+ val apiService = ApiConfig.getApiService(sessionManager)
+ val myStoreRepository = MyStoreRepository(apiService)
+ MyStoreViewModel(myStoreRepository)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityMyStoreBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+ sessionManager = SessionManager(this)
+ apiService = ApiConfig.getApiService(sessionManager)
+
+ enableEdgeToEdge()
+
+ viewModel.loadMyStore()
+
+ viewModel.myStoreProfile.observe(this){ user ->
+ user?.let { myStoreProfileOverview(it) }
+ }
+
+ viewModel.errorMessage.observe(this) { error ->
+ Toast.makeText(this, error, Toast.LENGTH_SHORT).show()
+ }
+
+ setUpClickListeners()
+ }
+
+ private fun myStoreProfileOverview(store: Store){
+
+ binding.tvStoreName.setText(store.storeName.toString())
+ binding.tvStoreType.setText(store.storeType.toString())
+
+ store.storeImage.let {
+ Glide.with(this)
+ .load(it)
+ .into(binding.ivProfile)
+ }
+ }
+
+ private fun setUpClickListeners() {
+ binding.btnEditProfile.setOnClickListener {
+ startActivity(Intent(this, DetailStoreProfileActivity::class.java))
+ }
+
+ binding.layoutBalance.setOnClickListener {
+ startActivity(Intent(this, BalanceActivity::class.java))
+ }
+
+ binding.tvHistory.setOnClickListener {
+ supportFragmentManager.beginTransaction()
+ .replace(android.R.id.content, AllSellsFragment())
+ .addToBackStack(null)
+ .commit()
+ }
+
+ binding.layoutPerluTagihan.setOnClickListener {
+ supportFragmentManager.beginTransaction()
+ .replace(android.R.id.content, OrderFragment())
+ .addToBackStack(null)
+ .commit()
+ }
+
+ binding.layoutPembayaran.setOnClickListener {
+ supportFragmentManager.beginTransaction()
+ .replace(android.R.id.content, PaymentFragment())
+ .addToBackStack(null)
+ .commit()
+ }
+
+ binding.layoutPerluDikirim.setOnClickListener {
+ supportFragmentManager.beginTransaction()
+ .replace(android.R.id.content, ShipmentFragment())
+ .addToBackStack(null)
+ .commit()
+ }
+
+ binding.layoutProductMenu.setOnClickListener {
+ startActivity(Intent(this, ProductActivity::class.java))
+ }
+
+ binding.layoutReview.setOnClickListener {
+ supportFragmentManager.beginTransaction()
+ .replace(android.R.id.content, ReviewFragment())
+ .addToBackStack(null)
+ .commit()
+ }
+
+ binding.layoutInbox.setOnClickListener {
+ supportFragmentManager.beginTransaction()
+ .replace(android.R.id.content, ChatFragment())
+ .addToBackStack(null)
+ .commit()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreViewModel.kt
new file mode 100644
index 0000000..faff88c
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreViewModel.kt
@@ -0,0 +1,28 @@
+package com.alya.ecommerce_serang.ui.profile.mystore
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
+import com.alya.ecommerce_serang.data.api.dto.Store
+import com.alya.ecommerce_serang.data.repository.MyStoreRepository
+import com.alya.ecommerce_serang.data.repository.Result
+import kotlinx.coroutines.launch
+
+class MyStoreViewModel(private val myStoreRepository: MyStoreRepository): ViewModel() {
+ private val _myStoreProfile = MutableLiveData()
+ val myStoreProfile: LiveData = _myStoreProfile
+
+ private val _errorMessage = MutableLiveData()
+ val errorMessage : LiveData = _errorMessage
+
+ fun loadMyStore(){
+ viewModelScope.launch {
+ when (val result = myStoreRepository.fetchMyStoreProfile()){
+ is Result.Success -> _myStoreProfile.postValue(result.data)
+ is Result.Error -> _errorMessage.postValue(result.exception.message ?: "Unknown Error")
+ is Result.Loading -> null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/TokoSayaActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/product/ProductActivity.kt
similarity index 80%
rename from app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/TokoSayaActivity.kt
rename to app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/product/ProductActivity.kt
index 87f4748..9505316 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/TokoSayaActivity.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/product/ProductActivity.kt
@@ -1,4 +1,4 @@
-package com.alya.ecommerce_serang.ui.profile.mystore
+package com.alya.ecommerce_serang.ui.profile.mystore.product
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 TokoSayaActivity : AppCompatActivity() {
+class ProductActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
- setContentView(R.layout.activity_toko_saya)
+ setContentView(R.layout.activity_product)
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)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/DetailStoreProfileActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/DetailStoreProfileActivity.kt
new file mode 100644
index 0000000..a577607
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/DetailStoreProfileActivity.kt
@@ -0,0 +1,60 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.profile
+
+import android.os.Bundle
+import android.widget.Toast
+import androidx.activity.enableEdgeToEdge
+import androidx.activity.viewModels
+import androidx.appcompat.app.AppCompatActivity
+import com.alya.ecommerce_serang.data.api.dto.Store
+import com.alya.ecommerce_serang.data.api.retrofit.ApiConfig
+import com.alya.ecommerce_serang.data.api.retrofit.ApiService
+import com.alya.ecommerce_serang.data.repository.MyStoreRepository
+import com.alya.ecommerce_serang.databinding.ActivityDetailStoreProfileBinding
+import com.alya.ecommerce_serang.ui.profile.mystore.MyStoreViewModel
+import com.alya.ecommerce_serang.utils.BaseViewModelFactory
+import com.alya.ecommerce_serang.utils.SessionManager
+import com.bumptech.glide.Glide
+import kotlin.getValue
+
+class DetailStoreProfileActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityDetailStoreProfileBinding
+ private lateinit var apiService: ApiService
+ private lateinit var sessionManager: SessionManager
+
+ private val viewModel: MyStoreViewModel by viewModels {
+ BaseViewModelFactory {
+ val apiService = ApiConfig.getApiService(sessionManager)
+ val myStoreRepository = MyStoreRepository(apiService)
+ MyStoreViewModel(myStoreRepository)
+ }
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ binding = ActivityDetailStoreProfileBinding.inflate(layoutInflater)
+ setContentView(binding.root)
+
+ sessionManager = SessionManager(this)
+ apiService = ApiConfig.getApiService(sessionManager)
+
+ enableEdgeToEdge()
+
+ viewModel.loadMyStore()
+
+ viewModel.myStoreProfile.observe(this){ user ->
+ user?.let { updateStoreProfile(it) }
+ }
+
+ viewModel.errorMessage.observe(this) { error ->
+ Toast.makeText(this, error, Toast.LENGTH_SHORT).show()
+ }
+ }
+
+ private fun updateStoreProfile(store: Store){
+
+ binding.edtNamaToko.setText(store.storeName.toString())
+ binding.edtJenisToko.setText(store.storeType.toString())
+ binding.edtDeskripsiToko.setText(store.storeDescription.toString())
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/EditStoreProfileActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/address/StoreAddressActivity.kt
similarity index 78%
rename from app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/EditStoreProfileActivity.kt
rename to app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/address/StoreAddressActivity.kt
index 3e8f8ac..eca05b1 100644
--- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/EditStoreProfileActivity.kt
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/address/StoreAddressActivity.kt
@@ -1,4 +1,4 @@
-package com.alya.ecommerce_serang.ui.profile.mystore.profile
+package com.alya.ecommerce_serang.ui.profile.mystore.profile.address
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 EditStoreProfileActivity : AppCompatActivity() {
+class StoreAddressActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
- setContentView(R.layout.activity_edit_store_profile)
+ setContentView(R.layout.activity_store_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)
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/payment_info/DetailPaymentInfoActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/payment_info/DetailPaymentInfoActivity.kt
new file mode 100644
index 0000000..dfde88d
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/payment_info/DetailPaymentInfoActivity.kt
@@ -0,0 +1,21 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.profile.payment_info
+
+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 DetailPaymentInfoActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_detail_payment_info)
+ 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/profile/mystore/profile/payment_info/PaymentInfoActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/payment_info/PaymentInfoActivity.kt
new file mode 100644
index 0000000..ad7c97d
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/payment_info/PaymentInfoActivity.kt
@@ -0,0 +1,21 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.profile.payment_info
+
+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 PaymentInfoActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_payment_info)
+ 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/profile/mystore/profile/shipping_service/ShippingServiceActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/shipping_service/ShippingServiceActivity.kt
new file mode 100644
index 0000000..63ea33e
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/profile/shipping_service/ShippingServiceActivity.kt
@@ -0,0 +1,21 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.profile.shipping_service
+
+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 ShippingServiceActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_shipping_service)
+ 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/profile/mystore/review/ReviewFragment.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/review/ReviewFragment.kt
new file mode 100644
index 0000000..e24e554
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/review/ReviewFragment.kt
@@ -0,0 +1,31 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.review
+
+import androidx.fragment.app.viewModels
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.alya.ecommerce_serang.R
+
+class ReviewFragment : Fragment() {
+
+ companion object {
+ fun newInstance() = ReviewFragment()
+ }
+
+ private val viewModel: ReviewViewModel by viewModels()
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ // TODO: Use the ViewModel
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ return inflater.inflate(R.layout.fragment_review, container, false)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/review/ReviewViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/review/ReviewViewModel.kt
new file mode 100644
index 0000000..0a00867
--- /dev/null
+++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/review/ReviewViewModel.kt
@@ -0,0 +1,7 @@
+package com.alya.ecommerce_serang.ui.profile.mystore.review
+
+import androidx.lifecycle.ViewModel
+
+class ReviewViewModel : ViewModel() {
+ // TODO: Implement the ViewModel
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout-v28/activity_toko_saya.xml b/app/src/main/res/layout-v28/activity_toko_saya.xml
deleted file mode 100644
index 21b20a2..0000000
--- a/app/src/main/res/layout-v28/activity_toko_saya.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_detail_payment_info.xml b/app/src/main/res/layout/activity_detail_payment_info.xml
new file mode 100644
index 0000000..d9dbebe
--- /dev/null
+++ b/app/src/main/res/layout/activity_detail_payment_info.xml
@@ -0,0 +1,11 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_edit_store_profile.xml b/app/src/main/res/layout/activity_detail_store_profile.xml
similarity index 99%
rename from app/src/main/res/layout/activity_edit_store_profile.xml
rename to app/src/main/res/layout/activity_detail_store_profile.xml
index 1d1918e..f0bd6b8 100644
--- a/app/src/main/res/layout/activity_edit_store_profile.xml
+++ b/app/src/main/res/layout/activity_detail_store_profile.xml
@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- tools:context=".ui.profile.mystore.profile.EditStoreProfileActivity">
+ tools:context=".ui.profile.mystore.profile.DetailStoreProfileActivity">
diff --git a/app/src/main/res/layout/activity_toko_saya.xml b/app/src/main/res/layout/activity_my_store.xml
similarity index 99%
rename from app/src/main/res/layout/activity_toko_saya.xml
rename to app/src/main/res/layout/activity_my_store.xml
index 8312727..4d1dff9 100644
--- a/app/src/main/res/layout/activity_toko_saya.xml
+++ b/app/src/main/res/layout/activity_my_store.xml
@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- tools:context=".ui.profile.mystore.TokoSayaActivity">
+ tools:context=".ui.profile.mystore.MyStoreActivity">
diff --git a/app/src/main/res/layout/activity_payment_info.xml b/app/src/main/res/layout/activity_payment_info.xml
new file mode 100644
index 0000000..89f1535
--- /dev/null
+++ b/app/src/main/res/layout/activity_payment_info.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_product.xml b/app/src/main/res/layout/activity_product.xml
new file mode 100644
index 0000000..bb79d7a
--- /dev/null
+++ b/app/src/main/res/layout/activity_product.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_shipping_service.xml b/app/src/main/res/layout/activity_shipping_service.xml
new file mode 100644
index 0000000..b5c7e92
--- /dev/null
+++ b/app/src/main/res/layout/activity_shipping_service.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_store_address.xml b/app/src/main/res/layout/activity_store_address.xml
new file mode 100644
index 0000000..661d919
--- /dev/null
+++ b/app/src/main/res/layout/activity_store_address.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_review.xml b/app/src/main/res/layout/fragment_review.xml
new file mode 100644
index 0000000..dace922
--- /dev/null
+++ b/app/src/main/res/layout/fragment_review.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
\ No newline at end of file