@@ -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