trying to do the search morph thing

This commit is contained in:
neon443
2025-11-11 08:35:13 +00:00
parent 1c4ef6896d
commit 21b0b47038
3 changed files with 27 additions and 15 deletions

View File

@@ -50,11 +50,15 @@ struct ContentView: View {
TrieTestingView() TrieTestingView()
} }
Tab(role: .search) { Tab("Search", systemImage: "magnifyingglass", role: .search) {
SearchView() NavigationStack {
SearchView()
.searchable(text: $hoarder.searchTerm)
}
} }
} }
.searchable(text: $hoarder.searchTerm, placement: .automatic) .searchable(text: $hoarder.searchTerm)
.modifier(tabViewActivationSearchActivation())
} else { } else {
TabView { TabView {
DownloadedView() DownloadedView()

View File

@@ -11,21 +11,19 @@ struct SearchView: View {
@ObservedObject var hoarder: EmojiHoarder = .shared @ObservedObject var hoarder: EmojiHoarder = .shared
var body: some View { var body: some View {
NavigationStack { List {
List { Text("\(hoarder.searchTerm.isEmpty ? hoarder.emojis.count : hoarder.filteredEmojis.count) Emoji")
Text("\(hoarder.searchTerm.isEmpty ? hoarder.emojis.count : hoarder.filteredEmojis.count) Emoji")
ForEach(hoarder.filteredEmojis, id: \.self) { name in
ForEach(hoarder.filteredEmojis, id: \.self) { name in if let emoji = hoarder.trie.dict[name] {
if let emoji = hoarder.trie.dict[name] { EmojiRow(emoji: emoji)
EmojiRow(emoji: emoji)
}
} }
} }
.onChange(of: hoarder.searchTerm) { _ in
hoarder.filterEmojis(by: hoarder.searchTerm)
}
} }
} .onChange(of: hoarder.searchTerm) { _ in
hoarder.filterEmojis(by: hoarder.searchTerm)
}
}
} }
#Preview { #Preview {

View File

@@ -17,3 +17,13 @@ struct numericTextCompat: ViewModifier {
} }
} }
} }
struct tabViewActivationSearchActivation: ViewModifier {
func body(content: Content) -> some View {
if #available(iOS 26, *) {
content.tabViewSearchActivation(.searchTabSelection)
} else {
content
}
}
}