mirror of
https://github.com/kkebo/DNSecure.git
synced 2026-03-11 08:54:36 +00:00
fix: fix iOS 16 issue
This commit is contained in:
parent
ba48c966a1
commit
caf33b9ce1
2 changed files with 3 additions and 48 deletions
|
|
@ -188,7 +188,9 @@ extension ContentView: View {
|
|||
if self.selection == -1 {
|
||||
HowToActivateView()
|
||||
} else if let i = self.selection {
|
||||
self.detailView(at: i)
|
||||
NavigationStack {
|
||||
self.detailView(at: i)
|
||||
}
|
||||
} else if !self.isEnabled {
|
||||
HowToActivateView()
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -22,53 +22,6 @@ struct DetailView {
|
|||
@MainActor
|
||||
extension DetailView: View {
|
||||
var body: some View {
|
||||
if #available(iOS 16, *) {
|
||||
self.modernBody
|
||||
} else {
|
||||
self.legacyBody
|
||||
}
|
||||
}
|
||||
|
||||
@available(iOS 16, *)
|
||||
private var modernBody: some View {
|
||||
NavigationStack {
|
||||
Form {
|
||||
Section {
|
||||
Toggle("Use This Server", isOn: self.$isOn)
|
||||
}
|
||||
Section("Name") {
|
||||
LazyTextField("Name", text: self.$server.name)
|
||||
}
|
||||
self.serverConfigurationSections
|
||||
Section {
|
||||
ForEach(self.server.onDemandRules) { rule in
|
||||
NavigationLink(rule.name, value: rule.id)
|
||||
}
|
||||
.onDelete { self.server.onDemandRules.remove(atOffsets: $0) }
|
||||
.onMove { self.server.onDemandRules.move(fromOffsets: $0, toOffset: $1) }
|
||||
Button("Add New Rule") {
|
||||
self.server.onDemandRules
|
||||
.append(OnDemandRule(name: "New Rule"))
|
||||
}
|
||||
} header: {
|
||||
EditButton()
|
||||
.frame(maxWidth: .infinity, alignment: .trailing)
|
||||
.overlay(alignment: .leading) {
|
||||
Text("On Demand Rules")
|
||||
}
|
||||
}
|
||||
}
|
||||
.navigationDestination(for: UUID.self) { id in
|
||||
// When RuleView is opened and tap another server on the sidebar, the previous server's rule comes here.
|
||||
if self.server.onDemandRules.map(\.id).contains(id) {
|
||||
RuleView(rule: self.binding(for: id))
|
||||
}
|
||||
}
|
||||
}
|
||||
.navigationTitle(self.server.name)
|
||||
}
|
||||
|
||||
private var legacyBody: some View {
|
||||
Form {
|
||||
Section {
|
||||
Toggle("Use This Server", isOn: self.$isOn)
|
||||
|
|
|
|||
Loading…
Reference in a new issue