ultimate-jekyll-manager 0.0.96 → 0.0.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.playwright-mcp/page-2025-10-22T19-11-27-666Z.png +0 -0
- package/.playwright-mcp/page-2025-10-22T19-11-57-357Z.png +0 -0
- package/CLAUDE.md +42 -0
- package/README.md +66 -0
- package/_backup/checkout copy 2.html +392 -0
- package/_backup/checkout copy 3.html +376 -0
- package/_backup/checkout copy 4.html +365 -0
- package/_backup/checkout copy.html +331 -0
- package/_backup/checkout-semi.html +331 -0
- package/_backup/cover-old.html +55 -0
- package/dist/assets/css/core/bindings.scss +7 -2
- package/dist/assets/css/core/utilities.scss +9 -1
- package/dist/assets/css/pages/payment/checkout/index.scss +52 -7
- package/dist/assets/js/core/complete.js +56 -0
- package/dist/assets/js/core/initialize.js +11 -0
- package/dist/assets/js/pages/app/index.js +82 -43
- package/dist/assets/js/pages/download/index.js +0 -6
- package/dist/assets/js/pages/payment/checkout/index.js +58 -52
- package/dist/assets/js/pages/payment/checkout/modules/discount-bindings.js +51 -0
- package/dist/assets/js/pages/payment/checkout/modules/pricing.js +55 -30
- package/dist/assets/js/pages/payment/checkout/modules/state.js +68 -14
- package/dist/assets/js/pages/payment/checkout/modules/ui-bindings.js +160 -0
- package/dist/assets/js/pages/payment/checkout/modules/ui.js +27 -42
- package/dist/assets/js/pages/payment/confirmation/index.js +58 -53
- package/dist/assets/js/pages/payment/confirmation/modules/bindings.js +28 -0
- package/dist/assets/js/pages/payment/confirmation/modules/state.js +19 -0
- package/dist/assets/js/ultimate-jekyll-manager.js +6 -2
- package/dist/assets/themes/classy/css/base/_spacing.scss +27 -0
- package/dist/defaults/dist/{redirects/authentication/helpers/well-known-change-password.html → .well-known/change-password.html} +4 -1
- package/dist/defaults/dist/.well-known/security.txt +15 -0
- package/dist/defaults/dist/_includes/core/body.html +31 -0
- package/dist/defaults/dist/_includes/core/foot.html +35 -0
- package/dist/defaults/dist/_layouts/blueprint/app.html +1 -1
- package/dist/defaults/dist/_layouts/blueprint/payment/checkout.html +6 -1
- package/dist/defaults/dist/_layouts/blueprint/payment/confirmation.html +6 -1
- package/dist/defaults/dist/_layouts/core/root.html +1 -0
- package/dist/defaults/dist/_layouts/modules/utilities/redirect.html +42 -31
- package/dist/defaults/dist/_layouts/themes/classy/backend/core/base.html +0 -35
- package/dist/defaults/dist/_layouts/themes/classy/frontend/core/base.html +0 -34
- package/dist/defaults/dist/_layouts/themes/classy/frontend/core/cover.html +6 -9
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/404.html +35 -44
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/account/index.html +1 -1
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/app.html +83 -0
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/oauth2.html +42 -44
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/reset.html +57 -59
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/signin.html +67 -69
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/auth/signup.html +76 -78
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/download.html +1 -4
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/payment/checkout.html +291 -240
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/payment/confirmation.html +43 -47
- package/dist/defaults/dist/humans.txt +25 -0
- package/dist/defaults/dist/opensearch.xml +26 -0
- package/dist/defaults/dist/pages/test/account/dashboard.html +3 -0
- package/dist/defaults/dist/pages/test/index.md +2 -2
- package/dist/defaults/dist/pages/test/libraries/ads.html +3 -0
- package/dist/defaults/dist/pages/test/libraries/bootstrap-components.html +11 -2
- package/dist/defaults/dist/pages/test/libraries/cover.html +47 -0
- package/dist/defaults/dist/pages/test/libraries/error.html +3 -0
- package/dist/defaults/dist/pages/test/libraries/lazy-loading.html +3 -0
- package/dist/defaults/dist/pages/test/redirect/external.md +3 -0
- package/dist/defaults/dist/pages/test/redirect/internal.md +3 -0
- package/dist/defaults/dist/pages/test/translation/index.md +2 -2
- package/dist/defaults/dist/redirects/authentication/helpers/change-password.html +1 -1
- package/dist/defaults/dist/redirects/authentication/helpers/forgot.html +1 -1
- package/dist/defaults/dist/redirects/authentication/helpers/recover.html +1 -1
- package/dist/defaults/dist/redirects/authentication/helpers/reset-password.html +1 -1
- package/dist/defaults/dist/sitemap.html +112 -28
- package/dist/defaults/dist/sitemap.xml +6 -1
- package/firebase-debug.log +388 -0
- package/package.json +1 -1
- package/dist/assets/js/core/init.js +0 -36
|
@@ -16,24 +16,73 @@ web_manager:
|
|
|
16
16
|
### PAGE CONFIG ###
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
<!--
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</
|
|
29
|
-
|
|
30
|
-
<!--
|
|
31
|
-
<
|
|
19
|
+
<!-- Capture payment buttons content to reuse in both desktop and mobile layouts -->
|
|
20
|
+
{% capture payment_buttons_content %}
|
|
21
|
+
<!-- Credit/Debit Card Button -->
|
|
22
|
+
<button type="submit" class="btn btn-adaptive btn-lg py-3 d-flex align-items-center justify-content-center payment-button"
|
|
23
|
+
data-payment-method="card"
|
|
24
|
+
data-action="pay-card"
|
|
25
|
+
data-wm-bind="@show checkout.paymentMethods.card">
|
|
26
|
+
{% uj_icon "credit-card", "me-2 fa-3xl" %}
|
|
27
|
+
<span class="fw-semibold">Credit/Debit</span>
|
|
28
|
+
</button>
|
|
29
|
+
|
|
30
|
+
<!-- PayPal Button -->
|
|
31
|
+
<button type="submit" class="btn btn-paypal btn-lg py-3 d-flex align-items-center justify-content-center payment-button"
|
|
32
|
+
data-payment-method="paypal"
|
|
33
|
+
data-action="pay-paypal"
|
|
34
|
+
data-wm-bind="@show checkout.paymentMethods.paypal">
|
|
35
|
+
<img src="https://www.paypalobjects.com/webstatic/mktg/Logo/pp-logo-200px.png"
|
|
36
|
+
alt="PayPal"
|
|
37
|
+
height="28"
|
|
38
|
+
style="max-height: 28px;">
|
|
39
|
+
</button>
|
|
40
|
+
|
|
41
|
+
<!-- Apple Pay Button -->
|
|
42
|
+
<button type="submit" class="btn btn-dark btn-lg py-3 d-flex align-items-center justify-content-center payment-button"
|
|
43
|
+
data-payment-method="apple-pay"
|
|
44
|
+
data-action="pay-apple-pay"
|
|
45
|
+
data-wm-bind="@show checkout.paymentMethods.applePay"
|
|
46
|
+
hidden>
|
|
47
|
+
{% uj_icon "apple", "me-2 fa-3xl" %}
|
|
48
|
+
<span class="fw-semibold">Apple Pay</span>
|
|
49
|
+
</button>
|
|
50
|
+
|
|
51
|
+
<!-- Google Pay Button -->
|
|
52
|
+
<button type="submit" class="btn btn-outline-dark btn-lg py-3 d-flex align-items-center justify-content-center payment-button"
|
|
53
|
+
data-payment-method="google-pay"
|
|
54
|
+
data-action="pay-google-pay"
|
|
55
|
+
data-wm-bind="@show checkout.paymentMethods.googlePay"
|
|
56
|
+
hidden>
|
|
57
|
+
<img src="https://www.gstatic.com/instantbuy/svg/dark_gpay.svg"
|
|
58
|
+
alt="Google Pay"
|
|
59
|
+
height="24"
|
|
60
|
+
class="me-2">
|
|
61
|
+
<span class="fw-semibold">Google Pay</span>
|
|
62
|
+
</button>
|
|
63
|
+
|
|
64
|
+
<!-- Crypto Button -->
|
|
65
|
+
<button type="submit" class="btn btn-outline-adaptive btn-lg py-3 d-flex align-items-center justify-content-center payment-button"
|
|
66
|
+
data-payment-method="crypto"
|
|
67
|
+
data-action="pay-crypto"
|
|
68
|
+
data-wm-bind="@show checkout.paymentMethods.crypto"
|
|
69
|
+
hidden>
|
|
70
|
+
{% uj_icon "bitcoin", "me-2 fa-3xl" %}
|
|
71
|
+
<span class="fw-semibold">Crypto</span>
|
|
72
|
+
</button>
|
|
73
|
+
|
|
74
|
+
<p class="text-muted small text-center mb-0">
|
|
75
|
+
By purchasing, you agree to our <a href="/terms" target="_blank">Terms of Service</a> and <a href="/privacy" target="_blank">Privacy Policy</a>.
|
|
76
|
+
</p>
|
|
77
|
+
{% endcapture %}
|
|
78
|
+
|
|
79
|
+
<!-- Error Message Container (hidden by default, shown via bindings) -->
|
|
80
|
+
<div id="checkout-error-container" data-wm-bind="@show checkout.error.show" hidden>
|
|
32
81
|
<div class="row justify-content-center">
|
|
33
82
|
<div class="col-lg-8">
|
|
34
83
|
<div class="alert alert-danger" role="alert">
|
|
35
84
|
<h4 class="alert-heading">Oops! Something went wrong</h4>
|
|
36
|
-
<p
|
|
85
|
+
<p data-wm-bind="@text checkout.error.message"></p>
|
|
37
86
|
<hr>
|
|
38
87
|
<button class="btn btn-outline-danger" onclick="window.location.reload()">
|
|
39
88
|
Try again
|
|
@@ -43,274 +92,276 @@ web_manager:
|
|
|
43
92
|
</div>
|
|
44
93
|
</div>
|
|
45
94
|
|
|
46
|
-
<!-- Checkout Section -->
|
|
47
|
-
<section id="checkout-content">
|
|
48
|
-
<!-- Title Row -->
|
|
95
|
+
<!-- Checkout Section (visible by default, hidden only when error is shown) -->
|
|
96
|
+
<section id="checkout-content" class="col-12 col-xl-10 mw-xl" data-wm-bind="@hide checkout.error.show">
|
|
49
97
|
<div class="row mb-4">
|
|
50
98
|
<div class="col-12">
|
|
51
|
-
<h1 class="h2 mb-0">Checkout</h1>
|
|
99
|
+
<h1 class="h2 mb-0 text-center text-lg-start">Checkout</h1>
|
|
52
100
|
</div>
|
|
53
101
|
</div>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<span id="savings-badge" class="position-absolute top-0 start-50 translate-middle badge rounded-pill bg-primary px-3 py-2">Save --</span>
|
|
82
|
-
<div class="d-flex align-items-center justify-content-center mb-2">
|
|
83
|
-
<span class="bg-secondary bg-opacity-25 text-secondary rounded-circle d-inline-flex align-items-center justify-content-center">
|
|
84
|
-
{% uj_icon "check", "fa-md p-1" %}
|
|
85
|
-
</span>
|
|
86
|
-
</div>
|
|
87
|
-
<div class="fs-4 mb-1">
|
|
88
|
-
<span id="annually-price-lg">$--</span>
|
|
89
|
-
<span class="text-muted fs-6 fw-normal">/mo</span>
|
|
90
|
-
</div>
|
|
91
|
-
<div class="text-muted small">Annual Plan</div>
|
|
92
|
-
</label>
|
|
102
|
+
<div class="card border-0 shadow-lg">
|
|
103
|
+
<div class="card-body p-3 p-md-5">
|
|
104
|
+
<!-- Title Row -->
|
|
105
|
+
<!-- <div class="row mb-4">
|
|
106
|
+
<div class="col-12">
|
|
107
|
+
<h1 class="h2 mb-0 text-center text-lg-start">Checkout</h1>
|
|
108
|
+
</div>
|
|
109
|
+
</div> -->
|
|
110
|
+
|
|
111
|
+
<!-- Main Checkout Form -->
|
|
112
|
+
<form id="checkout-form" autocomplete="on" novalidate>
|
|
113
|
+
<!-- Content Row -->
|
|
114
|
+
<div class="row d-lg-flex">
|
|
115
|
+
<!-- Section 1: Billing Cycle & Customer Info -->
|
|
116
|
+
<div class="col-12 col-lg-7 mb-4 mb-lg-0 order-1">
|
|
117
|
+
<!-- Billing Cycle Selection -->
|
|
118
|
+
<div class="_card _border-1 _border-secondary _shadow-sm mb-4">
|
|
119
|
+
<div class="card-body">
|
|
120
|
+
<h3 class="h5 fw-bold mb-3">Billing Cycle</h3>
|
|
121
|
+
<div class="d-flex justify-content-between align-items-center mb-3 _wm-binding-skeleton" _data-wm-bind="@show checkout" hidden>
|
|
122
|
+
<h6 class="fw-bold mb-0">
|
|
123
|
+
<span data-wm-bind="@text checkout.product.name">Loading...</span> Plan
|
|
124
|
+
</h6>
|
|
125
|
+
<a href="/pricing" class="small text-decoration-none">
|
|
126
|
+
{% uj_icon "arrow-left", "me-1" %}
|
|
127
|
+
Change plan
|
|
128
|
+
</a>
|
|
93
129
|
</div>
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
130
|
+
|
|
131
|
+
<!-- Subscription Toggle (shown for subscriptions only) -->
|
|
132
|
+
<div id="subscription-toggle">
|
|
133
|
+
<div class="row g-3">
|
|
134
|
+
<div class="col-6">
|
|
135
|
+
<div class="wm-binding-skeleton" data-wm-bind="@show checkout.product.isSubscription">
|
|
136
|
+
<input type="radio" class="btn-check" name="billing-cycle" id="annually" value="annually">
|
|
137
|
+
<label class="btn btn-outline-adaptive text-body w-100 p-3 position-relative border-2 rounded-3 _animation-hover-up wm-binding-skeleton" data-wm-bind="@show checkout.product.isSubscription" for="annually">
|
|
138
|
+
<span class="position-absolute top-0 start-50 translate-middle badge rounded-pill bg-primary px-3 py-2"
|
|
139
|
+
data-wm-bind="@text checkout.pricing.savingsBadge, @show checkout.pricing.showSavingsBadge"
|
|
140
|
+
hidden
|
|
141
|
+
>Save --</span>
|
|
142
|
+
<div class="d-flex align-items-center justify-content-center mb-2">
|
|
143
|
+
<span class="bg-secondary bg-opacity-25 text-secondary rounded-circle d-inline-flex align-items-center justify-content-center">
|
|
144
|
+
{% uj_icon "check", "fa-md p-1" %}
|
|
145
|
+
</span>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="fs-4 mb-1 wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
148
|
+
<span data-wm-bind="@text checkout.pricing.annualMonthlyRate">$--</span>
|
|
149
|
+
<span class="opacity-60 fs-6 fw-normal">/mo</span>
|
|
150
|
+
</div>
|
|
151
|
+
<div class="opacity-80 small">Annual Plan</div>
|
|
152
|
+
</label>
|
|
153
|
+
</div>
|
|
101
154
|
</div>
|
|
102
|
-
<div class="
|
|
103
|
-
<
|
|
104
|
-
|
|
155
|
+
<div class="col-6">
|
|
156
|
+
<div class="wm-binding-skeleton" data-wm-bind="@show checkout.product.isSubscription">
|
|
157
|
+
<input type="radio" class="btn-check" name="billing-cycle" id="monthly" value="monthly">
|
|
158
|
+
<label class="btn btn-outline-adaptive text-body w-100 p-3 border-2 rounded-3 _animation-hover-up wm-binding-skeleton" data-wm-bind="@show checkout.product.isSubscription" for="monthly">
|
|
159
|
+
<div class="d-flex align-items-center justify-content-center mb-2">
|
|
160
|
+
<span class="bg-secondary bg-opacity-25 text-secondary rounded-circle d-inline-flex align-items-center justify-content-center">
|
|
161
|
+
{% uj_icon "check", "fa-md p-1" %}
|
|
162
|
+
</span>
|
|
163
|
+
</div>
|
|
164
|
+
<div class="fs-4 mb-1 wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
165
|
+
<span data-wm-bind="@text checkout.pricing.monthlyPrice">$--</span>
|
|
166
|
+
<span class="opacity-60 fs-6 fw-normal">/mo</span>
|
|
167
|
+
</div>
|
|
168
|
+
<div class="opacity-80 small">Monthly Plan</div>
|
|
169
|
+
</label>
|
|
170
|
+
</div>
|
|
105
171
|
</div>
|
|
106
|
-
|
|
107
|
-
</label>
|
|
108
|
-
</div>
|
|
109
|
-
</div>
|
|
172
|
+
</div>
|
|
110
173
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
174
|
+
<!-- Payment text under the boxes -->
|
|
175
|
+
<div class="text-muted small text-center mt-2 wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
176
|
+
* Pay <span class="mb-0">$-- monthly</span>
|
|
177
|
+
</div>
|
|
115
178
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
179
|
+
<!-- Free Trial Badge -->
|
|
180
|
+
<div class="alert alert-success mt-3 mb-0 p-2"
|
|
181
|
+
data-wm-bind="@show checkout.trial.show"
|
|
182
|
+
hidden>
|
|
183
|
+
<small class="d-flex align-items-center mb-0">
|
|
184
|
+
{% uj_icon "gift", "me-2" %}
|
|
185
|
+
<span data-wm-bind="@text checkout.trial.message"></span>
|
|
186
|
+
</small>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
122
189
|
</div>
|
|
123
190
|
</div>
|
|
124
|
-
</div>
|
|
125
|
-
</div>
|
|
126
191
|
|
|
127
|
-
|
|
128
|
-
<div class="card border-1 shadow-sm mb-4">
|
|
129
|
-
<div class="card-body p-4">
|
|
130
|
-
<h3 class="h5 fw-bold mb-3">Customer Information</h3>
|
|
192
|
+
<hr>
|
|
131
193
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
194
|
+
<!-- Customer Information Card -->
|
|
195
|
+
<div class="_card _border-1 _border-secondary _shadow-sm mb-3">
|
|
196
|
+
<div class="card-body">
|
|
197
|
+
<h3 class="h5 fw-bold mb-3">Customer Information</h3>
|
|
135
198
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
199
|
+
<div class="text-start wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
200
|
+
Managing order for <strong data-wm-bind="@text auth.user.email">loading@example.com</strong>, <a href="#" id="switch-account">switch account</a>.
|
|
201
|
+
</div>
|
|
202
|
+
|
|
203
|
+
<!-- Customer form fields will go here when needed -->
|
|
204
|
+
<div id="customer-fields" class="text-start">
|
|
205
|
+
<!-- Future form fields like shipping address, VAT number, etc. -->
|
|
206
|
+
<!-- <div class="mb-3">
|
|
207
|
+
<label for="customer-name" class="form-label fw-semibold">
|
|
208
|
+
Name <span class="text-danger">*</span>
|
|
209
|
+
</label>
|
|
210
|
+
<input type="text" class="form-control form-control-md" id="customer-name" name="customer_name" placeholder="Enter your full name" autocomplete="name" required>
|
|
211
|
+
</div> -->
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
145
214
|
</div>
|
|
146
|
-
</div>
|
|
147
|
-
</div>
|
|
148
215
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
<!-- PayPal Button -->
|
|
163
|
-
<button type="submit" class="btn btn-paypal btn-lg py-3 d-flex align-items-center justify-content-center" id="pay-with-paypal" data-payment-method="paypal" data-action="pay-paypal">
|
|
164
|
-
<img src="https://www.paypalobjects.com/webstatic/mktg/Logo/pp-logo-200px.png"
|
|
165
|
-
alt="PayPal"
|
|
166
|
-
height="28"
|
|
167
|
-
style="max-height: 28px;">
|
|
168
|
-
</button>
|
|
169
|
-
|
|
170
|
-
<!-- Apple Pay Button (shown conditionally) -->
|
|
171
|
-
<button type="submit" class="btn btn-dark btn-lg py-3 d-flex align-items-center justify-content-center d-none" id="pay-with-apple-pay" data-payment-method="apple-pay" data-action="pay-apple-pay">
|
|
172
|
-
{% uj_icon "apple", "me-2 fa-3xl" %}
|
|
173
|
-
<span class="fw-semibold">Apple Pay</span>
|
|
174
|
-
</button>
|
|
175
|
-
|
|
176
|
-
<!-- Google Pay Button (shown conditionally) -->
|
|
177
|
-
<button type="submit" class="btn btn-outline-dark btn-lg py-3 d-flex align-items-center justify-content-center d-none" id="pay-with-google-pay" data-payment-method="google-pay" data-action="pay-google-pay">
|
|
178
|
-
<img src="https://www.gstatic.com/instantbuy/svg/dark_gpay.svg"
|
|
179
|
-
alt="Google Pay"
|
|
180
|
-
height="24"
|
|
181
|
-
class="me-2">
|
|
182
|
-
<span class="fw-semibold">Google Pay</span>
|
|
183
|
-
</button>
|
|
184
|
-
|
|
185
|
-
<!-- Crypto Button -->
|
|
186
|
-
<button type="submit" class="btn btn-outline-adaptive btn-lg py-3 d-flex align-items-center justify-content-center" id="pay-with-crypto" data-payment-method="crypto" data-action="pay-crypto">
|
|
187
|
-
{% uj_icon "bitcoin", "me-2 fa-3xl" %}
|
|
188
|
-
<span class="fw-semibold">Crypto</span>
|
|
189
|
-
</button>
|
|
190
|
-
|
|
191
|
-
<!-- Divider -->
|
|
192
|
-
<!-- <div class="d-flex align-items-center my-2">
|
|
193
|
-
<hr class="flex-grow-1">
|
|
194
|
-
<span class="text-muted small px-3">or pay with cryptocurrency</span>
|
|
195
|
-
<hr class="flex-grow-1">
|
|
196
|
-
</div> -->
|
|
197
|
-
|
|
198
|
-
<p class="text-muted small text-center mb-0">
|
|
199
|
-
By purchasing, you agree to our <a href="/terms" target="_blank">Terms of Service</a> and <a href="/privacy" target="_blank">Privacy Policy</a>.
|
|
200
|
-
</p>
|
|
216
|
+
<!-- HR separator (visible on desktop only) -->
|
|
217
|
+
<hr class="d-none d-lg-block">
|
|
218
|
+
|
|
219
|
+
<!-- Payment Method Card (Desktop only - duplicate for layout) -->
|
|
220
|
+
<div class="_card _border-1 _border-secondary _shadow-sm mb-0 d-none d-lg-block">
|
|
221
|
+
<div class="card-body">
|
|
222
|
+
<h3 class="h5 fw-bold mb-3">Payment Method</h3>
|
|
223
|
+
|
|
224
|
+
<!-- Direct Payment Buttons -->
|
|
225
|
+
<div class="d-grid gap-3 wm-binding-skeleton" data-wm-bind="@show checkout.paymentMethods">
|
|
226
|
+
{{ payment_buttons_content }}
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
201
229
|
</div>
|
|
202
|
-
</div>
|
|
203
|
-
</div>
|
|
204
230
|
|
|
205
|
-
<!-- Security badges -->
|
|
206
|
-
<div class="text-center mt-2">
|
|
207
|
-
<div class="d-flex justify-content-center align-items-center gap-3 small text-muted">
|
|
208
|
-
<span>{% uj_icon "shield-check", "text-success" %} Secure Checkout</span>
|
|
209
|
-
<span>{% uj_icon "lock", "text-success" %} SSL Encrypted</span>
|
|
210
|
-
<span>{% uj_icon "check-circle", "text-success" %} Money-back guarantee</span>
|
|
211
231
|
</div>
|
|
212
|
-
</div>
|
|
213
|
-
</div>
|
|
214
232
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
233
|
+
<!-- Section 2: Order Summary -->
|
|
234
|
+
<div class="col-12 col-lg-5 mb-4 mb-lg-0 order-2 ms-lg-auto">
|
|
235
|
+
<div class="order-summary-sticky">
|
|
236
|
+
<div class="_card _border-1 _border-secondary _shadow-sm">
|
|
237
|
+
<div class="card-body">
|
|
238
|
+
<h3 class="h5 fw-bold mb-3">Order Summary</h3>
|
|
239
|
+
|
|
240
|
+
<!-- Product Item -->
|
|
241
|
+
<div class="order-item mb-4">
|
|
242
|
+
<div class="d-flex align-items-center wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
243
|
+
<div class="position-relative me-3">
|
|
244
|
+
<div class="product-thumbnail bg-light rounded-3 d-flex align-items-center justify-content-center">
|
|
245
|
+
<img src="{{ site.brand.images.brandmark }}?cb={{ site.uj.cache_breaker }}" class="img-fluid p-3" alt="{{ site.brand.name }} Plan Icon"/>
|
|
246
|
+
</div>
|
|
247
|
+
<span class="position-absolute badge rounded-pill bg-primary" style="top: -0.375rem; right: -0.375rem;">
|
|
248
|
+
1
|
|
249
|
+
<span class="visually-hidden">quantity</span>
|
|
250
|
+
</span>
|
|
251
|
+
</div>
|
|
252
|
+
<div class="flex-grow-1 text-start wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
253
|
+
<h6 class="mb-1" data-wm-bind="@text checkout.product.name">Loading...</h6>
|
|
254
|
+
<!-- <p class="text-muted small mb-0" data-wm-bind="@text checkout.product.description">Loading product details...</p> -->
|
|
255
|
+
</div>
|
|
256
|
+
<div class="text-end d-none">
|
|
257
|
+
<div class="fw-bold" data-wm-bind="@text checkout.pricing.productPrice">$--</div>
|
|
258
|
+
</div>
|
|
228
259
|
</div>
|
|
229
|
-
<span class="position-absolute badge rounded-pill bg-primary" style="top: -0.375rem; right: -0.375rem;">
|
|
230
|
-
1
|
|
231
|
-
<span class="visually-hidden">quantity</span>
|
|
232
|
-
</span>
|
|
233
|
-
</div>
|
|
234
|
-
<div class="flex-grow-1 text-start">
|
|
235
|
-
<h6 class="mb-1" id="product-name">Loading...</h6>
|
|
236
|
-
<p class="text-muted small mb-0" id="product-description">Loading product details...</p>
|
|
237
|
-
</div>
|
|
238
|
-
<div class="text-end d-none">
|
|
239
|
-
<div class="fw-bold" id="product-price">$--</div>
|
|
240
260
|
</div>
|
|
241
|
-
</div>
|
|
242
|
-
</div>
|
|
243
261
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
262
|
+
<!-- Discount Code -->
|
|
263
|
+
<div class="mb-4 wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
264
|
+
<div class="input-group" data-wm-bind="@show checkout" hidden>
|
|
265
|
+
<input type="text" class="form-control rounded-start-3 border py-2 px-3 text-start" id="discount-code" name="discount-code" placeholder="Discount code" autocomplete="off">
|
|
266
|
+
<button class="btn btn-adaptive rounded-end-3 border px-4" type="button" id="apply-discount" data-action="apply-discount">Apply</button>
|
|
267
|
+
</div>
|
|
250
268
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
269
|
+
<!-- Discount Messages -->
|
|
270
|
+
<div class="text-start">
|
|
271
|
+
<div class="mt-2 text-primary small" data-wm-bind="@show checkout.discount.loading" hidden>
|
|
272
|
+
{% uj_icon "clock", "me-1" %} Checking code...
|
|
273
|
+
</div>
|
|
274
|
+
<div class="mt-2 text-success small" data-wm-bind="@show checkout.discount.success" hidden>
|
|
275
|
+
{% uj_icon "check-circle", "me-1" %} <span data-wm-bind="@text checkout.discount.successMessage">Discount applied</span>
|
|
276
|
+
</div>
|
|
277
|
+
<div class="mt-2 text-danger small" data-wm-bind="@show checkout.discount.error" hidden>
|
|
278
|
+
{% uj_icon "times-circle", "me-1" %} <span data-wm-bind="@text checkout.discount.errorMessage">Invalid discount code</span>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
261
281
|
</div>
|
|
262
|
-
</div>
|
|
263
|
-
</div>
|
|
264
282
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
283
|
+
<!-- Price Breakdown -->
|
|
284
|
+
<div>
|
|
285
|
+
<div class="d-flex justify-content-between mb-2 wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
286
|
+
<span class="text-muted">Subtotal</span>
|
|
287
|
+
<span data-wm-bind="@text checkout.pricing.subtotal">$--</span>
|
|
288
|
+
</div>
|
|
271
289
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
290
|
+
<div class="d-flex justify-content-between mb-2 text-success"
|
|
291
|
+
data-wm-bind="@show checkout.discount.hasDiscount"
|
|
292
|
+
hidden>
|
|
293
|
+
<span>Discount (<span data-wm-bind="@text checkout.discount.percent"></span>)</span>
|
|
294
|
+
<span>-$<span data-wm-bind="@text checkout.discount.amount"></span></span>
|
|
295
|
+
</div>
|
|
276
296
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
297
|
+
<div class="d-flex justify-content-between mb-3 text-success"
|
|
298
|
+
data-wm-bind="@show checkout.trial.hasFreeTrial"
|
|
299
|
+
hidden>
|
|
300
|
+
<span>Free Trial Discount</span>
|
|
301
|
+
<span>-$<span data-wm-bind="@text checkout.trial.discountAmount"></span></span>
|
|
302
|
+
</div>
|
|
281
303
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
304
|
+
<div class="d-flex justify-content-between align-items-center mb-3 wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
305
|
+
<span class="fw-bold fs-5">Total Due Today</span>
|
|
306
|
+
<span class="fw-bold fs-4" data-wm-bind="@text checkout.pricing.total">$--</span>
|
|
307
|
+
</div>
|
|
286
308
|
|
|
287
|
-
|
|
309
|
+
<hr class="my-3">
|
|
310
|
+
|
|
311
|
+
<div class="d-flex justify-content-between align-items-center text-muted wm-binding-skeleton" data-wm-bind="@show checkout">
|
|
312
|
+
<span>Recurring</span>
|
|
313
|
+
<span><span data-wm-bind="@text checkout.pricing.recurringAmount">$--</span> <span data-wm-bind="@text checkout.pricing.recurringPeriod">monthly</span></span>
|
|
314
|
+
</div>
|
|
288
315
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
316
|
+
<!-- Subscription Terms -->
|
|
317
|
+
<div class="mt-3 rounded-3 small text-body-tertiary text-start"
|
|
318
|
+
data-wm-bind="@show checkout.pricing.showTerms"
|
|
319
|
+
hidden>
|
|
320
|
+
<span data-wm-bind="@text checkout.pricing.termsText"></span>
|
|
321
|
+
</div>
|
|
322
|
+
</div>
|
|
292
323
|
</div>
|
|
324
|
+
</div>
|
|
293
325
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
326
|
+
<!-- Trust Badges -->
|
|
327
|
+
<div class="text-center mt-2">
|
|
328
|
+
<div class="d-flex justify-content-center align-items-center gap-3 text-muted">
|
|
329
|
+
<a href="javascript:;" class="text-decoration-none btn-link" id="checkout-help-button">
|
|
330
|
+
{% uj_icon "messages-question", "text-primary" %} Need help? Chat with us now!
|
|
331
|
+
</a>
|
|
297
332
|
</div>
|
|
298
333
|
</div>
|
|
299
334
|
</div>
|
|
300
335
|
</div>
|
|
301
336
|
|
|
302
|
-
<!--
|
|
303
|
-
<div class="
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
337
|
+
<!-- Section 3: Payment Method (Mobile only - hidden on desktop) -->
|
|
338
|
+
<div class="col-12 col-lg-7 mb-4 order-3 d-lg-none">
|
|
339
|
+
<!-- Payment Method Card (Mobile position) -->
|
|
340
|
+
<div class="_card _border-1 _border-secondary _shadow-sm mb-0">
|
|
341
|
+
<div class="card-body">
|
|
342
|
+
<h3 class="h5 fw-bold mb-3">Payment Method</h3>
|
|
343
|
+
|
|
344
|
+
<!-- Direct Payment Buttons -->
|
|
345
|
+
<div class="d-grid gap-3 wm-binding-skeleton" data-wm-bind="@show checkout.paymentMethods">
|
|
346
|
+
{{ payment_buttons_content }}
|
|
347
|
+
</div>
|
|
348
|
+
</div>
|
|
308
349
|
</div>
|
|
350
|
+
|
|
309
351
|
</div>
|
|
310
352
|
</div>
|
|
311
|
-
</
|
|
353
|
+
</form>
|
|
312
354
|
</div>
|
|
313
|
-
</
|
|
355
|
+
</div>
|
|
356
|
+
|
|
357
|
+
<!-- Security badges (below main card) -->
|
|
358
|
+
<div class="text-center mt-3">
|
|
359
|
+
<div class="d-flex justify-content-center align-items-center gap-3 small text-muted">
|
|
360
|
+
<span>{% uj_icon "shield-check", "text-success" %} Secure Checkout</span>
|
|
361
|
+
<span>{% uj_icon "lock", "text-success" %} SSL Encrypted</span>
|
|
362
|
+
<span>{% uj_icon "check-circle", "text-success" %} Money-back guarantee</span>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
314
365
|
</section>
|
|
315
366
|
|
|
316
367
|
{{ content | uj_content_format }}
|