From ef7916d5e70af6ac295df6b0711087ea07b9cbb2 Mon Sep 17 00:00:00 2001 From: Kenta Kubo <601636+kkk669@users.noreply.github.com> Date: Tue, 25 Apr 2023 01:41:51 +0900 Subject: [PATCH] Refactor DoTSections and DoHSections --- DNSecure/Views/DetailView.swift | 14 ++++- DNSecure/Views/DoHSections.swift | 105 +++++++++++-------------------- DNSecure/Views/DoTSections.swift | 67 +++++--------------- 3 files changed, 66 insertions(+), 120 deletions(-) diff --git a/DNSecure/Views/DetailView.swift b/DNSecure/Views/DetailView.swift index 9b1e9cd..588adec 100644 --- a/DNSecure/Views/DetailView.swift +++ b/DNSecure/Views/DetailView.swift @@ -110,9 +110,19 @@ extension DetailView: View { @ViewBuilder private var serverConfigurationSections: some View { switch self.server.configuration { case .dnsOverTLS(let configuration): - DoTSections(server: self.$server, configuration: configuration) + DoTSections( + configuration: .init( + get: { configuration }, + set: { self.server.configuration = .dnsOverTLS($0) } + ) + ) case .dnsOverHTTPS(let configuration): - DoHSections(server: self.$server, configuration: configuration) + DoHSections( + configuration: .init( + get: { configuration }, + set: { self.server.configuration = .dnsOverHTTPS($0) } + ) + ) } } } diff --git a/DNSecure/Views/DoHSections.swift b/DNSecure/Views/DoHSections.swift index a47828f..f85d13b 100644 --- a/DNSecure/Views/DoHSections.swift +++ b/DNSecure/Views/DoHSections.swift @@ -7,52 +7,39 @@ import SwiftUI -private enum FocusedField { - case address - case serverURL -} - struct DoHSections { - @Binding var server: Resolver - @State var configuration: DoHConfiguration - @FocusState private var focusedField: FocusedField? - - private func commit() { - self.server.configuration = .dnsOverHTTPS(self.configuration) - } + @Binding var configuration: DoHConfiguration } extension DoHSections: View { var body: some View { Section { ForEach(0..