import SwiftUI

struct ContentView: View {
   @Environment(ApplicationData.self) private var appData
   @AppStorage("showYear") var showYear: Bool = true
   @AppStorage("showCover") var showCover: Bool = true

   var body: some View {
      NavigationStack {
         List(appData.userData) { book in
            VStack {
               HStack(alignment: .top) {
                  if showCover {
                     Image(book.cover)
                        .resizable()
                        .scaledToFit()
                        .frame(width: 80, height: 100)
                  }
                  VStack(alignment: .leading, spacing: 2) {
                     Text(book.title).bold()
                     Text(book.author)
                     if showYear {
                        Text(book.displayYear).font(.caption)
                     }
                  }.padding(.top, 5)
                  Spacer()
               }.padding([.leading, .trailing], 10)
               .padding([.top, .bottom], 5)
            }
         }
         .navigationBarTitle("Books")
         .toolbarTitleDisplayMode(.inlineLarge)
         .toolbar {
            ToolbarItem(placement: .topBarTrailing) {
               NavigationLink(destination: {
                  SettingsView()
               }, label: {
                  Image(systemName: "gear")
               })
            }
         }
      }
   }
}