65 lines
1.9 KiB
Swift
65 lines
1.9 KiB
Swift
import SwiftUI
|
|
|
|
struct DevMenuOnboardingView: View {
|
|
let onFinish: () -> Void
|
|
@State private var isVisible = true
|
|
|
|
var body: some View {
|
|
Rectangle()
|
|
.fill(.ultraThinMaterial)
|
|
.ignoresSafeArea()
|
|
.overlay(onboardingOverlay)
|
|
.offset(x: 0, y: isVisible ? 0.0 : 650.0)
|
|
.animation(.easeInOut(duration: 0.5), value: isVisible)
|
|
}
|
|
|
|
private var onboardingOverlay: some View {
|
|
VStack(spacing: 24) {
|
|
VStack(spacing: 16) {
|
|
Text("This is the developer menu. It gives you access to useful tools in your development builds.")
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
.font(.callout)
|
|
|
|
#if targetEnvironment(simulator)
|
|
VStack(spacing: 4) {
|
|
Text("You can open it at any time with the **⌃ + d** keyboard shortcut.")
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
.font(.callout)
|
|
|
|
Text("(Connect Hardware Keyboard must be enabled on your simulator to use this shortcut, you can toggle it with **⌘ + shift + K**.)")
|
|
.foregroundColor(.secondary)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
.font(.footnote)
|
|
}
|
|
#else
|
|
Text("You can shake your device or long press anywhere on the screen with three fingers to get back to it at any time.")
|
|
.foregroundColor(.primary)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
#endif
|
|
}
|
|
|
|
continueButton
|
|
Spacer()
|
|
}
|
|
.padding()
|
|
}
|
|
|
|
private var continueButton: some View {
|
|
Button {
|
|
withAnimation(.easeInOut(duration: 0.3)) {
|
|
isVisible = false
|
|
}
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
|
|
onFinish()
|
|
}
|
|
}
|
|
label: {
|
|
Text("Continue")
|
|
.font(.system(size: 16, weight: .semibold))
|
|
.frame(maxWidth: .infinity)
|
|
.frame(height: 32)
|
|
}
|
|
.buttonStyle(.borderedProminent)
|
|
}
|
|
}
|