// // OnboardingFinishView.swift // DynamicIsland // // Created by Alexander on 2025-06-23. // import SwiftUI struct OnboardingFinishView: View { let onFinish: () -> Void let onOpenSettings: () -> Void var body: some View { VStack(spacing: 20) { Spacer() Image(systemName: "sparkles") .font(.system(size: 60)) .foregroundColor(.accentColor) .padding() Text("You're All Set!") .font(.largeTitle) .fontWeight(.bold) Text("You can now enjoy the app. If you want to tweak things further, you can always visit the settings.") .font(.body) .foregroundColor(.secondary) .multilineTextAlignment(.center) .padding(.horizontal, 40) Spacer() Spacer() VStack(spacing: 12) { Button(action: onOpenSettings) { Label("Customize in Settings", systemImage: "gear") .controlSize(.large) } .controlSize(.large) Button("Finish", action: onFinish) .buttonStyle(.borderedProminent) .controlSize(.large) .keyboardShortcut(.defaultAction) // Privacy Policy Link Button(action: { if let url = URL(string: "https://ebullioscopic.github.io/DynamicIsland/privacy-policy") { NSWorkspace.shared.open(url) } }) { Text("Privacy Policy") .font(.caption) .foregroundColor(.secondary) } .buttonStyle(.plain) .padding(.top, 4) } .padding(24) } .frame(maxWidth: .infinity, maxHeight: .infinity) .background( VisualEffectView(material: .underWindowBackground, blendingMode: .behindWindow) .ignoresSafeArea() ) } } #Preview { OnboardingFinishView(onFinish: { }, onOpenSettings: { }) }