diff --git a/core/src/main/res/drawable/fi_info.xml b/core/src/main/res/drawable/fi_info.xml
new file mode 100644
index 000000000..f158b1930
--- /dev/null
+++ b/core/src/main/res/drawable/fi_info.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/core/src/main/res/drawable/ic_copy.xml b/core/src/main/res/drawable/ic_copy.xml
new file mode 100644
index 000000000..cf355af16
--- /dev/null
+++ b/core/src/main/res/drawable/ic_copy.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/data/src/main/java/in/koreatech/koin/data/mapper/StoreMapper.kt b/data/src/main/java/in/koreatech/koin/data/mapper/StoreMapper.kt
index 9fd96c7a0..8afaca9e6 100644
--- a/data/src/main/java/in/koreatech/koin/data/mapper/StoreMapper.kt
+++ b/data/src/main/java/in/koreatech/koin/data/mapper/StoreMapper.kt
@@ -69,6 +69,8 @@ fun StoreItemWithMenusResponse.toStoreWithMenu(): StoreWithMenu = StoreWithMenu(
deliveryPrice = deliveryPrice ?: 0,
isCardOk = isCardOk ?: false,
isBankOk = isBankOk ?: false,
+ updateAt = updateAt,
+ isEvent = isEvent ?: false,
open = open?.filter { it.dayOfWeek == localDayOfWeekName }?.map {
Store.OpenData(
dayOfWeek = it.dayOfWeek,
@@ -79,7 +81,9 @@ fun StoreItemWithMenusResponse.toStoreWithMenu(): StoreWithMenu = StoreWithMenu(
}.orEmpty().getOrElse(0) {Store.OpenData(localDayOfWeekName, false, "00:00", "00,00")},
imageUrls = imageUrls ?: emptyList(),
shopCategories = shopCategories?.map { it.toCategory() }.orEmpty(),
- menuCategories = menuCategories?.map { it.toCategory() }.orEmpty()
+ menuCategories = menuCategories?.map { it.toCategory() }.orEmpty(),
+ bank = bank ?: null,
+ accountNumber = accountNumber ?: null
)
fun StoreItemWithMenusResponse.CategoriesResponseDTO.toCategory() = StoreWithMenu.Category(
diff --git a/data/src/main/java/in/koreatech/koin/data/response/store/StoreItemWithMenusResponse.kt b/data/src/main/java/in/koreatech/koin/data/response/store/StoreItemWithMenusResponse.kt
index 7e5d3b38d..e33d416c4 100644
--- a/data/src/main/java/in/koreatech/koin/data/response/store/StoreItemWithMenusResponse.kt
+++ b/data/src/main/java/in/koreatech/koin/data/response/store/StoreItemWithMenusResponse.kt
@@ -14,8 +14,12 @@ data class StoreItemWithMenusResponse(
@SerializedName("pay_bank") val isBankOk: Boolean?,
@SerializedName("open") val open: List?,
@SerializedName("image_urls") val imageUrls: ArrayList?,
+ @SerializedName("updated_at") val updateAt: String,
+ @SerializedName("is_event") val isEvent: Boolean?,
@SerializedName("shop_categories") val shopCategories: List?,
@SerializedName("menu_categories") val menuCategories: List?,
+ @SerializedName("bank") val bank: String,
+ @SerializedName("account_number") val accountNumber: String
) {
data class CategoriesResponseDTO(
@SerializedName("id")
diff --git a/domain/src/main/java/in/koreatech/koin/domain/model/store/Store.kt b/domain/src/main/java/in/koreatech/koin/domain/model/store/Store.kt
index a08531ce0..d059f44f6 100644
--- a/domain/src/main/java/in/koreatech/koin/domain/model/store/Store.kt
+++ b/domain/src/main/java/in/koreatech/koin/domain/model/store/Store.kt
@@ -16,7 +16,7 @@ data class Store(
val isEvent: Boolean,
val isOpen: Boolean,
val open: OpenData,
- val categoryIds: List,
+ val categoryIds: List
) {
data class OpenData(
val dayOfWeek: String,
diff --git a/domain/src/main/java/in/koreatech/koin/domain/model/store/StoreWithMenu.kt b/domain/src/main/java/in/koreatech/koin/domain/model/store/StoreWithMenu.kt
index 566333cd7..39737d563 100644
--- a/domain/src/main/java/in/koreatech/koin/domain/model/store/StoreWithMenu.kt
+++ b/domain/src/main/java/in/koreatech/koin/domain/model/store/StoreWithMenu.kt
@@ -12,8 +12,12 @@ data class StoreWithMenu(
val isBankOk: Boolean,
val open: Store.OpenData,
val imageUrls: List?,
+ val updateAt: String,
+ val isEvent: Boolean?,
val shopCategories: List?,
val menuCategories: List?,
+ val bank: String?,
+ val accountNumber: String?
) {
data class Category(
val id: Int,
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 1e009124d..1e39e9223 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -54,7 +54,6 @@ napier = "2.6.1"
composeNumberPickerVersion = "1.0.3"
powerSpinner = "1.2.7"
firebaseCrashlyticsBuildtoolsVersion = "2.9.9"
-composeNumberPickerVersion = "1.0.3"
[libraries]
androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "activityKtxVersion" }
@@ -147,7 +146,6 @@ coil-svg = {module = "io.coil-kt:coil-svg", version.ref ="coilVersion"}
compose-numberPicker = {module = "com.chargemap.compose:numberpicker", version.ref = "composeNumberPickerVersion"}
powerSpinner = {module = "com.github.skydoves:powerspinner", version.ref = "powerSpinner"}
-compose-numberPicker = {module = "com.chargemap.compose:numberpicker", version.ref = "composeNumberPickerVersion"}
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradleVersion" }
diff --git a/koin/src/main/java/in/koreatech/koin/ui/store/activity/StoreDetailActivity.kt b/koin/src/main/java/in/koreatech/koin/ui/store/activity/StoreDetailActivity.kt
index c910b5878..4db82f318 100644
--- a/koin/src/main/java/in/koreatech/koin/ui/store/activity/StoreDetailActivity.kt
+++ b/koin/src/main/java/in/koreatech/koin/ui/store/activity/StoreDetailActivity.kt
@@ -1,7 +1,10 @@
package `in`.koreatech.koin.ui.store.activity
import android.Manifest
+import android.content.ClipData
+import android.content.ClipboardManager
import android.os.Bundle
+import android.util.Log
import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
@@ -123,6 +126,18 @@ class StoreDetailActivity : KoinNavigationDrawerActivity() {
override fun onTabReselected(p0: TabLayout.Tab?) {}
})
+ binding.storeDetailAccountCopyButton.setOnClickListener {
+
+ val clipboardManager = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
+ val clipData = ClipData.newPlainText(
+ getString(R.string.account_number),
+ binding.storeDetailAccountTextview.text
+ )
+ clipboardManager.setPrimaryClip(clipData)
+
+ ToastUtil.getInstance().makeShort(getString(R.string.store_account_copy))
+ }
+
initViewModel()
val storeId = intent.extras?.getInt(StoreDetailActivityContract.STORE_ID)
if (storeId == null) {
@@ -198,12 +213,23 @@ class StoreDetailActivity : KoinNavigationDrawerActivity() {
storeDetailEtcTextview.text = it.description
}
+ if(it.bank == null){
+ storeDetailAccountTextview.isVisible = false
+ storeDetailConstAccountTextview.isVisible = false
+ storeDetailAccountCopyButton.isVisible = false
+ }
+ else{
+ storeDetailAccountTextview.text = it.bank + " " + it.accountNumber
+ }
+
setEtcInfo(storeDetailIsCardTextview, it.isCardOk)
//카드결제
setEtcInfo(storeDetailIsCardTextview, it.isCardOk)
//계좌이체
setEtcInfo(storeDetailIsBankTextview, it.isBankOk)
+ updateInfoTv.text = getString(R.string.store_update_at, it.updateAt.replace("-", "."))
+
binding.storeDetailImageview.apply {
adapter = StoreDetailImageViewpagerAdapter(it.imageUrls)
diff --git a/koin/src/main/res/layout/store_activity_detail.xml b/koin/src/main/res/layout/store_activity_detail.xml
index 51c66f2eb..c2119b289 100644
--- a/koin/src/main/res/layout/store_activity_detail.xml
+++ b/koin/src/main/res/layout/store_activity_detail.xml
@@ -248,6 +248,53 @@
app:barrierDirection="bottom"
app:constraint_referenced_ids="store_detail_const_deliver_textview, store_detail_deliver_textview" />
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/barrier_account" />
+
+
+
+
%1$s에서
%1$s는 준비 중 입니다.
%1$s은 준비 중 입니다.
+ %1$s 업데이트
+ 계좌번호 복사 완료!
+
필수 업데이트가 있습니다.\n업데이트 하시겠습니까?
@@ -434,6 +437,7 @@
운영시간
주소정보
배달금액
+ 계좌번호
기타정보
#배달가능
#카드가능