diff --git a/StickerSlack/Emoji/EmojiHoarder.swift b/StickerSlack/Emoji/EmojiHoarder.swift index 5330637..4f95547 100644 --- a/StickerSlack/Emoji/EmojiHoarder.swift +++ b/StickerSlack/Emoji/EmojiHoarder.swift @@ -73,7 +73,9 @@ class EmojiHoarder: ObservableObject { downloadedEmojis = [] } + //cl i disabled ts cos its quicker to rebuild it then to load ts func saveTrie() { + return guard let data = try? encoder.encode(trie.root) else { fatalError("failed to encode trie") } @@ -86,6 +88,7 @@ class EmojiHoarder: ObservableObject { } func loadTrie() { + return guard FileManager.default.fileExists(atPath: EmojiHoarder.localTrie.path) else { return } guard let data = try? Data(contentsOf: EmojiHoarder.localTrie) else { return } guard let decoded = try? decoder.decode(TrieNode.self, from: data) else { diff --git a/StickerSlack/SwiftUI/SearchView.swift b/StickerSlack/SwiftUI/SearchView.swift index 84fc2db..0b74478 100644 --- a/StickerSlack/SwiftUI/SearchView.swift +++ b/StickerSlack/SwiftUI/SearchView.swift @@ -10,7 +10,6 @@ import SwiftUI struct SearchView: View { @ObservedObject var hoarder: EmojiHoarder - @State var filterTerm: String = "" @State var filterResult: [String] = [] var body: some View { @@ -18,8 +17,8 @@ struct SearchView: View { List(filterResult, id: \.self) { name in EmojiRow(hoarder: hoarder, emoji: hoarder.trie.dict[name]!) } - .onChange(of: filterTerm) { _ in - withAnimation { filterResult = hoarder.trie.search(prefix: filterTerm) } + .onChange(of: hoarder.searchTerm) { _ in + withAnimation { filterResult = hoarder.trie.search(prefix: hoarder.searchTerm) } } } .searchable(text: $hoarder.searchTerm)