39 lines
887 B
Swift
39 lines
887 B
Swift
import SwiftUI
|
|
|
|
struct PageListView: View {
|
|
|
|
@Environment(\.language)
|
|
var language
|
|
|
|
@EnvironmentObject
|
|
var content: Content
|
|
|
|
@State
|
|
var selectedPage: Page?
|
|
|
|
var body: some View {
|
|
NavigationSplitView {
|
|
List(content.pages, selection: $selectedPage) { page in
|
|
Text(page.localized(in: language).title)
|
|
.tag(page)
|
|
|
|
}
|
|
} detail: {
|
|
// Detail view when an item is selected
|
|
if let selectedPage {
|
|
PageDetailView(page: selectedPage)
|
|
} else {
|
|
// Fallback if no item is selected
|
|
Text("Select a page to show the content.")
|
|
.font(.largeTitle)
|
|
.foregroundColor(.secondary)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
PageListView()
|
|
.environmentObject(Content())
|
|
}
|