From 996071ff7123e80e0b4c4e734fc7e0bd0aea2d49 Mon Sep 17 00:00:00 2001 From: Gracia Hotmauli <95269134+hotmauligracia@users.noreply.github.com> Date: Mon, 26 May 2025 18:57:32 +0700 Subject: [PATCH] edit store profile --- .../ui/profile/mystore/MyStoreActivity.kt | 22 ++++++------- .../profile/DetailStoreProfileActivity.kt | 2 -- .../utils/viewmodel/MyStoreViewModel.kt | 31 +++++++++++++------ 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt index 5911667..dd68612 100644 --- a/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt +++ b/app/src/main/java/com/alya/ecommerce_serang/ui/profile/mystore/MyStoreActivity.kt @@ -66,19 +66,19 @@ class MyStoreActivity : AppCompatActivity() { binding.tvStoreName.text = store.storeName binding.tvStoreType.text = store.storeType - if (store.storeImage.toString().isNotEmpty() && store.storeImage.toString() != "null") { - val imageUrl = "$BASE_URL${store.storeImage}" - Log.d("MyStoreActivity", "Loading store image from: $imageUrl") - - Glide.with(this) - .load(imageUrl) - .placeholder(R.drawable.placeholder_image) - .error(R.drawable.placeholder_image) - .into(binding.ivProfile) - } else { - Log.d("MyStoreActivity", "No store image available") + val imageUrl = when { + store.storeImage.toString().isBlank() -> null + store.storeImage.toString().startsWith("http") == true -> store.storeImage + store.storeImage.toString().startsWith("/") == true -> BASE_URL + store.storeImage.toString().removePrefix("/") + else -> BASE_URL + store.storeImage } + Glide.with(this) + .load(imageUrl) + .placeholder(R.drawable.placeholder_image) + .error(R.drawable.placeholder_image) + .into(binding.ivProfile) + // binding.tvBalance.text = String.format("Rp%,.0f", store.balance.toString()) } 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 index 2f06c74..e0437b8 100644 --- 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 @@ -112,8 +112,6 @@ class DetailStoreProfileActivity : AppCompatActivity() { } else { enterEditMode() } -// val intent = Intent(this, EditStoreProfileActivity::class.java) -// startActivityForResult(intent, EDIT_PROFILE_REQUEST_CODE) } binding.layoutAddress.setOnClickListener { diff --git a/app/src/main/java/com/alya/ecommerce_serang/utils/viewmodel/MyStoreViewModel.kt b/app/src/main/java/com/alya/ecommerce_serang/utils/viewmodel/MyStoreViewModel.kt index 5dcb052..a04e593 100644 --- a/app/src/main/java/com/alya/ecommerce_serang/utils/viewmodel/MyStoreViewModel.kt +++ b/app/src/main/java/com/alya/ecommerce_serang/utils/viewmodel/MyStoreViewModel.kt @@ -68,16 +68,29 @@ class MyStoreViewModel(private val repository: MyStoreRepository): ViewModel() { ) { viewModelScope.launch { try { + val store = myStoreProfile.value + + if (store == null) { + _errorMessage.postValue("Data toko tidak tersedia") + return@launch + } + val response = repository.updateStoreProfile( - storeName, - "active".toRequestBody(), - description, - isOnLeave, - 0.toString().toRequestBody(), - 0.toString().toRequestBody(), - "".toRequestBody(), "".toRequestBody(), "".toRequestBody(), "".toRequestBody(), - "".toRequestBody(), "".toRequestBody(), "".toRequestBody(), - storeType, storeImage + storeName = storeName, + storeStatus = "active".toRequestBody(), + storeDescription = description, + isOnLeave = isOnLeave, + cityId = store.cityId.toString().toRequestBody(), + provinceId = store.provinceId.toString().toRequestBody(), + street = store.street.toRequestBody(), + subdistrict = store.subdistrict.toRequestBody(), + detail = store.detail.toRequestBody(), + postalCode = store.postalCode.toRequestBody(), + latitude = store.latitude.toRequestBody(), + longitude = store.longitude.toRequestBody(), + userPhone = store.phone.toRequestBody(), + storeType = storeType, + storeimg = storeImage ) if (response.isSuccessful) _updateStoreProfileResult.postValue(response.body()) else _errorMessage.postValue("Gagal memperbarui profil")