mirror of
https://github.com/neon443/StickerSlack.git
synced 2026-03-11 05:19:13 +00:00
trying to do the search morph thing
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user