From d9026f8594b9aae3db65f09bee11dd2e47aeb6f1 Mon Sep 17 00:00:00 2001 From: SYAAINN Date: Fri, 15 Aug 2025 00:23:36 +0900 Subject: [PATCH] =?UTF-8?q?[REFACTOR/#322]=20TimePicker=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=EC=9D=84=20=EC=88=98=EC=A0=95=ED=95=A9=EB=8B=88?= =?UTF-8?q?=EB=8B=A4.=20"=EC=98=A4=EC=A0=84"=EC=9C=BC=EB=A1=9C=20=ED=95=98?= =?UTF-8?q?=EB=93=9C=EC=BD=94=EB=94=A9=20=EB=90=98=EC=96=B4=EC=9E=88?= =?UTF-8?q?=EC=96=B4=EC=84=9C=20TimePeriod=EA=B0=80=20=EB=B0=94=EB=80=8C?= =?UTF-8?q?=EC=A7=80=EC=95=8A=EC=95=98=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NotificationSettingTimePicker.kt | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/sopt/clody/presentation/ui/setting/notificationsetting/component/NotificationSettingTimePicker.kt b/app/src/main/java/com/sopt/clody/presentation/ui/setting/notificationsetting/component/NotificationSettingTimePicker.kt index 23c3ecde..e6fae3c2 100644 --- a/app/src/main/java/com/sopt/clody/presentation/ui/setting/notificationsetting/component/NotificationSettingTimePicker.kt +++ b/app/src/main/java/com/sopt/clody/presentation/ui/setting/notificationsetting/component/NotificationSettingTimePicker.kt @@ -36,14 +36,21 @@ fun NotificationSettingTimePicker( onDismissRequest: () -> Unit, onConfirm: (TimePeriod, String, String) -> Unit, ) { - val amPmItemsLabel = TimePeriod.entries.map { it.getLabel() } - val amPmItems = remember { amPmItemsLabel } + val amPmEnumItems = listOf(TimePeriod.AM, TimePeriod.PM) + val amPmLabelItems = amPmEnumItems.map { it.getLabel() } + val hourItems = remember { (1..12).map { it.toString() } } val minuteItems = remember { listOf("00", "10", "20", "30", "40", "50") } - val amPmPickerState = rememberPickerState() - val hourPickerState = rememberPickerState() - val minutePickerState = rememberPickerState() + val amPmPickerState = rememberPickerState().apply { + selectedItem = amPmLabelItems[1] + } + val hourPickerState = rememberPickerState().apply { + selectedItem = "9" + } + val minutePickerState = rememberPickerState().apply { + selectedItem = "30" + } Surface( modifier = Modifier @@ -105,7 +112,7 @@ fun NotificationSettingTimePicker( Spacer(Modifier.weight(1f)) ClodyPicker( state = amPmPickerState, - items = amPmItems, + items = amPmLabelItems, startIndex = 1, visibleItemsCount = 3, infiniteScroll = false, @@ -138,8 +145,12 @@ fun NotificationSettingTimePicker( } ClodyButton( onClick = { - val selectedPeriod = if (amPmPickerState.selectedItem == "오전") TimePeriod.AM else TimePeriod.PM - onConfirm(selectedPeriod, hourPickerState.selectedItem, minutePickerState.selectedItem) + val selectedLabel = amPmPickerState.selectedItem + val selectedPeriod = amPmEnumItems.getOrElse(amPmLabelItems.indexOf(selectedLabel)) { TimePeriod.PM } + val selectedHour = hourPickerState.selectedItem + val selectedMinute = minutePickerState.selectedItem + + onConfirm(selectedPeriod, selectedHour, selectedMinute) }, text = stringResource(R.string.bottom_sheet_notification_time_change_confirm), enabled = true,