From 1a1d46db214f9bf76af73565bad0f7f4c7f3f661 Mon Sep 17 00:00:00 2001 From: Sam Rayatnia Date: Sat, 29 Jul 2023 10:12:52 +0200 Subject: [PATCH] Adding basic conversion to swiftUI (#28) --- Sources/NetShears/NetShears.swift | 6 +++++ Sources/NetShears/UI/NetshearsFlowView.swift | 23 ++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 Sources/NetShears/UI/NetshearsFlowView.swift diff --git a/Sources/NetShears/NetShears.swift b/Sources/NetShears/NetShears.swift index bc5d1df..8c28cfe 100644 --- a/Sources/NetShears/NetShears.swift +++ b/Sources/NetShears/NetShears.swift @@ -6,6 +6,7 @@ // import UIKit +import SwiftUI public protocol BodyExporterDelegate: AnyObject { func netShears(exportResponseBodyFor request: NetShearsRequestModel) -> BodyExportType @@ -90,6 +91,11 @@ public final class NetShears: NSObject { UIViewController.currentViewController()?.present(initialVC, animated: true, completion: nil) } } + + @available(iOS 13.0, *) + public func view() -> some View { + NetshearsFlowView() + } public func addCustomRequest(url: String, host: String, diff --git a/Sources/NetShears/UI/NetshearsFlowView.swift b/Sources/NetShears/UI/NetshearsFlowView.swift new file mode 100644 index 0000000..d1704ae --- /dev/null +++ b/Sources/NetShears/UI/NetshearsFlowView.swift @@ -0,0 +1,23 @@ +// +// NetshearsFlowView.swift +// +// +// Created by Sam Rayatnia on 09.02.23. +// + +import SwiftUI + +@available(iOS 13.0, *) +public struct NetshearsFlowView: UIViewControllerRepresentable { + + public func makeUIViewController(context: Context) -> some UIViewController { + let storyboard = UIStoryboard.NetShearsStoryBoard + guard let initialVC = storyboard.instantiateInitialViewController() else { preconditionFailure() } + ((initialVC as? UINavigationController)?.topViewController as? RequestsViewController)?.delegate = NetShears.shared.bodyExportDelegate + return initialVC + } + + public func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {} + + +}