Mercurial > public > lazybear
comparison LazyBear/Views/Search/SearchView.swift @ 417:5f21f7c23c5e
Add comments and clean code
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Fri, 11 Jun 2021 11:37:42 +0200 |
parents | 0a4c399170c4 |
children | 8c58ce834d95 |
comparison
equal
deleted
inserted
replaced
416:1662a41e2c1a | 417:5f21f7c23c5e |
---|---|
38 } | 38 } |
39 .navigationTitle("Search") | 39 .navigationTitle("Search") |
40 .navigationBarTitleDisplayMode(.inline) | 40 .navigationBarTitleDisplayMode(.inline) |
41 .navigationBarSearch($searchedText) | 41 .navigationBarSearch($searchedText) |
42 .onChange(of: searchedText, perform: { searchedText in | 42 .onChange(of: searchedText, perform: { searchedText in |
43 if !searchedText.isEmpty { | 43 encodeAndRequest(searchedText) |
44 // Encode string with spaces | |
45 let encodedSearchedText = searchedText.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) | |
46 search.request("https://api.lazybear.app/search/text=\(encodedSearchedText ?? "")") | |
47 } else { | |
48 search.showSearchList = false | |
49 } | |
50 }) | 44 }) |
51 } | 45 } |
52 .navigationViewStyle(StackNavigationViewStyle()) | 46 .navigationViewStyle(StackNavigationViewStyle()) |
47 } | |
48 | |
49 /* | |
50 1) Check if searchedText is empty | |
51 2) Encode white spaces | |
52 3) Make API request | |
53 */ | |
54 private func encodeAndRequest(_ searchedText: String) { | |
55 if !searchedText.isEmpty { | |
56 let encodedSearchedText = searchedText.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) | |
57 search.request("https://api.lazybear.app/search/text=\(encodedSearchedText ?? "")") | |
58 } else { | |
59 search.showSearchList = false | |
60 } | |
53 } | 61 } |
54 } | 62 } |
55 | 63 |
56 struct SearchView_Previews: PreviewProvider { | 64 struct SearchView_Previews: PreviewProvider { |
57 static var previews: some View { | 65 static var previews: some View { |