import SwiftUI struct DatePropertyView: View { let title: String @Binding var value: Date let footer: String var body: some View { VStack(alignment: .leading) { Text(title) .font(.headline) DatePicker("", selection: $value, displayedComponents: [.date, .hourAndMinute]) .datePickerStyle(.compact) Text(footer) .foregroundStyle(.secondary) .padding(.bottom) } } } struct OptionalDatePropertyView: View { let title: LocalizedStringKey @Binding var isEnabled: Bool @Binding var date: Date let footer: LocalizedStringKey var body: some View { GenericPropertyView(title: title, footer: footer) { HStack(alignment: .firstTextBaseline) { Toggle("", isOn: $isEnabled) .toggleStyle(.switch) DatePicker("", selection: $date, displayedComponents: .date) .datePickerStyle(.compact) .padding(.bottom) .disabled(!isEnabled) Spacer() } } } }