fixed search

disabled load and save trie cos its too slow
This commit is contained in:
neon443
2025-11-15 19:29:54 +00:00
parent 7b911d932c
commit 7ca11e49a1
2 changed files with 5 additions and 3 deletions

View File

@@ -73,7 +73,9 @@ class EmojiHoarder: ObservableObject {
downloadedEmojis = [] downloadedEmojis = []
} }
//cl i disabled ts cos its quicker to rebuild it then to load ts
func saveTrie() { func saveTrie() {
return
guard let data = try? encoder.encode(trie.root) else { guard let data = try? encoder.encode(trie.root) else {
fatalError("failed to encode trie") fatalError("failed to encode trie")
} }
@@ -86,6 +88,7 @@ class EmojiHoarder: ObservableObject {
} }
func loadTrie() { func loadTrie() {
return
guard FileManager.default.fileExists(atPath: EmojiHoarder.localTrie.path) else { return } guard FileManager.default.fileExists(atPath: EmojiHoarder.localTrie.path) else { return }
guard let data = try? Data(contentsOf: EmojiHoarder.localTrie) else { return } guard let data = try? Data(contentsOf: EmojiHoarder.localTrie) else { return }
guard let decoded = try? decoder.decode(TrieNode.self, from: data) else { guard let decoded = try? decoder.decode(TrieNode.self, from: data) else {

View File

@@ -10,7 +10,6 @@ import SwiftUI
struct SearchView: View { struct SearchView: View {
@ObservedObject var hoarder: EmojiHoarder @ObservedObject var hoarder: EmojiHoarder
@State var filterTerm: String = ""
@State var filterResult: [String] = [] @State var filterResult: [String] = []
var body: some View { var body: some View {
@@ -18,8 +17,8 @@ struct SearchView: View {
List(filterResult, id: \.self) { name in List(filterResult, id: \.self) { name in
EmojiRow(hoarder: hoarder, emoji: hoarder.trie.dict[name]!) EmojiRow(hoarder: hoarder, emoji: hoarder.trie.dict[name]!)
} }
.onChange(of: filterTerm) { _ in .onChange(of: hoarder.searchTerm) { _ in
withAnimation { filterResult = hoarder.trie.search(prefix: filterTerm) } withAnimation { filterResult = hoarder.trie.search(prefix: hoarder.searchTerm) }
} }
} }
.searchable(text: $hoarder.searchTerm) .searchable(text: $hoarder.searchTerm)