TheNoiseClock/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingGetStartedPage.swift
Matt Bruce 7252500c9a refactored and moved to ios26 base
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2026-02-07 10:32:11 -06:00

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)
}