Search performance improvements (fix #209)

This commit is contained in:
Arkadiusz Fal
2022-08-05 00:30:09 +02:00
parent e6baaa519a
commit fdec8ddaa3
4 changed files with 65 additions and 49 deletions

View File

@@ -8,7 +8,7 @@ struct SearchSuggestions: View {
var body: some View {
List {
Button {
runQueryAction()
runQueryAction(state.queryText)
} label: {
HStack {
Image(systemName: "magnifyingglass")
@@ -25,8 +25,7 @@ struct SearchSuggestions: View {
ForEach(visibleSuggestions, id: \.self) { suggestion in
HStack {
Button {
state.queryText = suggestion
runQueryAction()
runQueryAction(suggestion)
} label: {
HStack {
Image(systemName: "magnifyingglass")
@@ -52,7 +51,7 @@ struct SearchSuggestions: View {
Spacer()
Button {
state.queryText = suggestion
state.suggestionSelection = suggestion
} label: {
Image(systemName: "arrow.up.left.circle")
.foregroundColor(.secondary)
@@ -72,14 +71,15 @@ struct SearchSuggestions: View {
#endif
}
private func runQueryAction() {
private func runQueryAction(_ queryText: String) {
state.suggestionSelection = queryText
state.changeQuery { query in
query.query = state.queryText
state.fieldIsFocused = false
query.query = queryText
navigation.hideKeyboard()
}
recents.addQuery(state.queryText, navigation: navigation)
recents.addQuery(queryText, navigation: navigation)
}
private var visibleSuggestions: [String] {