Mercurial > public > lazybear
view LazyBear/Views/Search/SearchView.swift @ 341:4e6c47a81b80
Testing UserProfile
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Sun, 04 Apr 2021 13:20:14 +0200 |
parents | d17dd5c28211 |
children | a6c49f1409f3 |
line wrap: on
line source
// // SearchView.swift // LazyBear // // Created by Dennis Concepción Martín on 1/4/21. // import SwiftUI import SwiftlySearch struct SearchView: View { @ObservedObject var searchData = SearchData() @State private var searchedText: String = "" @State private var showingSearchList = false @EnvironmentObject var hudManager: HudManager var body: some View { NavigationView { VStack(alignment: .leading) { if showingSearchList { CompanyList(searchResult: searchData.searchResult) } else { Text("Are you looking for something? 👀") .fontWeight(.semibold) Text("Use the search bar to find a company") Text(searchedText) } } .onDisappear { self.searchedText = ""; self.showingSearchList = false } .navigationTitle("Search") .navigationBarTitleDisplayMode(.inline) .navigationBarSearch($searchedText) .onChange(of: searchedText, perform: { searchedText in showSearchList(searchedText) }) .toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button(action: { self.hudManager.showSearchHelper = true }) { Image(systemName: "questionmark.circle") } } } } } private func showSearchList(_ searchedText: String) { if !searchedText.isEmpty { // Encode string with spaces let encodedSearchedText = searchedText.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) searchData.request(encodedSearchedText!) self.showingSearchList = true } } } struct SearchView_Previews: PreviewProvider { static var previews: some View { SearchView() } }