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

   var body: some View {
      VStack {
         Chart {
            ForEach(appData.listOfItems) { item in
               BarMark(x: .value("Name", item.name), y: .value("Calories", item.calories))
                  .foregroundStyle(.cyan)
                  .opacity(0.5)
                  .cornerRadius(20)
            }
            RuleMark(y: .value("Average", averageCalories()))
               .foregroundStyle(.black)
               .lineStyle(StrokeStyle(lineWidth: 5))
               .annotation(position: .top, alignment: .leading) {
                  Text("Average Calories")
               }
         }.frame(height: 300)
         .padding()
         Spacer()
      }
   }
   func averageCalories() -> Int {
      let total = appData.listOfItems.reduce(0, { $0 + $1.calories })
      return total / appData.listOfItems.count
   }
}