Allow the services that are configured by secrets to be disabled. (#3961)

* Make the map tiler key optional.

* Make the bug report URL optional.

* Make the sentry URL optional.

* Make the analytics configuration optional and handle consent taking Sentry into account.

* Stop prompting users to report crashes when Sentry is disabled.
This commit is contained in:
Doug
2025-04-01 09:24:12 +01:00
committed by GitHub
parent 36903bf3fb
commit 5e50823223
71 changed files with 321 additions and 134 deletions
@@ -91,8 +91,17 @@ struct AnalyticsPromptScreen: View {
// MARK: - Previews
struct AnalyticsPromptScreen_Previews: PreviewProvider, TestablePreview {
static let viewModel = AnalyticsPromptScreenViewModel(termsURL: ServiceLocator.shared.settings.analyticsConfiguration.termsURL)
static let viewModel = makeViewModel()
static let noTermsViewModel = makeViewModel(showTerms: false)
static var previews: some View {
AnalyticsPromptScreen(context: viewModel.context)
.previewDisplayName("Default")
AnalyticsPromptScreen(context: noTermsViewModel.context)
.previewDisplayName("No terms")
}
static func makeViewModel(showTerms: Bool = true) -> AnalyticsPromptScreenViewModel {
AnalyticsPromptScreenViewModel(termsURL: showTerms ? ServiceLocator.shared.settings.analyticsTermsURL : nil)
}
}