Skip to content

Commit 92f1cdb

Browse files
committed
fix: Todo 작성 시 kind가 etc로만 적용되는 현상 해결
1 parent b3aafa6 commit 92f1cdb

3 files changed

Lines changed: 26 additions & 17 deletions

File tree

DevLog/Presentation/ViewModel/TodoEditorViewModel.swift

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,30 @@ final class TodoEditorViewModel: Store {
5151
private let createdAt: Date?
5252
private let kind: TodoKind
5353

54-
init(title: String, todo: Todo? = nil) {
55-
self.navigationTitle = "\(title)"
56-
self.id = todo?.id ?? UUID().uuidString
57-
self.isPinned = todo?.isPinned ?? false
58-
self.isCompleted = todo?.isCompleted ?? false
59-
self.isChecked = todo?.isChecked ?? false
60-
self.createdAt = todo?.createdAt ?? nil
61-
self.kind = todo?.kind ?? .etc
62-
if let todo {
63-
state.title = todo.title
64-
state.content = todo.content
65-
state.dueDate = todo.dueDate
66-
state.tags = OrderedSet(todo.tags)
67-
}
54+
// 새로운 Todo 생성용 생성자
55+
init(kind: TodoKind) {
56+
self.navigationTitle = "\(kind.localizedName) 추가"
57+
self.id = UUID().uuidString
58+
self.isPinned = false
59+
self.isCompleted = false
60+
self.isChecked = false
61+
self.createdAt = nil
62+
self.kind = kind
63+
}
64+
65+
// 기존 Todo 편집용 생성자
66+
init(todo: Todo) {
67+
self.navigationTitle = "편집"
68+
self.id = todo.id
69+
self.isPinned = todo.isPinned
70+
self.isCompleted = todo.isCompleted
71+
self.isChecked = todo.isChecked
72+
self.createdAt = todo.createdAt
73+
self.kind = todo.kind
74+
state.title = todo.title
75+
state.content = todo.content
76+
state.dueDate = todo.dueDate
77+
state.tags = OrderedSet(todo.tags)
6878
}
6979

7080
func reduce(with action: Action) -> [SideEffect] {

DevLog/UI/Home/TodoDetailView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ struct TodoDetailView: View {
6262
}
6363
.fullScreenCover(isPresented: $showEditor) {
6464
TodoEditorView(
65-
viewModel: TodoEditorViewModel(title: "수정", todo: todo),
65+
viewModel: TodoEditorViewModel(todo: todo),
6666
onSubmit: { onSubmit?($0) }
6767
)
6868
}

DevLog/UI/Home/TodoView.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,8 @@ struct TodoView: View {
9898
get: { viewModel.state.showEditor },
9999
set: { _, _ in viewModel.send(.closeEditor) })
100100
) {
101-
let title = viewModel.state.kind.localizedName
102101
TodoEditorView(
103-
viewModel: TodoEditorViewModel(title: title),
102+
viewModel: TodoEditorViewModel(kind: viewModel.state.kind),
104103
onSubmit: { viewModel.send(.upsertTodo($0)) }
105104
)
106105
}

0 commit comments

Comments
 (0)