// // DetailView.swift // DNSecure // // Created by Kenta Kubo on 9/25/20. // import SwiftUI struct DetailView { @Binding var server: Resolver @Binding var isOn: Bool func binding(for rule: OnDemandRule) -> Binding { guard let index = self.server.onDemandRules.firstIndex(of: rule) else { preconditionFailure("Can't find rule in array") } return self.$server.onDemandRules[index] } } extension DetailView: View { var body: some View { Form { Section { Toggle("Use This Server", isOn: self.$isOn) } Section { HStack { Text("Name") TextField("Name", text: self.$server.name) .multilineTextAlignment(.trailing) } } switch self.server.configuration { case var .dnsOverTLS(configuration): Section( header: EditButton() .foregroundColor(.accentColor) .frame(maxWidth: .infinity, alignment: .trailing) .overlay(Text("Servers"), alignment: .leading), footer: Text("The DNS server IP addresses.") ) { ForEach(0..