Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public struct ModifyTimeTableCore: Reducer {

@Dependency(\.timeTableClient) var timeTableClient
@Dependency(\.localDatabaseClient) var localDatabaseClient
@Dependency(\.userDefaultsClient) var userDefaultsClient

struct TabID: Hashable {}
public var body: some ReducerOf<ModifyTimeTableCore> {
Expand Down Expand Up @@ -135,6 +136,7 @@ public struct ModifyTimeTableCore: Reducer {
try? localDatabaseClient.save(records: modifiedTimeTables)
WidgetCenter.shared.reloadTimelines(ofKind: "TodayWhatTimeTableWidget")
state.isShowingSuccessToast = true
userDefaultsClient.setValue(.isOnModifiedTimeTable, true)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

현재 구현은 커스텀 시간표를 저장할 때마다 isOnModifiedTimeTable 설정을 true로 변경합니다. 이로 인해 사용자가 의도적으로 이 기능을 비활성화했더라도, 시간표를 수정할 때마다 다시 활성화되어 사용자 경험을 해칠 수 있습니다. 예를 들어, 방학 중에 시간표 표시를 꺼놨는데, 개학을 대비해 시간표를 미리 수정하는 경우 원치 않게 시간표가 표시될 수 있습니다.

이 설정을 자동으로 활성화하는 것은 사용자가 처음으로 커스텀 시간표를 설정할 때 한 번만 수행하는 것이 더 나은 사용자 경험을 제공할 수 있습니다. 예를 들어, 데이터베이스에 저장된 커스텀 시간표가 없을 때만 이 값을 true로 설정하는 방법을 고려해볼 수 있습니다.


case let .toastDismissed(dismissed):
state.isShowingSuccessToast = dismissed
Expand Down
Loading