Files
comaps/iphone/Maps/Bridging/SafariView.swift
Yannik Bloscheck fdbb41e0fd [ios] Changed settings to SwiftUI
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
2025-07-10 08:06:58 +02:00

45 lines
1.6 KiB
Swift

import SafariServices
import SwiftUI
/// View for Safari via a Safari view controller
struct SafariView: UIViewControllerRepresentable {
// MARK: Properties
/// The notification name for dismissing this view
static let dismissNotificationName: Notification.Name = Notification.Name(rawValue: "DismissSafariView")
/// The url
let url: URL
/// The type of dismiss button
var dismissButton: SFSafariViewController.DismissButtonStyle = .done
// MARK: Methods
/// Create a Safari view controller
/// - Parameter context: The context
/// - Returns: The Safari view controller
func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
let safariViewControllerConfiguration = SFSafariViewController.Configuration()
safariViewControllerConfiguration.activityButton = nil
safariViewControllerConfiguration.barCollapsingEnabled = true
let safariViewController = SFSafariViewController(url: url, configuration: safariViewControllerConfiguration)
safariViewController.preferredBarTintColor = UIColor.accent
safariViewController.preferredControlTintColor = UIColor.white
safariViewController.dismissButtonStyle = dismissButton
return safariViewController
}
/// Update the Safari view controller
/// - Parameter context: The context
func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {
// Do nothing
}
}