mirror of
https://github.com/neon443/StickerSlack.git
synced 2026-03-11 05:19:13 +00:00
fixed search
disabled load and save trie cos its too slow
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user