fix: refine layout of HowToActivateView

This commit is contained in:
Kenta Kubo 2025-05-05 01:18:33 +09:00
parent 4579a7cb75
commit 9997724409
No known key found for this signature in database
GPG key ID: 3D79E20285C94BE8
2 changed files with 24 additions and 26 deletions

View file

@ -186,11 +186,11 @@ extension ContentView: View {
}
} detail: {
if self.selection == -1 {
HowToActivateView(isSheet: false)
HowToActivateView()
} else if let i = self.selection {
self.detailView(at: i)
} else if !self.isEnabled {
HowToActivateView(isSheet: false)
HowToActivateView()
} else {
Text("Select a server on the sidebar")
.navigationBarHidden(true)
@ -223,7 +223,7 @@ extension ContentView: View {
tag: -1,
selection: self.$selection
) {
HowToActivateView(isSheet: false)
HowToActivateView()
}
} else {
// Workaround for iOS 15
@ -263,11 +263,11 @@ extension ContentView: View {
}
if self.selection == -1 {
HowToActivateView(isSheet: false)
HowToActivateView()
} else if let i = self.selection {
self.detailView(at: i)
} else if !self.isEnabled {
HowToActivateView(isSheet: false)
HowToActivateView()
} else {
Text("Select a server on the sidebar")
.navigationBarHidden(true)
@ -326,7 +326,21 @@ extension ContentView: View {
self.guideIsPresented = true
}
.sheet(isPresented: self.$guideIsPresented) {
HowToActivateView(isSheet: true)
NavigationView {
HowToActivateView()
.safeAreaInset(edge: .bottom) {
Button("Dismiss") {
self.guideIsPresented = false
}
.buttonStyle(.borderedProminent)
.controlSize(.large)
.hoverEffect()
.padding()
.frame(maxWidth: .infinity)
.background(Color(.systemBackground))
}
}
.navigationViewStyle(.stack)
}
}
}

View file

@ -13,20 +13,13 @@ private enum MacOSVersion {
}
struct HowToActivateView {
@Environment(\.dismiss) private var dismiss
@State private var macOSVersion: MacOSVersion = .venturaOrLater
let isSheet: Bool
}
extension HowToActivateView: View {
var body: some View {
VStack {
if self.isSheet {
Text("How to Activate")
.font(.title)
Spacer()
}
ScrollView {
ScrollView {
VStack {
#if targetEnvironment(macCatalyst)
Picker("", selection: self.$macOSVersion) {
Text("macOS 13 or later").tag(MacOSVersion.venturaOrLater)
@ -160,21 +153,12 @@ extension HowToActivateView: View {
#endif
}
}
if self.isSheet {
Spacer()
Button("Dismiss") {
self.dismiss()
}
.buttonStyle(.borderedProminent)
.controlSize(.large)
.hoverEffect()
}
.padding()
}
.padding()
.navigationTitle("How to Activate")
}
}
#Preview {
HowToActivateView(isSheet: true)
HowToActivateView()
}