Skip to content

Commit a124980

Browse files
[Shipping Labels] Make sure UPS TOS sheet confirmation button visible (#15809)
2 parents 816929d + 4c54db9 commit a124980

File tree

1 file changed

+63
-56
lines changed
  • WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/UPSTOS

1 file changed

+63
-56
lines changed

WooCommerce/Classes/ViewRelated/Orders/Order Details/Shipping Labels/WooShipping Create Shipping Labels/UPSTOS/UPSTermsView.swift

Lines changed: 63 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -12,69 +12,76 @@ struct UPSTermsView: View {
1212
@State private var externalURL: URL?
1313

1414
var body: some View {
15-
ScrollableVStack(alignment: .leading,
16-
padding: Layout.contentPadding,
17-
spacing: Layout.sectionSpacing) {
18-
Text(Localization.title)
19-
.font(.title3)
20-
.bold()
21-
22-
VStack(alignment: .leading, spacing: Layout.contentSpacing) {
23-
Text(Localization.shippingFrom)
24-
.headlineStyle()
25-
Text(viewModel.displayedOriginAddress)
26-
.foregroundStyle(Color.primary)
27-
.subheadlineStyle()
28-
Divider()
29-
}
30-
.accessibilityElement(children: .combine)
31-
32-
Text(Localization.message)
33-
34-
VStack(alignment: .leading, spacing: Layout.contentPadding) {
35-
Toggle(isOn: $viewModel.isTOSAccepted) {
36-
Text(
37-
AttributedString.withEmbeddedLink(
38-
mainContent: Localization.checkbox1,
39-
linkText: Localization.termsOfService,
40-
link: Links.termsOfService
41-
)
42-
)
15+
VStack(spacing: 0) {
16+
ScrollableVStack(alignment: .leading,
17+
padding: Layout.contentPadding,
18+
spacing: Layout.sectionSpacing) {
19+
Text(Localization.title)
20+
.font(.title3)
21+
.bold()
22+
23+
VStack(alignment: .leading, spacing: Layout.contentSpacing) {
24+
Text(Localization.shippingFrom)
25+
.headlineStyle()
26+
Text(viewModel.displayedOriginAddress)
27+
.foregroundStyle(Color.primary)
28+
.subheadlineStyle()
29+
Divider()
4330
}
44-
.toggleStyle(CheckboxToggleStyle())
45-
46-
Toggle(isOn: $viewModel.isProhibitedItemsAccepted) {
47-
Text(
48-
AttributedString.withEmbeddedLink(
49-
mainContent: Localization.checkbox2,
50-
linkText: Localization.prohibitedItems,
51-
link: Links.prohibitedItems
31+
.accessibilityElement(children: .combine)
32+
33+
Text(Localization.message)
34+
35+
VStack(alignment: .leading, spacing: Layout.contentPadding) {
36+
Toggle(isOn: $viewModel.isTOSAccepted) {
37+
Text(
38+
AttributedString.withEmbeddedLink(
39+
mainContent: Localization.checkbox1,
40+
linkText: Localization.termsOfService,
41+
link: Links.termsOfService
42+
)
5243
)
53-
)
54-
}
55-
.toggleStyle(CheckboxToggleStyle())
56-
57-
Toggle(isOn: $viewModel.isTechnologyAgreementAccepted) {
58-
Text(
59-
AttributedString.withEmbeddedLink(
60-
mainContent: Localization.checkbox3,
61-
linkText: Localization.technologyAgreement,
62-
link: Links.techAgreement
44+
}
45+
.toggleStyle(CheckboxToggleStyle())
46+
47+
Toggle(isOn: $viewModel.isProhibitedItemsAccepted) {
48+
Text(
49+
AttributedString.withEmbeddedLink(
50+
mainContent: Localization.checkbox2,
51+
linkText: Localization.prohibitedItems,
52+
link: Links.prohibitedItems
53+
)
54+
)
55+
}
56+
.toggleStyle(CheckboxToggleStyle())
57+
58+
Toggle(isOn: $viewModel.isTechnologyAgreementAccepted) {
59+
Text(
60+
AttributedString.withEmbeddedLink(
61+
mainContent: Localization.checkbox3,
62+
linkText: Localization.technologyAgreement,
63+
link: Links.techAgreement
64+
)
6365
)
64-
)
66+
}
67+
.toggleStyle(CheckboxToggleStyle())
6568
}
66-
.toggleStyle(CheckboxToggleStyle())
69+
70+
Spacer()
6771
}
6872

69-
Spacer()
73+
VStack(spacing: 0) {
74+
Divider()
7075

71-
Button(Localization.confirmButton, action: {
72-
Task { @MainActor in
73-
await confirmAcceptance()
74-
}
75-
})
76-
.buttonStyle(PrimaryLoadingButtonStyle(isLoading: viewModel.isConfirming))
77-
.disabled(!viewModel.shouldEnableConfirmButton)
76+
Button(Localization.confirmButton, action: {
77+
Task { @MainActor in
78+
await confirmAcceptance()
79+
}
80+
})
81+
.buttonStyle(PrimaryLoadingButtonStyle(isLoading: viewModel.isConfirming))
82+
.padding(Layout.contentPadding)
83+
.disabled(!viewModel.shouldEnableConfirmButton)
84+
}
7885
}
7986
.padding(.top, Layout.contentPadding)
8087
.alert(Localization.errorTitle, isPresented: $didFailToConfirmAcceptance) {

0 commit comments

Comments
 (0)