Skip to content

Commit cb798ac

Browse files
committed
fix: 체크박스 로직 수정
1 parent acb345d commit cb798ac

3 files changed

Lines changed: 17 additions & 17 deletions

File tree

DevLog/Presentation/ViewModel/PushNotificationSettingsViewModel.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ final class PushNotificationSettingsViewModel: Store {
1616
var pushNotificationHour: Int {
1717
Calendar.current.component(.hour, from: pushNotificationTime)
1818
}
19+
var pushNotificationMinute: Int {
20+
Calendar.current.component(.minute, from: pushNotificationTime)
21+
}
1922
}
2023

2124
enum Action {

DevLog/Resource/Localizable.xcstrings

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -307,12 +307,6 @@
307307
},
308308
"어제" : {
309309

310-
},
311-
"오전 %lld시" : {
312-
313-
},
314-
"오후 %lld시" : {
315-
316310
},
317311
"완료" : {
318312

DevLog/UI/Setting/PushNotificationSettingsView.swift

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,28 @@ struct PushNotificationSettingsView: View {
2525
})
2626
Section {
2727
ForEach([9, 15, 18, 21], id: \.self) { hour in
28-
HStack {
29-
Text((hour < 12 ? "오전 \(hour)" : "오후 \(hour - 12)"))
30-
Spacer()
31-
if viewModel.state.pushNotificationHour == hour {
32-
Image(systemName: "checkmark")
33-
.foregroundStyle(Color.accentColor)
28+
if let date = Calendar.current.date(bySettingHour: hour, minute: 0, second: 0, of: Date()) {
29+
HStack {
30+
Text(formattedTimeString(date))
31+
Spacer()
32+
if viewModel.state.pushNotificationHour == hour &&
33+
viewModel.state.pushNotificationMinute == 0 {
34+
Image(systemName: "checkmark")
35+
.foregroundStyle(Color.accentColor)
36+
}
37+
}
38+
.contentShape(Rectangle())
39+
.onTapGesture {
40+
viewModel.send(.setPushNotificationHour(hour))
3441
}
35-
}
36-
.contentShape(Rectangle())
37-
.onTapGesture {
38-
viewModel.send(.setPushNotificationHour(hour))
3942
}
4043
}
4144
HStack {
4245
Text("사용자 설정")
4346
Spacer()
4447
Text(formattedTimeString(viewModel.state.pushNotificationTime))
4548
.foregroundStyle(.secondary)
46-
if ![9, 15, 18, 21].contains(viewModel.state.pushNotificationHour) {
49+
if viewModel.state.pushNotificationMinute != 0 {
4750
Image(systemName: "checkmark")
4851
.foregroundStyle(Color.accentColor)
4952
}

0 commit comments

Comments
 (0)