diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0b4ff4e2..40472a6f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -36,6 +36,16 @@
android:exported="false"
android:screenOrientation="portrait" />
+
+
+
+
\ No newline at end of file
diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/AddressInfoModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/AddressInfoModel.kt
new file mode 100644
index 00000000..cbcecb88
--- /dev/null
+++ b/domain/src/main/kotlin/co/orange/domain/entity/response/AddressInfoModel.kt
@@ -0,0 +1,8 @@
+package co.orange.domain.entity.response
+
+data class AddressInfoModel(
+ val recipient: String,
+ val zipCode: String,
+ val address: String,
+ val phone: String
+)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/BuyDetailModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/BuyDetailModel.kt
new file mode 100644
index 00000000..b38662e8
--- /dev/null
+++ b/domain/src/main/kotlin/co/orange/domain/entity/response/BuyDetailModel.kt
@@ -0,0 +1,17 @@
+package co.orange.domain.entity.response
+
+import co.orange.domain.enums.OrderStatus
+
+data class BuyDetailModel(
+ val orderId: String,
+ val orderStatus: OrderStatus,
+ val productName: String,
+ val imgUrl: String,
+ val originPrice: Int,
+ val sellerNickname: String,
+ val addressInfo: List,
+ val paymentInfo: List,
+ val discountPrice: Int,
+ val charge: Int,
+ val totalPrice: Int,
+)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/BuyInfoModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/BuyInfoModel.kt
new file mode 100644
index 00000000..42404921
--- /dev/null
+++ b/domain/src/main/kotlin/co/orange/domain/entity/response/BuyInfoModel.kt
@@ -0,0 +1,11 @@
+package co.orange.domain.entity.response
+
+data class BuyInfoModel(
+ val productName: String,
+ val imgUrl: String,
+ val originPrice: Int,
+ val addressInfo: List,
+ val discountPrice: Int,
+ val charge: Int,
+ val totalPrice: Int,
+)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/co/orange/domain/entity/response/PaymentInfoModel.kt b/domain/src/main/kotlin/co/orange/domain/entity/response/PaymentInfoModel.kt
new file mode 100644
index 00000000..1e6c46f3
--- /dev/null
+++ b/domain/src/main/kotlin/co/orange/domain/entity/response/PaymentInfoModel.kt
@@ -0,0 +1,6 @@
+package co.orange.domain.entity.response
+
+data class PaymentInfoModel(
+ val method: String,
+ val completedAt: String
+)
\ No newline at end of file
diff --git a/domain/src/main/kotlin/co/orange/domain/enums/OrderStatus.kt b/domain/src/main/kotlin/co/orange/domain/enums/OrderStatus.kt
new file mode 100644
index 00000000..fe36c2d7
--- /dev/null
+++ b/domain/src/main/kotlin/co/orange/domain/enums/OrderStatus.kt
@@ -0,0 +1,5 @@
+package co.orange.domain.enums
+
+enum class OrderStatus {
+ ORDER_PLACED, SHIPPING, COMPLETED, CANCELLED
+}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmActivity.kt b/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmActivity.kt
index f4d45727..1d248cf3 100644
--- a/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmActivity.kt
+++ b/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmActivity.kt
@@ -4,6 +4,8 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.activity.viewModels
+import co.orange.domain.entity.response.BuyInfoModel
+import co.orange.presentation.buy.push.BuyPushActivity
import coil.load
import dagger.hilt.android.AndroidEntryPoint
import kr.genti.core.base.BaseActivity
@@ -24,7 +26,7 @@ class BuyConfirmActivity : BaseActivity(R.layout.acti
initTermBtnListener()
initConfirmBtnListener()
getIntentInfo()
- setIntentUi()
+ setIntentUi(viewModel.mockBuyInfo)
}
private fun initExitBtnListener() {
@@ -33,63 +35,54 @@ class BuyConfirmActivity : BaseActivity(R.layout.acti
private fun initDeliveryChangeBtnListener() {
// TODO
- binding.btnChangeDelivery.setOnSingleClickListener { }
+ binding.btnChangeDelivery.setOnSingleClickListener { }
}
private fun initTermBtnListener() {
//TODO
- binding.btnTermAll.setOnSingleClickListener { }
- binding.btnTermFirst.setOnSingleClickListener { }
- binding.btnTermSecond.setOnSingleClickListener { }
- binding.btnTermThird.setOnSingleClickListener { }
+ binding.btnTermAll.setOnSingleClickListener { }
+ binding.btnTermFirst.setOnSingleClickListener { }
+ binding.btnTermSecond.setOnSingleClickListener { }
+ binding.btnTermThird.setOnSingleClickListener { }
}
private fun initConfirmBtnListener() {
- // TODO
- binding.btnConfirmPurchase.setOnSingleClickListener { }
+ binding.btnConfirmPurchase.setOnSingleClickListener {
+ // TODO 구매 요청 서버통신 이후
+ BuyPushActivity.createIntent(this, viewModel.productId).apply {
+ startActivity(this)
+ }
+ }
}
private fun getIntentInfo() {
- with(viewModel) {
- imageUrl = intent.getStringExtra(EXTRA_PRODUCT_URL).orEmpty()
- originPrice = intent.getIntExtra(EXTRA_ORIGIN_PRICE, 0)
- salePrice = intent.getIntExtra(EXTRA_SALE_PRICE, 0)
- name = intent.getStringExtra(EXTRA_NAME).orEmpty()
- }
+ viewModel.productId = intent.getLongExtra(EXTRA_PRODUCT_ID, -1)
}
- private fun setIntentUi() {
+ private fun setIntentUi(item: BuyInfoModel) {
with(binding) {
- tvConfirmProductName.text = viewModel.name
- ivConfirmProduct.load(viewModel.imageUrl)
- tvConfirmProductPrice.text = viewModel.salePrice.setNumberForm()
- tvConfirmPriceMoney.text = viewModel.salePrice.setNumberForm()
- // TODO
- tvConfirmPriceDiscount.text = "-3,000"
- tvConfirmPriceCharge.text = "+350"
- tvConfirmPriceTotal.text = "21,350"
+ tvConfirmProductName.text = item.productName
+ ivConfirmProduct.load(item.imgUrl)
+ tvConfirmProductPrice.text = item.originPrice.setNumberForm()
+ tvConfirmPriceMoney.text = item.originPrice.setNumberForm()
+ tvConfirmPriceDiscount.text =
+ getString(R.string.add_minus, item.discountPrice.setNumberForm())
+ tvConfirmPriceCharge.text =
+ getString(R.string.add_plus, item.charge.setNumberForm())
+ tvConfirmPriceTotal.text = item.totalPrice.setNumberForm()
}
}
companion object {
- private const val EXTRA_PRODUCT_URL = "EXTRA_PRODUCT_URL"
- private const val EXTRA_ORIGIN_PRICE = "EXTRA_ORIGIN_PRICE"
- private const val EXTRA_SALE_PRICE = "EXTRA_SALE_PRICE"
- private const val EXTRA_NAME = "EXTRA_NAME"
+ private const val EXTRA_PRODUCT_ID = "EXTRA_PRODUCT_ID"
@JvmStatic
fun createIntent(
context: Context,
- productUrl: String,
- originPrice: Int,
- salePrice: Int,
- name: String
+ productId: Long
): Intent = Intent(context, BuyConfirmActivity::class.java).apply {
- putExtra(EXTRA_PRODUCT_URL, productUrl)
- putExtra(EXTRA_ORIGIN_PRICE, originPrice)
- putExtra(EXTRA_SALE_PRICE, salePrice)
- putExtra(EXTRA_NAME, name)
+ putExtra(EXTRA_PRODUCT_ID, productId)
}
}
}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmViewModel.kt b/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmViewModel.kt
index d3ad63d3..4730655f 100644
--- a/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmViewModel.kt
+++ b/presentation/src/main/java/co/orange/presentation/buy/confirm/BuyConfirmViewModel.kt
@@ -1,6 +1,8 @@
package co.orange.presentation.buy.confirm
import androidx.lifecycle.ViewModel
+import co.orange.domain.entity.response.AddressInfoModel
+import co.orange.domain.entity.response.BuyInfoModel
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
@@ -11,9 +13,22 @@ constructor(
// private val feedRepository: FeedRepository,
) : ViewModel() {
- var imageUrl: String = ""
- var originPrice: Int = 0
- var salePrice: Int = 0
- var name: String = ""
+ var productId: Long = -1
+ val mockBuyInfo = BuyInfoModel(
+ "상품이름은 한줄로만 보여줄거에야야야야야야",
+ "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f",
+ 24000,
+ listOf(
+ AddressInfoModel(
+ "김상호",
+ "04567",
+ "서울특벌시 성동구 성수이로 137 107동 903호",
+ "010-3259-0327"
+ )
+ ),
+ 3000,
+ 350,
+ 21350
+ )
}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/buy/finished/BuyFinishedActivity.kt b/presentation/src/main/java/co/orange/presentation/buy/finished/BuyFinishedActivity.kt
new file mode 100644
index 00000000..2904a84a
--- /dev/null
+++ b/presentation/src/main/java/co/orange/presentation/buy/finished/BuyFinishedActivity.kt
@@ -0,0 +1,89 @@
+package co.orange.presentation.buy.finished
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import androidx.activity.viewModels
+import co.orange.domain.entity.response.BuyDetailModel
+import co.orange.presentation.main.MainActivity
+import coil.load
+import dagger.hilt.android.AndroidEntryPoint
+import kr.genti.core.base.BaseActivity
+import kr.genti.core.extension.breakLines
+import kr.genti.core.extension.setNumberForm
+import kr.genti.core.extension.setOnSingleClickListener
+import kr.genti.presentation.R
+import kr.genti.presentation.databinding.ActivityBuyFinishedBinding
+
+@AndroidEntryPoint
+class BuyFinishedActivity :
+ BaseActivity(R.layout.activity_buy_finished) {
+ private val viewModel by viewModels()
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ initReturnBtnListener()
+ initDetailBtnListener()
+ getIntentInfo()
+ setIntentUi(viewModel.mockBuyInfo)
+ }
+
+ private fun initReturnBtnListener() {
+ binding.btnHome.setOnSingleClickListener { navigateToHome() }
+ binding.btnKeepShopping.setOnSingleClickListener { navigateToHome() }
+ }
+
+ private fun navigateToHome() {
+ Intent(this, MainActivity::class.java).apply {
+ addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+ addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
+ startActivity(this)
+ }
+ }
+
+ private fun initDetailBtnListener() {
+ // TODO
+ binding.btnShowDetail.setOnSingleClickListener { }
+ }
+
+ private fun getIntentInfo() {
+ viewModel.productId = intent.getLongExtra(EXTRA_PRODUCT_ID, -1)
+ }
+
+ private fun setIntentUi(item: BuyDetailModel) {
+ with(binding) {
+ tvFinishedTransaction.text =
+ getString(R.string.transaction_id, item.orderId).breakLines()
+ ivFinishedItem.load(item.imgUrl)
+ tvFinishedItemName.text = item.productName
+ tvFinishedItemPrice.text = item.originPrice.setNumberForm()
+ tvFinishedDeliveryName.text = item.addressInfo[0].recipient
+ tvFinishedDeliveryAddress.text = getString(
+ R.string.address_format,
+ item.addressInfo[0].zipCode,
+ item.addressInfo[0].address
+ ).breakLines()
+ tvFinishedDeliveryPhone.text = item.addressInfo[0].phone
+ tvFinishedTransactionMethod.text = item.paymentInfo[0].method
+ tvFinishedTransactionDate.text = item.paymentInfo[0].completedAt
+ tvFinishedPayMoney.text = item.originPrice.setNumberForm()
+ tvFinishedPayDiscount.text = getString(R.string.add_minus, item.discountPrice.setNumberForm())
+ tvFinishedPayCharge.text = getString(R.string.add_plus, item.charge.setNumberForm())
+ tvFinishedPayTotal.text = item.totalPrice.setNumberForm()
+ }
+ }
+
+
+ companion object {
+ private const val EXTRA_PRODUCT_ID = "EXTRA_PRODUCT_ID"
+
+ @JvmStatic
+ fun createIntent(
+ context: Context,
+ productId: Long
+ ): Intent = Intent(context, BuyFinishedActivity::class.java).apply {
+ putExtra(EXTRA_PRODUCT_ID, productId)
+ }
+ }
+}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/buy/finished/BuyFinishedViewModel.kt b/presentation/src/main/java/co/orange/presentation/buy/finished/BuyFinishedViewModel.kt
new file mode 100644
index 00000000..5b74ec54
--- /dev/null
+++ b/presentation/src/main/java/co/orange/presentation/buy/finished/BuyFinishedViewModel.kt
@@ -0,0 +1,45 @@
+package co.orange.presentation.buy.finished
+
+import androidx.lifecycle.ViewModel
+import co.orange.domain.entity.response.AddressInfoModel
+import co.orange.domain.entity.response.BuyDetailModel
+import co.orange.domain.entity.response.PaymentInfoModel
+import co.orange.domain.enums.OrderStatus
+import dagger.hilt.android.lifecycle.HiltViewModel
+import javax.inject.Inject
+
+@HiltViewModel
+class BuyFinishedViewModel
+@Inject
+constructor(
+ // private val feedRepository: FeedRepository,
+) : ViewModel() {
+
+ var productId: Long = -1
+
+ val mockBuyInfo = BuyDetailModel(
+ "123e4567-e89b-12d3-a456-426614174000",
+ OrderStatus.ORDER_PLACED,
+ "상품이름은 한줄로만 보여줄거에야야야야야야",
+ "https://github.com/Marchbreeze/Marchbreeze/assets/97405341/cd2c0454-92b4-41e7-ae2f-319f83e2426f",
+ 24000,
+ "등둔",
+ listOf(
+ AddressInfoModel(
+ "김상호",
+ "04567",
+ "서울특벌시 성동구 성수이로 137 107동 903호",
+ "010-3259-0327"
+ )
+ ),
+ listOf(
+ PaymentInfoModel(
+ "NAVERPAY",
+ "2024.06.06"
+ )
+ ),
+ 3000,
+ 350,
+ 21350
+ )
+}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/buy/push/BuyPushActivity.kt b/presentation/src/main/java/co/orange/presentation/buy/push/BuyPushActivity.kt
new file mode 100644
index 00000000..52e2096c
--- /dev/null
+++ b/presentation/src/main/java/co/orange/presentation/buy/push/BuyPushActivity.kt
@@ -0,0 +1,62 @@
+package co.orange.presentation.buy.push
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import co.orange.presentation.buy.finished.BuyFinishedActivity
+import dagger.hilt.android.AndroidEntryPoint
+import kr.genti.core.base.BaseActivity
+import kr.genti.core.extension.setOnSingleClickListener
+import kr.genti.presentation.R
+import kr.genti.presentation.databinding.ActivityPushBinding
+
+@AndroidEntryPoint
+class BuyPushActivity : BaseActivity(R.layout.activity_push) {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ // TODO: 뒤로가기 방지 추가
+ initExitBtnListener()
+ initAlarmBtnListener()
+ }
+
+ private fun initExitBtnListener() {
+ with(binding) {
+ btnExit.setOnSingleClickListener {
+ navigateToFinishedActivity()
+ }
+ btnLater.setOnSingleClickListener {
+ navigateToFinishedActivity()
+ }
+ }
+ }
+
+ private fun initAlarmBtnListener() {
+ binding.btnAlarm.setOnSingleClickListener {
+ // TODO 푸시알람
+ navigateToFinishedActivity()
+ }
+ }
+
+
+ private fun navigateToFinishedActivity() {
+ val productId = intent.getLongExtra(EXTRA_PRODUCT_ID,-1)
+ BuyFinishedActivity.createIntent(this, productId).apply {
+ startActivity(this)
+ }
+
+ }
+
+ companion object {
+ private const val EXTRA_PRODUCT_ID = "EXTRA_PRODUCT_ID"
+
+ @JvmStatic
+ fun createIntent(
+ context: Context,
+ productId: Long,
+ ): Intent = Intent(context, BuyPushActivity::class.java).apply {
+ putExtra(EXTRA_PRODUCT_ID, productId)
+ }
+ }
+}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt b/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt
index 8f989e3c..946ddbd5 100644
--- a/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt
+++ b/presentation/src/main/java/co/orange/presentation/detail/DetailActivity.kt
@@ -63,6 +63,7 @@ class DetailActivity : BaseActivity(R.layout.activity_det
private fun getIntentInfo() {
with(viewModel) {
+ productId =intent.getLongExtra(EXTRA_PRODUCT_ID, -1)
imageUrl = intent.getStringExtra(EXTRA_PRODUCT_URL).orEmpty()
originPrice = intent.getIntExtra(EXTRA_ORIGIN_PRICE, 0)
salePrice = intent.getIntExtra(EXTRA_SALE_PRICE, 0)
@@ -101,6 +102,7 @@ class DetailActivity : BaseActivity(R.layout.activity_det
}
companion object {
+ private const val EXTRA_PRODUCT_ID = "EXTRA_PRODUCT_ID"
private const val EXTRA_PRODUCT_URL = "EXTRA_PRODUCT_URL"
private const val EXTRA_ORIGIN_PRICE = "EXTRA_ORIGIN_PRICE"
private const val EXTRA_SALE_PRICE = "EXTRA_SALE_PRICE"
@@ -110,10 +112,12 @@ class DetailActivity : BaseActivity(R.layout.activity_det
@JvmStatic
fun createIntent(
context: Context,
+ productId: Long,
productUrl: String,
originPrice: Int,
salePrice: Int,
): Intent = Intent(context, DetailActivity::class.java).apply {
+ putExtra(EXTRA_PRODUCT_ID, productId)
putExtra(EXTRA_PRODUCT_URL, productUrl)
putExtra(EXTRA_ORIGIN_PRICE, originPrice)
putExtra(EXTRA_SALE_PRICE, salePrice)
diff --git a/presentation/src/main/java/co/orange/presentation/detail/DetailViewModel.kt b/presentation/src/main/java/co/orange/presentation/detail/DetailViewModel.kt
index 95d0c8f1..dbb58796 100644
--- a/presentation/src/main/java/co/orange/presentation/detail/DetailViewModel.kt
+++ b/presentation/src/main/java/co/orange/presentation/detail/DetailViewModel.kt
@@ -12,6 +12,7 @@ class DetailViewModel
constructor(
// private val feedRepository: FeedRepository,
) : ViewModel() {
+ var productId: Long = -1
var imageUrl: String = ""
var originPrice: Int = 0
var salePrice: Int = 0
@@ -26,10 +27,10 @@ constructor(
"",
123,
listOf(
- OptionModel(1,"옵션 1", listOf()),
- OptionModel(2,"옵션 2", listOf()),
- OptionModel(3,"옵션 3", listOf()),
- OptionModel(4,"옵션 4", listOf())
+ OptionModel(1, "옵션 1", listOf()),
+ OptionModel(2, "옵션 2", listOf()),
+ OptionModel(3, "옵션 3", listOf()),
+ OptionModel(4, "옵션 4", listOf())
)
)
}
\ No newline at end of file
diff --git a/presentation/src/main/java/co/orange/presentation/detail/OptionBottomSheet.kt b/presentation/src/main/java/co/orange/presentation/detail/OptionBottomSheet.kt
index b17ea82f..4cf4025e 100644
--- a/presentation/src/main/java/co/orange/presentation/detail/OptionBottomSheet.kt
+++ b/presentation/src/main/java/co/orange/presentation/detail/OptionBottomSheet.kt
@@ -49,10 +49,7 @@ class OptionBottomSheet :
// TODO 버튼 활성화 설정
BuyConfirmActivity.createIntent(
requireContext(),
- viewModel.imageUrl,
- viewModel.originPrice,
- viewModel.salePrice,
- viewModel.mockProduct.name
+ viewModel.productId
).apply {
startActivity(this)
}
diff --git a/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt b/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt
index d77de9af..2102b5ca 100644
--- a/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt
+++ b/presentation/src/main/java/co/orange/presentation/main/home/HomeFragment.kt
@@ -55,7 +55,7 @@ class HomeFragment() : BaseFragment(R.layout.fragment_home)
private fun initBannerClickListener(unit: Unit) {}
private fun initProductClickListener(item: ProductModel) {
- DetailActivity.createIntent(requireContext(), item.imgUrl, item.originPrice, item.salePrice)
+ DetailActivity.createIntent(requireContext(), item.productId, item.imgUrl, item.originPrice, item.salePrice)
.apply { startActivity(this) }
}
diff --git a/presentation/src/main/res/drawable/ic_check_circle.xml b/presentation/src/main/res/drawable/ic_check_circle.xml
new file mode 100644
index 00000000..0b5448e2
--- /dev/null
+++ b/presentation/src/main/res/drawable/ic_check_circle.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/presentation/src/main/res/drawable/ic_push_alarm.xml b/presentation/src/main/res/drawable/ic_push_alarm.xml
new file mode 100644
index 00000000..23bd1abc
--- /dev/null
+++ b/presentation/src/main/res/drawable/ic_push_alarm.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/presentation/src/main/res/drawable/shape_black_line_10_rect.xml b/presentation/src/main/res/drawable/shape_black_line_10_rect.xml
new file mode 100644
index 00000000..9db14977
--- /dev/null
+++ b/presentation/src/main/res/drawable/shape_black_line_10_rect.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/presentation/src/main/res/drawable/shape_gray2_line_10_rect.xml b/presentation/src/main/res/drawable/shape_gray2_line_10_rect.xml
new file mode 100644
index 00000000..7f438bf9
--- /dev/null
+++ b/presentation/src/main/res/drawable/shape_gray2_line_10_rect.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/presentation/src/main/res/layout/activity_buy_confirm.xml b/presentation/src/main/res/layout/activity_buy_confirm.xml
index b80c99f1..321f9e48 100644
--- a/presentation/src/main/res/layout/activity_buy_confirm.xml
+++ b/presentation/src/main/res/layout/activity_buy_confirm.xml
@@ -36,7 +36,7 @@
android:id="@+id/btn_exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="20dp"
+ android:layout_marginEnd="8dp"
android:padding="12dp"
android:src="@drawable/ic_exit"
app:layout_constraintBottom_toBottomOf="@id/tv_confirm_title"
@@ -280,7 +280,7 @@
+ android:src="@drawable/ic_check_circle" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/presentation/src/main/res/layout/activity_push.xml b/presentation/src/main/res/layout/activity_push.xml
new file mode 100644
index 00000000..0f8199f2
--- /dev/null
+++ b/presentation/src/main/res/layout/activity_push.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml
index 02e2092a..67d18144 100644
--- a/presentation/src/main/res/values/strings.xml
+++ b/presentation/src/main/res/values/strings.xml
@@ -11,6 +11,9 @@
Billing Manager is not initialized
Unknown View Type : %d
+ +%s
+ -%s
+
홈
마이페이지
@@ -34,4 +37,27 @@
*각인 옵션은 사용할 수 없습니다.
구매하기
+
+ 푸시 알림이\n설정되어 있지 않아요!
+ 원만한 거래를 위해서는\n푸시알림 설정이 필요해요
+ 나중에 받을게요
+ 알림받기
+
+ 주문 완료
+ 주문 완료되었습니다
+ 주문 확인 후 거래가 진행됩니다.
+ 배송지
+ 거래 정보
+ 결제 수단
+ 결제 일자
+ 결제 정보
+ 상품 금액
+ 할인가
+ 수수료
+ 최종 결제 금액
+ 계속 쇼핑하기
+ 상세 내역 보러가기
+
+ 거래 번호 %s
+ (%s) %s
\ No newline at end of file