import SwiftUI
import AppIntents

struct QuantityIntent: AppIntent {
   static let title: LocalizedStringResource = "Change favorite"
   static let isDiscoverable: Bool = false

   @Dependency var appData: ApplicationData

   @Parameter
   var movie: MovieEntity
   @Parameter
   var quantity: Int
   
   init() {}
   init(movie: MovieEntity, quantity: Int) {
      self.movie = movie
      self.quantity = quantity
   }
   @MainActor
   func perform() async throws -> some IntentResult {
      if let index = appData.listMovies.firstIndex(where: { $0.id == movie.id }) {
         appData.listMovies[index].order += quantity
         if appData.listMovies[index].order < 0 {
            appData.listMovies[index].order = 0
         }
      }
      return .result()
   }
}