struct ContentView: View {
   @State private var selectedBook: Book?
   @State private var visibility: NavigationSplitViewVisibility = .automatic
   
   var body: some View {
      NavigationSplitView(columnVisibility: $visibility, sidebar: {
         BooksView(selectedBook: $selectedBook)
      }, detail: {
         if let book = selectedBook {
            DetailView(book: book)
         } else {
            ContentUnavailableView {
               Label("No Book", systemImage: "book.fill")
            } description: {
               Text("Select a book from the list.")
            }
         }
      })
   }
}
#Preview {
   ContentView()
      .environment(ApplicationData.shared)
}