58 lines
1.8 KiB
Swift
58 lines
1.8 KiB
Swift
//
|
|
// OnboardingGetStartedPage.swift
|
|
// TheNoiseClock
|
|
//
|
|
// Final "Get Started" page for onboarding.
|
|
//
|
|
|
|
import SwiftUI
|
|
import Bedrock
|
|
|
|
/// Page 4: Get Started with quick tips
|
|
struct OnboardingGetStartedPage: View {
|
|
|
|
var body: some View {
|
|
VStack(spacing: Design.Spacing.xxLarge) {
|
|
Spacer()
|
|
|
|
ZStack {
|
|
Circle()
|
|
.fill(AppStatus.success.opacity(0.15))
|
|
.frame(width: 120, height: 120)
|
|
|
|
Image(systemName: "checkmark.circle.fill")
|
|
.font(.system(size: 60, weight: .medium))
|
|
.foregroundStyle(AppStatus.success)
|
|
}
|
|
|
|
Text("You're ready!")
|
|
.typography(.heroBold)
|
|
.foregroundStyle(AppTextColors.primary)
|
|
|
|
Text("Your alarms will work even in silent mode and Focus mode. The interface will automatically fade out to give you a clean view of the time!")
|
|
.typography(.body)
|
|
.foregroundStyle(AppTextColors.secondary)
|
|
.multilineTextAlignment(.center)
|
|
.padding(.horizontal, Design.Spacing.xxLarge)
|
|
|
|
VStack(alignment: .leading, spacing: Design.Spacing.small) {
|
|
OnboardingFeatureRow(icon: "alarm.fill", text: "Create your first alarm")
|
|
OnboardingFeatureRow(icon: "clock.fill", text: "Wait 5s for full screen")
|
|
OnboardingFeatureRow(icon: "speaker.wave.2", text: "Tap Noise to play sounds")
|
|
}
|
|
.padding(.top, Design.Spacing.medium)
|
|
|
|
Spacer()
|
|
Spacer()
|
|
}
|
|
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
|
}
|
|
}
|
|
|
|
// MARK: - Preview
|
|
|
|
#Preview {
|
|
OnboardingGetStartedPage()
|
|
.preferredColorScheme(.dark)
|
|
}
|