Skip to content

Commit 086b012

Browse files
committed
Add InPersonPaymentsLiveSiteInTestMode SwiftUI view
1 parent 06c8162 commit 086b012

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ struct InPersonPaymentsView: View {
3535
InPersonPaymentsPluginNotSupportedVersion(onRefresh: viewModel.refresh)
3636
case .wcpayNotActivated:
3737
InPersonPaymentsPluginNotActivated(onRefresh: viewModel.refresh)
38+
case .wcpayInTestModeWithLiveStripeAccount:
39+
InPersonPaymentsLiveSiteInTestMode(onRefresh:
40+
viewModel.refresh)
3841
case .wcpaySetupNotCompleted:
3942
InPersonPaymentsWCPayNotSetup(onRefresh: viewModel.refresh)
4043
case .stripeAccountOverdueRequirement:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import SwiftUI
2+
3+
struct InPersonPaymentsLiveSiteInTestMode: View {
4+
let onRefresh: () -> Void
5+
6+
var body: some View {
7+
ScrollableVStack {
8+
Spacer()
9+
10+
VStack(alignment: .center, spacing: 42) {
11+
Text(Localization.title)
12+
.font(.headline)
13+
Image(uiImage: .paymentsPlugin)
14+
.resizable()
15+
.scaledToFit()
16+
.frame(height: 108.0)
17+
Text(Localization.message)
18+
.font(.callout)
19+
}
20+
.multilineTextAlignment(.center)
21+
22+
Spacer()
23+
24+
Button(Localization.primaryButton, action: onRefresh)
25+
.buttonStyle(PrimaryButtonStyle())
26+
.padding(.bottom, 24.0)
27+
InPersonPaymentsLearnMore()
28+
}
29+
}
30+
}
31+
32+
private enum Localization {
33+
static let title = NSLocalizedString(
34+
"WooCommerce Payments is in Test Mode",
35+
comment: "Title for the error screen when WooCommerce Payments is in test mode on a live site"
36+
)
37+
38+
static let message = NSLocalizedString(
39+
"The WooCommerce Payments extension cannot be in test mode for In-Person Payments. "
40+
+ "Please disable test mode.",
41+
comment: "Error message when WooCommerce Payments is in test mode on a live site"
42+
)
43+
44+
static let primaryButton = NSLocalizedString(
45+
"Refresh After Updating",
46+
comment: "Button to reload plugin data after updating the WooCommerce Payments plugin settings"
47+
)
48+
}
49+
50+
struct InPersonPaymentsLiveSiteInTestMode_Previews: PreviewProvider {
51+
static var previews: some View {
52+
InPersonPaymentsLiveSiteInTestMode(onRefresh: {})
53+
}
54+
}

WooCommerce/WooCommerce.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@
474474
26FE09E124DB8FA000B9BDF5 /* SurveyCoordinatorControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26FE09E024DB8FA000B9BDF5 /* SurveyCoordinatorControllerTests.swift */; };
475475
26FE09E424DCFE5200B9BDF5 /* InAppFeedbackCardViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26FE09E324DCFE5200B9BDF5 /* InAppFeedbackCardViewControllerTests.swift */; };
476476
26FF455F24BE49EE00B3B2F4 /* DeprecatedStatsDashboardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26FF455E24BE49EE00B3B2F4 /* DeprecatedStatsDashboardViewController.swift */; };
477+
310D1B482734919E001D55B4 /* InPersonPaymentsLiveSiteInTestModeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310D1B472734919E001D55B4 /* InPersonPaymentsLiveSiteInTestModeView.swift */; };
477478
311237EE2714DA240033C44E /* CardPresentModalDisplayMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311237ED2714DA240033C44E /* CardPresentModalDisplayMessage.swift */; };
478479
311D21E8264AEDB900102316 /* CardPresentModalScanningForReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311D21E7264AEDB900102316 /* CardPresentModalScanningForReader.swift */; };
479480
311D21ED264AF0E700102316 /* CardReaderSettingsAlerts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 311D21EC264AF0E700102316 /* CardReaderSettingsAlerts.swift */; };
@@ -1930,6 +1931,7 @@
19301931
26FE09E324DCFE5200B9BDF5 /* InAppFeedbackCardViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InAppFeedbackCardViewControllerTests.swift; sourceTree = "<group>"; };
19311932
26FF455E24BE49EE00B3B2F4 /* DeprecatedStatsDashboardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeprecatedStatsDashboardViewController.swift; sourceTree = "<group>"; };
19321933
2719B6FD1E6FE78A76B6AC74 /* Pods-WooCommerceTests.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WooCommerceTests.release-alpha.xcconfig"; path = "../Pods/Target Support Files/Pods-WooCommerceTests/Pods-WooCommerceTests.release-alpha.xcconfig"; sourceTree = "<group>"; };
1934+
310D1B472734919E001D55B4 /* InPersonPaymentsLiveSiteInTestModeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InPersonPaymentsLiveSiteInTestModeView.swift; sourceTree = "<group>"; };
19331935
311237ED2714DA240033C44E /* CardPresentModalDisplayMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentModalDisplayMessage.swift; sourceTree = "<group>"; };
19341936
311D21E7264AEDB900102316 /* CardPresentModalScanningForReader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardPresentModalScanningForReader.swift; sourceTree = "<group>"; };
19351937
311D21EC264AF0E700102316 /* CardReaderSettingsAlerts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardReaderSettingsAlerts.swift; sourceTree = "<group>"; };
@@ -6618,6 +6620,7 @@
66186620
D8B4D5ED26C2C26C00F34E94 /* InPersonPaymentsStripeAcountReviewView.swift */,
66196621
D8B4D5F326C30E7C00F34E94 /* InPersonPaymentsStripeRejectedView.swift */,
66206622
E15F163026C5117300D3059B /* InPersonPaymentsNoConnectionView.swift */,
6623+
310D1B472734919E001D55B4 /* InPersonPaymentsLiveSiteInTestModeView.swift */,
66216624
);
66226625
path = "Onboarding Errors";
66236626
sourceTree = "<group>";
@@ -7604,6 +7607,7 @@
76047607
B555530F21B57DE700449E71 /* ApplicationAdapter.swift in Sources */,
76057608
025C00682550DE4700FAC222 /* ProductSKUInputScannerViewController.swift in Sources */,
76067609
456BEFB626D912EC002AC16C /* AuthenticatedWebView.swift in Sources */,
7610+
310D1B482734919E001D55B4 /* InPersonPaymentsLiveSiteInTestModeView.swift in Sources */,
76077611
26F65C9825DEDAF0008FAE29 /* GenerateVariationUseCase.swift in Sources */,
76087612
747AA08B2107CF8D0047A89B /* TracksProvider.swift in Sources */,
76097613
CE1EC8F120B8A408009762BF /* OrderNoteTableViewCell.swift in Sources */,

0 commit comments

Comments
 (0)