Skip to content

Commit 263e481

Browse files
committed
디자인 가이드 적용
- Disclosure Indicator 숨김 - Todo 수정화면으로 이동했을떄 FAB를 숨김 - List 아이템 양쪽에 패딩 추가
1 parent 5503501 commit 263e481

File tree

2 files changed

+42
-20
lines changed

2 files changed

+42
-20
lines changed

Todo/View/Main/MainView.swift

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ import SwiftUI
99

1010
struct MainView: View {
1111
@Environment(TaskManager.self) var taskManager
12+
13+
@State private var showFAB: Bool = true
1214
@State private var isShowDoneTask: Bool = true
1315

14-
var tasks: [TaskModel] { taskManager.tasks.filter { $0.isDone == false } }
15-
var doneTasks: [TaskModel] {taskManager.tasks.filter { $0.isDone == true } }
16+
private var tasks: [TaskModel] { taskManager.tasks.filter { $0.isDone == false } }
17+
private var doneTasks: [TaskModel] {taskManager.tasks.filter { $0.isDone == true } }
1618

17-
var isShowDoneTaskButtonTitle: String {
19+
private var isShowDoneTaskButtonTitle: String {
1820
isShowDoneTask ? "완료 숨기기" : "완료 보기"
1921
}
2022

@@ -28,18 +30,23 @@ struct MainView: View {
2830
TaskEmptyView()
2931
} else {
3032
ForEach(tasks) { task in
31-
NavigationLink {
32-
TaskEditView(task: task)
33-
} label: {
33+
ZStack {
34+
NavigationLink {
35+
TaskEditView(task: task)
36+
} label: {
37+
EmptyView()
38+
}
39+
.swipeActions {
40+
Button("삭제") {
41+
taskManager.delete(task: task)
42+
}.tint(Color.Todo.red)
43+
}
44+
.opacity(0)
45+
3446
TaskListItemView(task: task)
3547
}
3648
.listRowSeparator(.hidden)
3749
.listRowInsets(EdgeInsets())
38-
.swipeActions {
39-
Button("삭제") {
40-
taskManager.delete(task: task)
41-
}.tint(Color.Todo.red)
42-
}
4350
}
4451
}
4552
} header: {
@@ -51,18 +58,23 @@ struct MainView: View {
5158
if isShowDoneTask {
5259
Section {
5360
ForEach(doneTasks) { task in
54-
NavigationLink {
55-
TaskEditView(task: task)
56-
} label: {
61+
ZStack {
62+
NavigationLink {
63+
TaskEditView(task: task)
64+
} label: {
65+
EmptyView()
66+
}
67+
.swipeActions {
68+
Button("삭제") {
69+
taskManager.delete(task: task)
70+
}.tint(Color.Todo.red)
71+
}
72+
.opacity(0)
73+
5774
TaskListItemView(task: task)
5875
}
5976
.listRowSeparator(.hidden)
6077
.listRowInsets(EdgeInsets())
61-
.swipeActions {
62-
Button("삭제") {
63-
taskManager.delete(task: task)
64-
}.tint(Color.Todo.red)
65-
}
6678
}
6779
} header: {
6880
Text("완료")
@@ -96,9 +108,18 @@ struct MainView: View {
96108
}
97109
}
98110
}
111+
.onAppear {
112+
showFAB = true
113+
}
114+
.onDisappear {
115+
showFAB = false
116+
}
99117
}
100118
.scrollContentBackground(.hidden)
101-
.overlay(CircleButton().offset(x: -24, y: -24), alignment: .bottomTrailing)
119+
.overlay(
120+
showFAB ? CircleButton().offset(x: -24, y: -24) : nil,
121+
alignment: .bottomTrailing
122+
)
102123
}
103124
}
104125

Todo/View/Main/TaskListItemView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ struct TaskListItemView: View {
2929

3030
FavoriteButton(isFavorite: $taskManager.tasks[taskIndex].isFavorite)
3131
}
32+
.padding([.leading, .trailing], 16)
3233
.frame(height: 64)
3334
}
3435
}

0 commit comments

Comments
 (0)