//
//  SafariView.swift
//  Multiplatform iOS
//
//  Created by Stuart Breckenridge on 30/6/20.
//  Copyright © 2020 Ranchero Software. All rights reserved.
//

import SwiftUI
import SafariServices


private final class Safari: UIViewControllerRepresentable {
	
	var urlToLoad: URL
	
	init(url: URL) {
		self.urlToLoad = url
	}
	
	func makeUIViewController(context: Context) -> SFSafariViewController {
		let viewController = SFSafariViewController(url: urlToLoad)
		viewController.delegate = context.coordinator
		return viewController
	}
	
	func updateUIViewController(_ uiViewController: SFSafariViewController, context: Context) {
		
	}
	
	func makeCoordinator() -> Coordinator {
		Coordinator(self)
	}
	
	class Coordinator: NSObject, SFSafariViewControllerDelegate {
		var parent: Safari
			
		init(_ parent: Safari) {
			self.parent = parent
		}
		
		func safariViewControllerDidFinish(_ controller: SFSafariViewController) {
			
		}
		
	}
	
}

struct SafariView: View {
    
	var url: URL
	
	var body: some View {
        Safari(url: url)
    }
}

struct SafariView_Previews: PreviewProvider {
    static var previews: some View {
		SafariView(url: URL(string: "https://ranchero.com/netnewswire/")!)
    }
}