Unified detail views, model

This commit is contained in:
Christoph Hagen
2024-12-16 09:54:21 +01:00
parent 1e67a99866
commit 31d1ecb8bd
57 changed files with 853 additions and 954 deletions

View File

@ -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)
}