From c51ef668da64ee7f8d2012a0b8b890bb9067e3eb Mon Sep 17 00:00:00 2001 From: Kyle Hickinson Date: Thu, 21 May 2026 15:36:45 -0400 Subject: [PATCH] [iOS] [Origin] Dont show sponsored images when rewards is unavailable (#36613) This also hides the option from the NTP settings page --- .../Browser/BrowserViewController/BrowserViewController.swift | 3 ++- .../Frontend/Settings/Display/NewTabPageSettingsView.swift | 4 +++- .../Brave/Frontend/Settings/SettingsViewController.swift | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift b/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift index 32c03f19c84..4857688d2dd 100644 --- a/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift +++ b/ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift @@ -300,7 +300,8 @@ public class BrowserViewController: UIViewController { feedDataSource.historyAPI = profileController.historyAPI backgroundDataSource = .init( service: profileController.backgroundImagesService, - rewards: rewards, + rewards: BraveRewards.isSupported(prefService: profileController.profile.prefs) + ? rewards : nil, privateBrowsingManager: privateBrowsingManager ) diff --git a/ios/brave-ios/Sources/Brave/Frontend/Settings/Display/NewTabPageSettingsView.swift b/ios/brave-ios/Sources/Brave/Frontend/Settings/Display/NewTabPageSettingsView.swift index e084ab0cb8c..06ee42eb5d2 100644 --- a/ios/brave-ios/Sources/Brave/Frontend/Settings/Display/NewTabPageSettingsView.swift +++ b/ios/brave-ios/Sources/Brave/Frontend/Settings/Display/NewTabPageSettingsView.swift @@ -9,6 +9,7 @@ import Preferences import SwiftUI struct NewTabPageSettingsView: View { + var isSponsoredBackgroundsSupported: Bool var shouldShowSponsoredImagesAndVideosSetting: Bool var linkTapped: ((URLRequest) -> Void)? @@ -25,7 +26,7 @@ struct NewTabPageSettingsView: View { Section { Toggle(Strings.NTP.settingsBackgroundImages, isOn: $backgroundImages.value) .listRowBackground(Color(.secondaryBraveGroupedBackground)) - if backgroundImages.value { + if backgroundImages.value, isSponsoredBackgroundsSupported { NavigationLink { BackgroundMediaTypePicker( shouldShowSponsoredImagesAndVideosSetting: shouldShowSponsoredImagesAndVideosSetting, @@ -132,6 +133,7 @@ class NTPTableViewController: UIHostingController { init(rewards: BraveRewards?, linkTapped: ((URLRequest) -> Void)?) { super.init( rootView: .init( + isSponsoredBackgroundsSupported: rewards != nil, shouldShowSponsoredImagesAndVideosSetting: rewards?.ads.shouldShowSponsoredImagesAndVideosSetting() == true, linkTapped: linkTapped diff --git a/ios/brave-ios/Sources/Brave/Frontend/Settings/SettingsViewController.swift b/ios/brave-ios/Sources/Brave/Frontend/Settings/SettingsViewController.swift index 41646703b71..8ebdf4002c4 100644 --- a/ios/brave-ios/Sources/Brave/Frontend/Settings/SettingsViewController.swift +++ b/ios/brave-ios/Sources/Brave/Frontend/Settings/SettingsViewController.swift @@ -1167,7 +1167,8 @@ class SettingsViewController: TableViewController, BraveAccountAuthenticationObs selection: { [unowned self] in self.navigationController?.pushViewController( NTPTableViewController( - rewards: rewards, + rewards: BraveRewards.isSupported(prefService: braveCore.profile.prefs) + ? rewards : nil, linkTapped: { [unowned self] request in self.tabManager.addTabAndSelect( request,