diff --git a/FuelBoard/OnboardingView.swift b/FuelBoard/OnboardingView.swift index 8e51b43..314c782 100644 --- a/FuelBoard/OnboardingView.swift +++ b/FuelBoard/OnboardingView.swift @@ -98,7 +98,7 @@ struct OnboardingView: View { private var welcomePage: some View { VStack(spacing: 0) { Spacer() - AnimatedOnboardingIcon(tint: .accentColor) { + AnimatedOnboardingIcon(tint: .accentColor, showsHalo: false) { // The app icon itself, with the standard iOS rounded-corner // treatment (~22% of the size), so onboarding matches the // Home Screen. @@ -393,6 +393,9 @@ struct AnimatedOnboardingIcon: View { let tint: Color var motion: Motion = .gentle + /// The soft circle behind the glyph. The welcome page turns it off: it shows + /// the app icon itself and reads better with no container around it. + var showsHalo: Bool = true @ViewBuilder var content: Content @State private var settled = false @@ -402,16 +405,18 @@ struct AnimatedOnboardingIcon: View { var body: some View { ZStack { - Circle() - .fill(tint.opacity(0.10)) - .frame(width: 108, height: 108) - .scaleEffect(settled ? 1.0 : 0.94) + if showsHalo { + Circle() + .fill(tint.opacity(0.10)) + .frame(width: 108, height: 108) + .scaleEffect(settled ? 1.0 : 0.94) - Circle() - .stroke(tint.opacity(0.18), lineWidth: 1) - .frame(width: 118, height: 118) - .scaleEffect(settled ? 1.03 : 0.97) - .opacity(settled ? 1.0 : 0.55) + Circle() + .stroke(tint.opacity(0.18), lineWidth: 1) + .frame(width: 118, height: 118) + .scaleEffect(settled ? 1.03 : 0.97) + .opacity(settled ? 1.0 : 0.55) + } content .scaleEffect(iconScale)