diff --git a/presentation/src/main/java/co/orange/presentation/sell/progress/SellDateBottomSheet.kt b/presentation/src/main/java/co/orange/presentation/sell/progress/SellDateBottomSheet.kt new file mode 100644 index 00000000..3bab71b4 --- /dev/null +++ b/presentation/src/main/java/co/orange/presentation/sell/progress/SellDateBottomSheet.kt @@ -0,0 +1,58 @@ +package co.orange.presentation.sell.progress + +import android.os.Bundle +import android.view.View +import androidx.fragment.app.activityViewModels +import co.orange.core.base.BaseBottomSheet +import co.orange.core.extension.setOnSingleClickListener +import kr.genti.presentation.R +import kr.genti.presentation.databinding.BottomSheetSellDateBinding +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Locale + +class SellDateBottomSheet : + BaseBottomSheet(R.layout.bottom_sheet_sell_date) { + private val viewModel by activityViewModels() + + override fun onStart() { + super.onStart() + dialog?.window?.setBackgroundDrawableResource(R.color.transparent) + } + + override fun onViewCreated( + view: View, + savedInstanceState: Bundle?, + ) { + super.onViewCreated(view, savedInstanceState) + + initSubmitBtnListener() + setDatePicker() + } + + private fun initSubmitBtnListener() { + binding.btnSubmit.setOnSingleClickListener { + viewModel.sellDate = getDateFromDatePicker() + dismiss() + } + } + + private fun getDateFromDatePicker(): String = + with(binding.dpSell) { + SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format( + Calendar.getInstance().apply { + set(year, month, dayOfMonth) + }.time, + ) + } + + private fun setDatePicker() { + binding.dpSell.apply { + val calendar = Calendar.getInstance() + calendar.add(Calendar.DAY_OF_YEAR, -7) + minDate = calendar.timeInMillis + calendar.add(Calendar.DAY_OF_YEAR, 14) + maxDate = calendar.timeInMillis + } + } +} diff --git a/presentation/src/main/java/co/orange/presentation/sell/progress/SellProgressViewModel.kt b/presentation/src/main/java/co/orange/presentation/sell/progress/SellProgressViewModel.kt index 3d67ecf3..1c2d25a9 100644 --- a/presentation/src/main/java/co/orange/presentation/sell/progress/SellProgressViewModel.kt +++ b/presentation/src/main/java/co/orange/presentation/sell/progress/SellProgressViewModel.kt @@ -20,6 +20,8 @@ class SellProgressViewModel var productId = "" var isAccountExist = false + var sellDate = "" + private val _getProductState = MutableStateFlow>(UiState.Empty) val getProductState: StateFlow> = _getProductState diff --git a/presentation/src/main/res/layout/activity_sell_progress.xml b/presentation/src/main/res/layout/activity_sell_progress.xml index ded43044..a5e25c73 100644 --- a/presentation/src/main/res/layout/activity_sell_progress.xml +++ b/presentation/src/main/res/layout/activity_sell_progress.xml @@ -185,18 +185,18 @@ + app:layout_constraintTop_toBottomOf="@id/tv_sell_date_subtitle" /> + + + + + + + + + + + + + + + + + diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index 4080a94b..665bc417 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -160,6 +160,7 @@ 판매 가격 받은 날짜 배송지 입력 기간 이내의 상품만 등록 가능합니다. + 클릭해서 날짜를 선택하세요 해당 상품이 맞나요? 네 맞아요