diff --git a/FuelBoard/OnboardingView.swift b/FuelBoard/OnboardingView.swift index 7215724..98d678e 100644 --- a/FuelBoard/OnboardingView.swift +++ b/FuelBoard/OnboardingView.swift @@ -209,7 +209,7 @@ struct OnboardingView: View { Label("Connected — prices will load", systemImage: "checkmark.circle.fill") .foregroundStyle(.green) } else if prompter.dataDenied { - Text("Local network access was denied — prices won't load until it's allowed. You can open Settings to change this.") + Text("Local network access was denied — prices won't load until it's allowed, but you can keep using FuelBoard.") .font(.footnote) .foregroundStyle(.secondary) .multilineTextAlignment(.center) @@ -282,22 +282,18 @@ struct OnboardingView: View { } } case 3: - VStack(spacing: 10) { - primaryButton( - prompter.dataDenied ? "Open Settings" : (prompter.dataGranted ? "Continue" : (prompter.dataLoading ? "Checking…" : "Continue")) - ) { - if prompter.dataDenied { - openSettings() - } else if prompter.dataGranted { - page = 4 - } else if !prompter.dataLoading { - // Fires the Local Network prompt + relay probe here, - // after the user has read the page and tapped Continue. - prompter.requestDataAccess() - } + primaryButton(prompter.dataLoading ? "Checking…" : "Continue") { + if prompter.dataGranted || prompter.dataDenied { + // Prompt answered (allowed or denied) — move on to the + // final slide. Never dead-end on an Open Settings button. + page = 4 + } else if !prompter.dataLoading { + // Fires the Local Network prompt + relay probe here, + // after the user has read the page and tapped Continue. + prompter.requestDataAccess() } - .disabled(prompter.dataLoading) } + .disabled(prompter.dataLoading) default: primaryButton("Start Using FuelBoard") { finish() } }