Unified detail views, model
This commit is contained in:
@ -2,21 +2,21 @@ import SwiftUI
|
||||
|
||||
struct PagePickerView: View {
|
||||
|
||||
@Binding var showPagePicker: Bool
|
||||
|
||||
@Binding var selectedPage: Page?
|
||||
|
||||
@EnvironmentObject
|
||||
private var content: Content
|
||||
|
||||
@Environment(\.language)
|
||||
private var language
|
||||
|
||||
@Environment(\.dismiss)
|
||||
var dismiss
|
||||
|
||||
@Binding var selectedPage: Page?
|
||||
|
||||
@State
|
||||
private var newSelection: Page?
|
||||
|
||||
init(showPagePicker: Binding<Bool>, selectedPage: Binding<Page?>) {
|
||||
self._showPagePicker = showPagePicker
|
||||
init(selectedPage: Binding<Page?>) {
|
||||
self._selectedPage = selectedPage
|
||||
self.newSelection = selectedPage.wrappedValue
|
||||
// TODO: Fix assignment not working
|
||||
@ -35,17 +35,17 @@ struct PagePickerView: View {
|
||||
Button("Use selection") {
|
||||
DispatchQueue.main.async {
|
||||
self.selectedPage = self.newSelection
|
||||
dismiss()
|
||||
}
|
||||
showPagePicker = false
|
||||
}
|
||||
Button("Remove page", role: .destructive) {
|
||||
DispatchQueue.main.async {
|
||||
self.selectedPage = nil
|
||||
dismiss()
|
||||
}
|
||||
showPagePicker = false
|
||||
}
|
||||
Button("Cancel", role: .cancel) {
|
||||
showPagePicker = false
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -55,7 +55,6 @@ struct PagePickerView: View {
|
||||
}
|
||||
|
||||
#Preview {
|
||||
PagePickerView(showPagePicker: .constant(true),
|
||||
selectedPage: .constant(nil))
|
||||
.environmentObject(Content.mock)
|
||||
PagePickerView(selectedPage: .constant(nil))
|
||||
.environmentObject(Content.mock)
|
||||
}
|
||||
|
Reference in New Issue
Block a user