Files
Reflect/Shared/Onboarding/views/OnboardingMain.swift
Trey t 0442eab1f8 Rebrand entire project from Feels to Reflect
Complete rename across all bundle IDs, App Groups, CloudKit containers,
StoreKit product IDs, data store filenames, URL schemes, logger subsystems,
Swift identifiers, user-facing strings (7 languages), file names, directory
names, Xcode project, schemes, assets, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 11:47:16 -06:00

62 lines
1.6 KiB
Swift

//
// OnboardingMain.swift
// Reflect (iOS)
//
// Created by Trey Tartt on 1/20/22.
//
import SwiftUI
struct OnboardingMain: View {
@Environment(\.presentationMode) var presentationMode
@State var onboardingData: OnboardingData
@EnvironmentObject var iapManager: IAPManager
let updateBoardingDataClosure: ((OnboardingData) -> Void)
var body: some View {
TabView {
// 1. Welcome screen
OnboardingWelcome()
// 2. Reminder time
OnboardingTime(onboardingData: onboardingData)
// 3. Which day to rate
OnboardingDay(onboardingData: onboardingData)
// 4. Style customization
OnboardingStyle(onboardingData: onboardingData)
// 5. Subscription benefits & completion
OnboardingSubscription(
onboardingData: onboardingData,
completionClosure: { data in
updateBoardingDataClosure(data)
}
)
}
.ignoresSafeArea()
.tabViewStyle(.page)
.onAppear {
setupAppearance()
}
.interactiveDismissDisabled()
}
func setupAppearance() {
UIPageControl.appearance().currentPageIndicatorTintColor = .white
UIPageControl.appearance().pageIndicatorTintColor = UIColor.white.withAlphaComponent(0.3)
}
}
struct OnboardingMain_Previews: PreviewProvider {
static var previews: some View {
OnboardingMain(
onboardingData: OnboardingData(),
updateBoardingDataClosure: { _ in }
)
.environmentObject(IAPManager())
}
}