Skip to content

Commit 744e19c

Browse files
committed
Move SafariView and SafariSheet to WooFoundation.
1 parent ffe5cda commit 744e19c

File tree

6 files changed

+35
-33
lines changed

6 files changed

+35
-33
lines changed
Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ import SwiftUI
33
import SafariServices
44
import UIKit
55

6-
struct SafariSheetView: UIViewControllerRepresentable {
7-
let url: URL
6+
public struct SafariSheetView: UIViewControllerRepresentable {
7+
private let url: URL
88

9-
func makeUIViewController(context: Context) -> UIViewController {
9+
public init(url: URL) {
10+
self.url = url
11+
}
12+
13+
public func makeUIViewController(context: Context) -> UIViewController {
1014
SFSafariViewController(url: url)
1115
}
1216

13-
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
17+
public func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
1418
// nothing to do here
1519
}
1620
}
@@ -20,7 +24,7 @@ extension View {
2024
/// Does nothing if the input URL is nil.
2125
///
2226
@ViewBuilder
23-
func safariSheet(isPresented: Binding<Bool>, url: URL?, onDismiss: (() -> Void)? = nil) -> some View {
27+
public func safariSheet(isPresented: Binding<Bool>, url: URL?, onDismiss: (() -> Void)? = nil) -> some View {
2428
if let url = url {
2529
sheet(isPresented: isPresented, onDismiss: onDismiss) {
2630
SafariSheetView(url: url)
@@ -33,7 +37,7 @@ extension View {
3337
///
3438
/// When the sheet is dismissed, the binding's value will be set to nil.
3539
///
36-
func safariSheet(url: Binding<URL?>, onDismiss: (() -> Void)? = nil) -> some View {
40+
public func safariSheet(url: Binding<URL?>, onDismiss: (() -> Void)? = nil) -> some View {
3741
sheet(isPresented: url.notNil(), onDismiss: onDismiss) {
3842
if let url = url.wrappedValue {
3943
SafariSheetView(url: url)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import SwiftUI
2+
import SafariServices
3+
4+
/// SwiftUI interface for UIKit SFSafariViewController
5+
/// Provides a visible interface for web browsing, and Safari features
6+
///
7+
public struct SafariView: UIViewControllerRepresentable {
8+
9+
private let url: URL
10+
11+
public init(url: URL) {
12+
self.url = url
13+
}
14+
15+
public func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
16+
return SFSafariViewController(url: url)
17+
}
18+
19+
public func updateUIViewController(_ uiViewController: SFSafariViewController,
20+
context: UIViewControllerRepresentableContext<SafariView>) {
21+
22+
}
23+
}

WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/CardReaderManualRowView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import SwiftUI
2+
import struct WooFoundation.SafariSheetView
23

34
struct CardReaderManualRowView: View {
45
// Environment safe areas

WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/SafariView.swift

Lines changed: 0 additions & 19 deletions
This file was deleted.

WooCommerce/Classes/ViewRelated/Orders/Order Details/WCShip Installation Process/WCShipCTAView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import SwiftUI
2+
import struct WooFoundation.SafariSheetView
23

34
final class WCShipCTAHostingController: UIHostingController<WCShipCTAView> {
45

WooCommerce/WooCommerce.xcodeproj/project.pbxproj

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1671,7 +1671,6 @@
16711671
68E674AB2A4DAB8C0034BA1E /* CompletedUpgradeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E674AA2A4DAB8C0034BA1E /* CompletedUpgradeView.swift */; };
16721672
68E674AD2A4DAC010034BA1E /* CurrentPlanDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E674AC2A4DAC010034BA1E /* CurrentPlanDetailsView.swift */; };
16731673
68E674AF2A4DACD50034BA1E /* UpgradeTopBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E674AE2A4DACD50034BA1E /* UpgradeTopBarView.swift */; };
1674-
68E952CC287536010095A23D /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E952CB287536010095A23D /* SafariView.swift */; };
16751674
68E952D0287587BF0095A23D /* CardReaderManualRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E952CF287587BF0095A23D /* CardReaderManualRowView.swift */; };
16761675
68E952D22875A44B0095A23D /* CardReaderType+Manual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E952D12875A44B0095A23D /* CardReaderType+Manual.swift */; };
16771676
68E9F7012E5C499200D45747 /* PointOfSaleSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E9F7002E5C499000D45747 /* PointOfSaleSettingsController.swift */; };
@@ -2912,7 +2911,6 @@
29122911
E138D4FC269EEAFE006EA5C6 /* CardPresentPaymentsOnboardingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E138D4FB269EEAFE006EA5C6 /* CardPresentPaymentsOnboardingViewModel.swift */; };
29132912
E15F163126C5117300D3059B /* InPersonPaymentsNoConnectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15F163026C5117300D3059B /* InPersonPaymentsNoConnectionView.swift */; };
29142913
E15FC74126BC1CED00CF83E6 /* AttributedText.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15FC74026BC1CED00CF83E6 /* AttributedText.swift */; };
2915-
E15FC74326BC1D2700CF83E6 /* SafariSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15FC74226BC1D2700CF83E6 /* SafariSheet.swift */; };
29162914
E15FC74526BC213500CF83E6 /* InPersonPaymentsLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = E15FC74426BC213500CF83E6 /* InPersonPaymentsLearnMore.swift */; };
29172915
E16058F7285876DE00E471D4 /* LeftImageTitleSubtitleTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E16058F6285876DE00E471D4 /* LeftImageTitleSubtitleTableViewCell.xib */; };
29182916
E16058F9285876E600E471D4 /* LeftImageTitleSubtitleTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E16058F8285876E600E471D4 /* LeftImageTitleSubtitleTableViewCell.swift */; };
@@ -4868,7 +4866,6 @@
48684866
68E674AA2A4DAB8C0034BA1E /* CompletedUpgradeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompletedUpgradeView.swift; sourceTree = "<group>"; };
48694867
68E674AC2A4DAC010034BA1E /* CurrentPlanDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentPlanDetailsView.swift; sourceTree = "<group>"; };
48704868
68E674AE2A4DACD50034BA1E /* UpgradeTopBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpgradeTopBarView.swift; sourceTree = "<group>"; };
4871-
68E952CB287536010095A23D /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = "<group>"; };
48724869
68E952CF287587BF0095A23D /* CardReaderManualRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderManualRowView.swift; sourceTree = "<group>"; };
48734870
68E952D12875A44B0095A23D /* CardReaderType+Manual.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CardReaderType+Manual.swift"; sourceTree = "<group>"; };
48744871
68E9F7002E5C499000D45747 /* PointOfSaleSettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PointOfSaleSettingsController.swift; sourceTree = "<group>"; };
@@ -6137,7 +6134,6 @@
61376134
E138D4FB269EEAFE006EA5C6 /* CardPresentPaymentsOnboardingViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentPaymentsOnboardingViewModel.swift; sourceTree = "<group>"; };
61386135
E15F163026C5117300D3059B /* InPersonPaymentsNoConnectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InPersonPaymentsNoConnectionView.swift; sourceTree = "<group>"; };
61396136
E15FC74026BC1CED00CF83E6 /* AttributedText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttributedText.swift; sourceTree = "<group>"; };
6140-
E15FC74226BC1D2700CF83E6 /* SafariSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariSheet.swift; sourceTree = "<group>"; };
61416137
E15FC74426BC213500CF83E6 /* InPersonPaymentsLearnMore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InPersonPaymentsLearnMore.swift; sourceTree = "<group>"; };
61426138
E16058F6285876DE00E471D4 /* LeftImageTitleSubtitleTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LeftImageTitleSubtitleTableViewCell.xib; sourceTree = "<group>"; };
61436139
E16058F8285876E600E471D4 /* LeftImageTitleSubtitleTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LeftImageTitleSubtitleTableViewCell.swift; sourceTree = "<group>"; };
@@ -9675,7 +9671,6 @@
96759671
45A8DA3F2664E40B00308FBE /* EmptyState.swift */,
96769672
E10DFC792673595A0083AFF2 /* ShareSheet.swift */,
96779673
E15FC74026BC1CED00CF83E6 /* AttributedText.swift */,
9678-
E15FC74226BC1D2700CF83E6 /* SafariSheet.swift */,
96799674
E1BAAE9F26BBECEF00F2C037 /* ButtonStyles.swift */,
96809675
DEFE13C42DF15F36005B3D39 /* ToggleStyles.swift */,
96819676
DE19BB0B26C2688B00AB70D9 /* SingleSelectionList.swift */,
@@ -13941,7 +13936,6 @@
1394113936
E1ABAEF628479E0300F40BB2 /* InPersonPaymentsSelectPluginView.swift */,
1394213937
684AB8392870677F003DFDD1 /* CardReaderManualsView.swift */,
1394313938
684AB83B2873DF04003DFDD1 /* CardReaderManualsViewModel.swift */,
13944-
68E952CB287536010095A23D /* SafariView.swift */,
1394513939
68E952CF287587BF0095A23D /* CardReaderManualRowView.swift */,
1394613940
68E952D12875A44B0095A23D /* CardReaderType+Manual.swift */,
1394713941
03EF24FB28BF996F006A033E /* InPersonPaymentsCashOnDeliveryPaymentGatewayHelpers.swift */,
@@ -15579,7 +15573,6 @@
1557915573
027EB57029C062DD003CE551 /* StoreOnboardingLaunchStoreCoordinator.swift in Sources */,
1558015574
866016512B47F8F800B4047E /* ProductSelector+Blaze.swift in Sources */,
1558115575
456417F4247D5434001203F6 /* UITableView+Helpers.swift in Sources */,
15582-
E15FC74326BC1D2700CF83E6 /* SafariSheet.swift in Sources */,
1558315576
011D396F2D09FCD200DB1445 /* CardPresentModalLocationRequired.swift in Sources */,
1558415577
20F7B12D2D12C7B900C08193 /* ItemsContainerState.swift in Sources */,
1558515578
459DB7D52673721300E2CAD2 /* TopLoaderView.swift in Sources */,
@@ -16554,7 +16547,6 @@
1655416547
021125992578D9C20075AD2A /* ShippingLabelPrintingInstructionsView.swift in Sources */,
1655516548
026826C72BF59E410036F959 /* PointOfSaleCardPresentPaymentScanningForReadersView.swift in Sources */,
1655616549
EEBB81712D8C0839008D6CE5 /* CollapsibleShipmentItemCard.swift in Sources */,
16557-
68E952CC287536010095A23D /* SafariView.swift in Sources */,
1655816550
D449C51C26DE6B5000D75B02 /* IconListItem.swift in Sources */,
1655916551
EE9D03182B89E2B10077CED1 /* OrderStatusEnum+Analytics.swift in Sources */,
1656016552
014371272DFC8E2800C0279B /* PointOfSaleBarcodeScannerInformationModal.swift in Sources */,

0 commit comments

Comments
 (0)