diff --git a/damus/ContentView.swift b/damus/ContentView.swift index 166270d8..a0a224bf 100644 --- a/damus/ContentView.swift +++ b/damus/ContentView.swift @@ -181,7 +181,13 @@ struct ContentView: View { } switch selected_timeline { case .search: - SearchHomeView(damus_state: damus_state!, model: SearchHomeModel(damus_state: damus_state!)) + if #available(iOS 16.0, *) { + SearchHomeView(damus_state: damus_state!, model: SearchHomeModel(damus_state: damus_state!)) + .scrollDismissesKeyboard(.immediately) + } else { + // Fallback on earlier versions + SearchHomeView(damus_state: damus_state!, model: SearchHomeModel(damus_state: damus_state!)) + } case .home: PostingTimelineView diff --git a/damus/Views/SearchHomeView.swift b/damus/Views/SearchHomeView.swift index 9634292f..74c6a2ef 100644 --- a/damus/Views/SearchHomeView.swift +++ b/damus/Views/SearchHomeView.swift @@ -12,30 +12,31 @@ struct SearchHomeView: View { let damus_state: DamusState @StateObject var model: SearchHomeModel @State var search: String = "" + @FocusState private var isFocused: Bool var SearchInput: some View { - ZStack(alignment: .leading) { + HStack { HStack{ + Image(systemName: "magnifyingglass") + .foregroundColor(.gray) TextField(NSLocalizedString("Search...", comment: "Placeholder text to prompt entry of search query."), text: $search) - .padding(8) - .padding(.leading, 35) .autocorrectionDisabled(true) .textInputAutocapitalization(.never) + .focused($isFocused) + } + .padding(10) + .background(.secondary.opacity(0.2)) + .cornerRadius(20) + + if(!search.isEmpty) { Text("Cancel", comment: "Cancel out of search view.") - .foregroundColor(.blue) + .foregroundColor(.accentColor) .padding(EdgeInsets(top: 0.0, leading: 0.0, bottom: 0.0, trailing: 10.0)) - .opacity((search == "") ? 0.0 : 1.0) .onTapGesture { self.search = "" + isFocused = false } } - - Label("", systemImage: "magnifyingglass") - .padding(.leading, 10) - } - .background { - RoundedRectangle(cornerRadius: 8) - .foregroundColor(.secondary.opacity(0.2)) } }