Skip to content

Commit 1c4149e

Browse files
committed
refactor: 프로젝트가 ios 17기반이므로 불필요한 버전 별 분기 제거
1 parent c7bb349 commit 1c4149e

2 files changed

Lines changed: 26 additions & 59 deletions

File tree

DevLog/UI/Home/TodoListView.swift

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -154,22 +154,13 @@ struct TodoListView: View {
154154

155155
@ViewBuilder
156156
private var todoSearchContent: some View {
157-
let searchTextBinding = Binding(
158-
get: { viewModel.state.searchText },
159-
set: { viewModel.send(.setSearchText($0)) }
160-
)
161-
let isSearchingBinding = Binding(
162-
get: { viewModel.state.isSearching },
163-
set: { viewModel.send(.setIsSearching($0)) }
164-
)
165-
166157
let searchResults = viewModel.state.searchResults
167158
let limit = viewModel.searchResultsLimit
168159
let displayedTodos = viewModel.state.showAllSearchResults
169160
? searchResults
170161
: Array(searchResults.prefix(limit))
171162

172-
let content = ScrollView {
163+
ScrollView {
173164
LazyVStack(spacing: 0) {
174165
if viewModel.state.searchText.isEmpty {
175166
Text("검색어를 입력해주세요.")
@@ -209,28 +200,18 @@ struct TodoListView: View {
209200
}
210201
}
211202
}
212-
213-
Group {
214-
if #available(iOS 17.0, *) {
215-
content.searchable(
216-
text: searchTextBinding,
217-
isPresented: isSearchingBinding,
218-
placement: .navigationBarDrawer(displayMode: .always),
219-
prompt: "\(viewModel.state.kind.localizedName) 검색"
220-
)
221-
} else {
222-
content.searchable(
223-
text: searchTextBinding,
224-
placement: .navigationBarDrawer(displayMode: .always),
225-
prompt: "\(viewModel.state.kind.localizedName) 검색"
226-
)
227-
}
228-
}
229-
.onAppear {
230-
DispatchQueue.main.async {
231-
viewModel.send(.setIsSearching(true))
232-
}
233-
}
203+
.searchable(
204+
text: Binding(
205+
get: { viewModel.state.searchText },
206+
set: { viewModel.send(.setSearchText($0)) }
207+
),
208+
isPresented: Binding(
209+
get: { viewModel.state.isSearching },
210+
set: { viewModel.send(.setIsSearching($0)) }
211+
),
212+
placement: .navigationBarDrawer(displayMode: .always),
213+
prompt: "\(viewModel.state.kind.localizedName) 검색"
214+
)
234215
}
235216

236217
private var headerView: some View {

DevLog/UI/Search/SearchView.swift

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,7 @@ struct SearchView: View {
5959

6060
@ViewBuilder
6161
private var searchableContent: some View {
62-
let searchQueryBinding = Binding(
63-
get: { viewModel.state.searchQuery },
64-
set: { viewModel.send(.setSearchQuery($0)) }
65-
)
66-
let searchingBinding = Binding(
67-
get: { viewModel.state.isSearching },
68-
set: { viewModel.send(.setSearching($0)) }
69-
)
70-
71-
let scrollContent = ScrollView {
62+
ScrollView {
7263
LazyVStack(alignment: .leading, spacing: 0) {
7364
if viewModel.state.isLoading {
7465
LoadingView()
@@ -86,23 +77,18 @@ struct SearchView: View {
8677
}
8778
.frame(maxWidth: .infinity, alignment: .leading)
8879
}
89-
90-
Group {
91-
if #available(iOS 17.0, *) {
92-
scrollContent.searchable(
93-
text: searchQueryBinding,
94-
isPresented: searchingBinding,
95-
placement: .navigationBarDrawer(displayMode: .always),
96-
prompt: "검색"
97-
)
98-
} else {
99-
scrollContent.searchable(
100-
text: searchQueryBinding,
101-
placement: .navigationBarDrawer(displayMode: .always),
102-
prompt: "검색"
103-
)
104-
}
105-
}
80+
.searchable(
81+
text: Binding(
82+
get: { viewModel.state.searchQuery },
83+
set: { viewModel.send(.setSearchQuery($0)) }
84+
),
85+
isPresented: Binding(
86+
get: { viewModel.state.isSearching },
87+
set: { viewModel.send(.setSearching($0)) }
88+
),
89+
placement: .navigationBarDrawer(displayMode: .always),
90+
prompt: "검색"
91+
)
10692
.onSubmit(of: .search) {
10793
viewModel.send(.addRecentQuery(viewModel.state.searchQuery))
10894
}

0 commit comments

Comments
 (0)