summaryrefslogtreecommitdiff
path: root/Sora/Views
diff options
context:
space:
mode:
Diffstat (limited to 'Sora/Views')
-rw-r--r--Sora/Views/SearchSuggestionsView.swift13
1 files changed, 10 insertions, 3 deletions
diff --git a/Sora/Views/SearchSuggestionsView.swift b/Sora/Views/SearchSuggestionsView.swift
index 34ccfbc..2a1a8d6 100644
--- a/Sora/Views/SearchSuggestionsView.swift
+++ b/Sora/Views/SearchSuggestionsView.swift
@@ -3,8 +3,13 @@ import SwiftUI
struct SearchSuggestionsView: View {
var tags: [BooruTag]
@Binding var searchText: String
- var lastSearchTag: String {
- String(searchText.split(separator: " ").last ?? "")
+ private var lastSearchTag: String {
+ String(searchText.split(separator: " ").last ?? "").lowercased()
+ }
+ private var filteredTags: [BooruTag] {
+ guard !lastSearchTag.isEmpty else { return [] }
+
+ return tags.filter { $0.name.lowercased().contains(lastSearchTag) }
}
var body: some View {
@@ -14,7 +19,9 @@ struct SearchSuggestionsView: View {
}
) { suggestion in
Button {
- searchText.replaceSubrange(searchText.range(of: lastSearchTag)!, with: suggestion.name)
+ if let range = searchText.range(of: lastSearchTag, options: .backwards) {
+ searchText.replaceSubrange(range, with: suggestion.name)
+ }
} label: {
Text(suggestion.name)
}