diff --git a/core/designsystem/src/main/java/com/terning/core/designsystem/util/CalendarDefaults.kt b/core/designsystem/src/main/java/com/terning/core/designsystem/util/CalendarDefaults.kt index 9bcd36ac..cc67bd33 100644 --- a/core/designsystem/src/main/java/com/terning/core/designsystem/util/CalendarDefaults.kt +++ b/core/designsystem/src/main/java/com/terning/core/designsystem/util/CalendarDefaults.kt @@ -1,8 +1,14 @@ package com.terning.core.designsystem.util +import com.terning.core.designsystem.extension.currentMonth +import com.terning.core.designsystem.extension.currentYear +import java.util.Calendar + object CalendarDefaults { const val START_YEAR = 2010 - const val END_YEAR = 2030 + val END_YEAR = + if (Calendar.getInstance().currentMonth >= 10) Calendar.getInstance().currentYear + 1 + else Calendar.getInstance().currentYear const val START_MONTH = 1 const val END_MONTH = 12 } diff --git a/feature/filtering/src/main/java/com/terning/feature/filtering/startfiltering/StartFilteringRoute.kt b/feature/filtering/src/main/java/com/terning/feature/filtering/startfiltering/StartFilteringRoute.kt index b3b68134..1222e110 100644 --- a/feature/filtering/src/main/java/com/terning/feature/filtering/startfiltering/StartFilteringRoute.kt +++ b/feature/filtering/src/main/java/com/terning/feature/filtering/startfiltering/StartFilteringRoute.kt @@ -106,7 +106,7 @@ fun StartFilteringScreen( onStartClick = onStartClick, onLaterClick = onLaterClick ) - Spacer(modifier = Modifier.height((24 * screenHeight).dp)) + Spacer(modifier = Modifier.height((16 * screenHeight).dp)) } } @@ -133,7 +133,7 @@ private fun ButtonAnimation( cornerRadius = 10.dp, modifier = Modifier.padding(horizontal = 24.dp) ) - Spacer(modifier = Modifier.height(12.dp)) + Spacer(modifier = Modifier.height(20.dp)) Text( text = stringResource(R.string.start_filtering_later), style = TerningTheme.typography.detail3.copy( diff --git a/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/HomeYearMonthPicker.kt b/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/HomeYearMonthPicker.kt index ff588aa2..5238ff2e 100644 --- a/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/HomeYearMonthPicker.kt +++ b/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/HomeYearMonthPicker.kt @@ -58,25 +58,22 @@ private fun rememberPickerState() = remember { PickerState() } internal fun HomeYearMonthPicker( chosenYear: Int?, chosenMonth: Int?, - onYearChosen: (Int?, Boolean) -> Unit, - onMonthChosen: (Int?, Boolean) -> Unit, + onYearChosen: (Int?) -> Unit, + onMonthChosen: (Int?) -> Unit, isYearNull: Boolean, isMonthNull: Boolean, yearsList: ImmutableList, monthsList: ImmutableList, - isInitialNullState: Boolean, modifier: Modifier = Modifier, ) { val yearPickerState = rememberPickerState() val monthPickerState = rememberPickerState() - var isInitialSelection by remember { mutableStateOf(isInitialNullState) } - val startYearIndex = - if (isYearNull) yearsList.lastIndex else yearsList.indexOf("${chosenYear ?: "-"}년") + if (isYearNull) yearsList.lastIndex else yearsList.indexOf("${chosenYear ?: NULL_DATE}년") .takeIf { it >= 0 } ?: yearsList.lastIndex val startMonthIndex = - if (isMonthNull) monthsList.lastIndex else monthsList.indexOf("${chosenMonth ?: "-"}월") + if (isMonthNull) monthsList.lastIndex else monthsList.indexOf("${chosenMonth ?: NULL_DATE}월") .takeIf { it >= 0 } ?: monthsList.lastIndex Row( @@ -91,10 +88,9 @@ internal fun HomeYearMonthPicker( items = yearsList, startIndex = startYearIndex, onItemSelected = { year -> - if (year == NULL_DATE && !isInitialSelection) isInitialSelection = true onYearChosen( - if (year == NULL_DATE) null else year.dropLast(1).toInt(), - isInitialSelection + if (year == NULL_DATE) null + else year.dropLast(1).toInt() ) } ) @@ -105,10 +101,9 @@ internal fun HomeYearMonthPicker( items = monthsList, startIndex = startMonthIndex, onItemSelected = { month -> - if (month == NULL_DATE && !isInitialSelection) isInitialSelection = true onMonthChosen( - if (month == NULL_DATE) null else month.dropLast(1).toInt(), - isInitialSelection + if (month == NULL_DATE) null + else month.dropLast(1).toInt() ) } ) diff --git a/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/PlanFilteringScreen.kt b/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/PlanFilteringScreen.kt index 58b32100..0f1b65a8 100644 --- a/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/PlanFilteringScreen.kt +++ b/feature/home/src/main/java/com/terning/feature/home/component/bottomsheet/PlanFilteringScreen.kt @@ -54,17 +54,15 @@ internal fun PlanFilteringScreen( var isYearNull by remember { mutableStateOf(currentFilteringInfo.startYear == 0 || currentFilteringInfo.startYear == null) } var isMonthNull by remember { mutableStateOf(currentFilteringInfo.startMonth == 0 || currentFilteringInfo.startMonth == null) } - var isInitialNullState by remember { mutableStateOf(false) } - val yearsList by remember(isYearNull) { mutableStateOf( - if (isYearNull || isInitialNullState) years + NULL_DATE + if (isYearNull) years + NULL_DATE else years ) } val monthsList by remember(isMonthNull) { mutableStateOf( - if (isMonthNull || isInitialNullState) months + NULL_DATE + if (isMonthNull) months + NULL_DATE else months ) } @@ -133,27 +131,24 @@ internal fun PlanFilteringScreen( HomeYearMonthPicker( chosenYear = currentFilteringInfo.startYear, chosenMonth = currentFilteringInfo.startMonth, - onYearChosen = { year, isInitialSelection -> + onYearChosen = { year -> updateStartYear(year) if (year != null) { updateIsCheckBoxChecked(false) isYearNull = false - isInitialNullState = isInitialSelection } }, - onMonthChosen = { month, isInitialSelection -> + onMonthChosen = { month -> updateStartMonth(month) if (month != null) { updateIsCheckBoxChecked(false) isMonthNull = false - isInitialNullState = isInitialSelection } }, isYearNull = isYearNull, isMonthNull = isMonthNull, yearsList = yearsList.toImmutableList(), monthsList = monthsList.toImmutableList(), - isInitialNullState = isInitialNullState ) Row(