import SwiftUI

struct ContentView: View {
   @State private var appData = ApplicationData.shared
   @State private var searchTerm = ""

   var body: some View {
      NavigationStack {
         List(appData.filteredImages) { image in
            Image(uiImage: image.image!)
               .resizable()
               .scaledToFit()
         }
      }
      .task {
         await appData.recognizeImages()
      }
      .searchable(text: $searchTerm, prompt: Text("Search image"))
      .onChange(of: searchTerm) { old, new in
         let search = searchTerm.trimmingCharacters(in: .whitespacesAndNewlines)
         appData.filterValues(search: search)
      }
   }
}