From 9d9803d9b83373b223cac36863a94f1f91167934 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Fri, 28 Feb 2025 04:41:50 +0000 Subject: [PATCH] Uplift of #27833 (squashed) to beta --- ios/brave-ios/Package.swift | 1 + .../Sources/Brave/Assets/About/AboutHome.html | 27 +++++++++++++++++++ .../Browser/Handlers/AboutHomeHandler.swift | 24 ++++++++++++----- 3 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 ios/brave-ios/Sources/Brave/Assets/About/AboutHome.html diff --git a/ios/brave-ios/Package.swift b/ios/brave-ios/Package.swift index 8bda62aabe51..83b5a452927f 100644 --- a/ios/brave-ios/Package.swift +++ b/ios/brave-ios/Package.swift @@ -488,6 +488,7 @@ var braveTarget: PackageDescription.Target = .target( ], resources: [ .copy("Assets/About/Licenses.html"), + .copy("Assets/About/AboutHome.html"), .copy("Assets/__firefox__.js"), .copy("Assets/AllFramesAtDocumentEnd.js"), .copy("Assets/AllFramesAtDocumentEndSandboxed.js"), diff --git a/ios/brave-ios/Sources/Brave/Assets/About/AboutHome.html b/ios/brave-ios/Sources/Brave/Assets/About/AboutHome.html new file mode 100644 index 000000000000..eb41847e1a82 --- /dev/null +++ b/ios/brave-ios/Sources/Brave/Assets/About/AboutHome.html @@ -0,0 +1,27 @@ + + + + + + About Home + + + + + diff --git a/ios/brave-ios/Sources/Brave/Frontend/Browser/Handlers/AboutHomeHandler.swift b/ios/brave-ios/Sources/Brave/Frontend/Browser/Handlers/AboutHomeHandler.swift index 8ff80f675b1f..5437f335909b 100644 --- a/ios/brave-ios/Sources/Brave/Frontend/Browser/Handlers/AboutHomeHandler.swift +++ b/ios/brave-ios/Sources/Brave/Frontend/Browser/Handlers/AboutHomeHandler.swift @@ -14,14 +14,24 @@ public class AboutHomeHandler: InternalSchemeResponse { public func response(forRequest request: URLRequest) async -> (URLResponse, Data)? { guard let url = request.url else { return nil } let response = InternalSchemeHandler.response(forUrl: url) - let bg = UIColor.braveBackground.toHexString() + + let lightModeColour = UIColor(braveSystemName: .containerBackground).resolvedColor( + with: .init(userInterfaceStyle: .light) + ).toHexString() + let darkModeColour = UIColor(braveSystemName: .containerBackground).resolvedColor( + with: .init(userInterfaceStyle: .dark) + ).toHexString() + // Blank page with a color matching the background of the panels which is displayed for a split-second until the panel shows. - let html = """ - - - - - """ + guard let asset = Bundle.module.url(forResource: "AboutHome", withExtension: "html"), + var html = await AsyncFileManager.default.utf8Contents(at: asset) + else { + return nil + } + + html = html.replacingOccurrences(of: "LIGHT_MODE_COLOUR", with: lightModeColour) + .replacingOccurrences(of: "DARK_MODE_COLOUR", with: darkModeColour) + let data = Data(html.utf8) return (response, data) }