File tree Expand file tree Collapse file tree 3 files changed +46
-6
lines changed
Expand file tree Collapse file tree 3 files changed +46
-6
lines changed Original file line number Diff line number Diff line change 88import SwiftUI
99
1010struct FavoriteView : View {
11+ @Environment ( TaskManager . self) var taskManager
12+ @State private var isShowDoneTask : Bool = true
1113
14+ var tasks : [ TaskModel ] { taskManager. tasks. filter { $0. isFavorite && $0. isDone == false } }
15+ var doneTasks : [ TaskModel ] { taskManager. tasks. filter { $0. isFavorite && $0. isDone == true } }
16+
17+ var isShowDoneTaskButtonTitle : String {
18+ isShowDoneTask ? " 완료 숨기기 " : " 완료 보기 "
19+ }
1220
1321 var body : some View {
22+ @Bindable var taskManager = taskManager
23+
1424 NavigationStack {
1525 List {
26+ Section {
27+ if tasks. isEmpty {
28+ TaskEmptyView ( )
29+ } else {
30+ ForEach ( tasks) {
31+ TaskListItemView ( task: $0)
32+ . swipeActions {
33+ Button ( " 삭제 " ) {
34+
35+ } . tint ( Color . Todo. red)
36+ }
37+ }
38+ }
39+
40+ } header: {
41+ Text ( " 하는 중 " )
42+ }
1643
44+ if isShowDoneTask {
45+ Section {
46+ ForEach ( doneTasks) {
47+ TaskListItemView ( task: $0)
48+ . swipeActions {
49+ Button ( " 삭제 " ) {
50+
51+ } . tint ( Color . Todo. red)
52+ }
53+ }
54+ } header: {
55+ Text ( " 완료 " )
56+ }
57+ }
1758 }
59+ . buttonStyle ( . borderless) // 리스트에서 아이템을 탭했을때 모든 버튼들이 이벤트를 동시에 받는 것을 방지
1860 . toolbar {
1961 ToolbarItem ( placement: . topBarLeading) {
2062 Text ( " Star " )
2163 . font ( . Todo. title)
2264 . foregroundStyle ( Color . Todo. black)
2365 }
2466 ToolbarItem ( placement: . topBarTrailing) {
25- Button ( " 완료 숨기기 " ) {
26-
67+ Button ( isShowDoneTaskButtonTitle ) {
68+ isShowDoneTask . toggle ( )
2769 }
2870 }
2971 }
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ struct MainView: View {
1414 var tasks : [ TaskModel ] { taskManager. tasks. filter { $0. isDone == false } }
1515 var doneTasks : [ TaskModel ] { taskManager. tasks. filter { $0. isDone == true } }
1616
17- var isShowDontTaskButtonTitle : String {
17+ var isShowDoneTaskButtonTitle : String {
1818 isShowDoneTask ? " 완료 숨기기 " : " 완료 보기 "
1919 }
2020
@@ -64,7 +64,7 @@ struct MainView: View {
6464 . foregroundStyle ( Color . Todo. black)
6565 }
6666 ToolbarItem ( placement: . topBarTrailing) {
67- Button ( isShowDontTaskButtonTitle ) {
67+ Button ( isShowDoneTaskButtonTitle ) {
6868 isShowDoneTask. toggle ( )
6969 }
7070 }
Original file line number Diff line number Diff line change @@ -37,7 +37,6 @@ struct DoneButton: View {
3737
3838 var body : some View {
3939 Button {
40- print ( " done button " )
4140 isDone. toggle ( )
4241 } label: {
4342 Image ( isDone ? " ic_notyet_fill " : " ic_notyet " )
@@ -52,7 +51,6 @@ struct FavoriteButton: View {
5251
5352 var body : some View {
5453 Button {
55- print ( " favorite button " )
5654 isFavorite. toggle ( )
5755 } label: {
5856 Image ( isFavorite ? " ic_tap_star_fill " : " ic_tap_star " )
You can’t perform that action at this time.
0 commit comments