wickes-css2 2.107.0-develop.2 → 2.107.0-develop.4
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/build/css/components/checkout-chip.css +1 -1
- package/build/css/components/checkout-payment-details-v2.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -1
- package/build/css/pages/my-account-v2.css +1 -1
- package/build/js/emulation.min.js +27 -1
- package/build/js/gift-cards.min.js +1 -1
- package/build/js/page/checkout-payment-details.js +96 -9
- package/build/js/page/checkout.js +1 -1
- package/build/js/page/components/gift-cards.js +1 -1
- package/build/js/page/kitchen/card-carousel.js +22 -22
- package/package.json +1 -1
- package/src/components/cart-voucher.hbs +10 -1
- package/src/components/checkout-payment-details-v2.hbs +4 -4
- package/src/components/checkout-payment-info-block.hbs +1 -1
- package/src/components/checkout_order-summary-new.hbs +1 -1
- package/src/components/order-item.hbs +18 -5
- package/src/components/order-summary.hbs +1 -1
- package/src/components/potential-promotion.hbs +12 -3
- package/src/data/data_shopping-cart-v2.json +23 -5
- package/src/js/emulation/checkout-payment-details.js +34 -1
- package/src/js/page/checkout-payment-details.js +96 -9
- package/src/js/page/checkout.js +1 -1
- package/src/js/page/components/gift-cards.js +1 -1
- package/src/js/page/kitchen/card-carousel.js +22 -22
- package/src/page_my-account-installer-carousel.html +131 -0
- package/src/page_shopping-cart-v2-vat.html +2 -1
- package/src/scss/components/checkout-chip.scss +1 -0
- package/src/scss/components/checkout-payment-details-v2.scss +12 -0
- package/src/scss/components/my-account/_clipboard-code.scss +4 -0
- package/src/sitemap.html +1 -0
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
var Wick = Wick || {};
|
|
2
|
+
window.INIT_KLARNA_PAYMENT = window.INIT_KLARNA_PAYMENT || 'INIT_KLARNA_PAYMENT';
|
|
3
|
+
window.INIT_BILLIE_PAYMENT = window.INIT_BILLIE_PAYMENT || 'INIT_BILLIE_PAYMENT';
|
|
2
4
|
Wick.CheckoutPaymentDetails = (function () {
|
|
3
5
|
const $modal = $('#modal-terms-and-conditions');
|
|
4
6
|
|
|
@@ -10,9 +12,11 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
10
12
|
buttonName: 'btn-enter-details',
|
|
11
13
|
};
|
|
12
14
|
|
|
15
|
+
const toggleBillieRepaymentTermsClass = 'js-billie-repayment-terms--has-selection';
|
|
16
|
+
|
|
13
17
|
const elements = {
|
|
14
18
|
$billieRepaymentTerms: $('.js-billie-repayment-terms'),
|
|
15
|
-
$
|
|
19
|
+
$billieWidget: $('.checkout-payment-details__billie[data-billie]'),
|
|
16
20
|
$wrapperPaymentInput: $('.checkout-payment-details__row'),
|
|
17
21
|
paymentInputName: '[name=payment-method]',
|
|
18
22
|
$cardDetails: $('.checkout-payment-details__card-details'),
|
|
@@ -26,6 +30,52 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
26
30
|
hiddenClass: 'd-none',
|
|
27
31
|
};
|
|
28
32
|
|
|
33
|
+
let klarnaInited = false;
|
|
34
|
+
let billieInited = false;
|
|
35
|
+
|
|
36
|
+
function initKlarnaPayment() {
|
|
37
|
+
if (klarnaInited) return Promise.resolve({ ok: true, cached: true });
|
|
38
|
+
|
|
39
|
+
return new Promise((resolve, reject) => {
|
|
40
|
+
const payload = {};
|
|
41
|
+
const detail = {
|
|
42
|
+
resolve: (data) => {
|
|
43
|
+
klarnaInited = true;
|
|
44
|
+
resolve(data);
|
|
45
|
+
},
|
|
46
|
+
reject,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const evt = createEvent(window.INIT_KLARNA_PAYMENT, payload, detail);
|
|
50
|
+
window.dispatchEvent(evt);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function initBilliePayment() {
|
|
55
|
+
if (billieInited) return Promise.resolve({ ok: true, cached: true });
|
|
56
|
+
|
|
57
|
+
return new Promise((resolve, reject) => {
|
|
58
|
+
const payload = {};
|
|
59
|
+
const detail = {
|
|
60
|
+
resolve: (data) => {
|
|
61
|
+
billieInited = true;
|
|
62
|
+
resolve(data);
|
|
63
|
+
},
|
|
64
|
+
reject,
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const evt = createEvent(window.INIT_BILLIE_PAYMENT, payload, detail);
|
|
68
|
+
window.dispatchEvent(evt);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function getBillieRepaymentTermsLength() {
|
|
73
|
+
const billieRepaymentTerms =
|
|
74
|
+
(window.Wick && window.Wick?.BillieData?.billiePaymentTerms) || [];
|
|
75
|
+
|
|
76
|
+
return Array.isArray(billieRepaymentTerms) ? billieRepaymentTerms.length : 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
29
79
|
function preparePage() {
|
|
30
80
|
var modalOpened = $('.modal.show').length;
|
|
31
81
|
if (!modalOpened) return;
|
|
@@ -54,10 +104,14 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
54
104
|
|
|
55
105
|
function togglePaymentBlocks(paymentMethods, checkedMethod) {
|
|
56
106
|
paymentMethods.forEach((method) => {
|
|
57
|
-
$(`[data-${method}]`).
|
|
107
|
+
$(`[data-${method}]`).hide();
|
|
58
108
|
});
|
|
59
|
-
}
|
|
60
109
|
|
|
110
|
+
const $selected = $(`[data-${checkedMethod}]`);
|
|
111
|
+
if ($selected.length) {
|
|
112
|
+
$selected.show();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
61
115
|
function resetAllCheckoutForms(keepPaymentMethod) {
|
|
62
116
|
const $container = elements.$wrapperPaymentInput.closest('.checkout-payment-details');
|
|
63
117
|
if (!$container.length) return;
|
|
@@ -101,9 +155,18 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
101
155
|
$row.find(':input').prop('disabled', !isVisible);
|
|
102
156
|
}
|
|
103
157
|
|
|
158
|
+
function _syncBillieUI(isReady) {
|
|
159
|
+
elements.$billieWidget.toggle(isReady);
|
|
160
|
+
elements.$billieRepaymentTerms.toggleClass(toggleBillieRepaymentTermsClass, isReady);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function resetBillieUi() {
|
|
164
|
+
_syncBillieUI(false);
|
|
165
|
+
}
|
|
166
|
+
|
|
104
167
|
function setBillieStepVisibility(isReady) {
|
|
168
|
+
_syncBillieUI(isReady);
|
|
105
169
|
setBillingDetailsRowVisibility(isReady);
|
|
106
|
-
elements.$billieInfoBlock.toggle(isReady);
|
|
107
170
|
}
|
|
108
171
|
|
|
109
172
|
function resetBillieRepaymentSelection() {
|
|
@@ -129,13 +192,27 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
129
192
|
const isUnregistered = type === 'unregistered';
|
|
130
193
|
const isRegistered = type === 'registered';
|
|
131
194
|
|
|
132
|
-
elements.$unregisteredFields
|
|
133
|
-
|
|
195
|
+
elements.$unregisteredFields
|
|
196
|
+
.toggleClass(elements.hiddenClass, !isUnregistered)
|
|
197
|
+
.removeAttr('style');
|
|
198
|
+
elements.$registeredFields
|
|
199
|
+
.toggleClass(elements.hiddenClass, !isRegistered)
|
|
200
|
+
.removeAttr('style');
|
|
134
201
|
}
|
|
135
202
|
|
|
136
203
|
function changeDetailsBlock(checkedMethod) {
|
|
137
204
|
if (checkedMethod !== 'billie') {
|
|
205
|
+
resetBillieUi();
|
|
138
206
|
setBillingDetailsRowVisibility(true);
|
|
207
|
+
hideBillieBusiness();
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
if (checkedMethod === 'klarna') {
|
|
211
|
+
initKlarnaPayment().catch(() => {});
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (checkedMethod === 'billie' && getBillieRepaymentTermsLength() === 1) {
|
|
215
|
+
initBilliePayment().catch(() => {});
|
|
139
216
|
}
|
|
140
217
|
|
|
141
218
|
switch (checkedMethod) {
|
|
@@ -157,7 +234,7 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
157
234
|
};
|
|
158
235
|
changeLabelText(detailsLabel);
|
|
159
236
|
|
|
160
|
-
setBillieStepVisibility(
|
|
237
|
+
setBillieStepVisibility(getBillieRepaymentTermsLength() === 1);
|
|
161
238
|
resetBillieRepaymentSelection();
|
|
162
239
|
showBillieBusiness();
|
|
163
240
|
break;
|
|
@@ -173,13 +250,13 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
173
250
|
prevClearableMethod = checkedMethod;
|
|
174
251
|
break;
|
|
175
252
|
|
|
176
|
-
case 'apple':
|
|
253
|
+
case 'apple-pay':
|
|
177
254
|
hideCardDetails();
|
|
178
255
|
hidePlaceOrder();
|
|
179
256
|
hideBillingAddres();
|
|
180
257
|
break;
|
|
181
258
|
|
|
182
|
-
case 'google':
|
|
259
|
+
case 'google-pay':
|
|
183
260
|
hideCardDetails();
|
|
184
261
|
hidePlaceOrder();
|
|
185
262
|
hideBillingAddres();
|
|
@@ -239,6 +316,12 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
239
316
|
});
|
|
240
317
|
}
|
|
241
318
|
|
|
319
|
+
function forceReflow($element) {
|
|
320
|
+
if (!$element.length) return;
|
|
321
|
+
void $element[0].offsetHeight;
|
|
322
|
+
$(window).trigger('resize');
|
|
323
|
+
}
|
|
324
|
+
|
|
242
325
|
function init() {
|
|
243
326
|
const paymentMethods = getPaymentMethods();
|
|
244
327
|
initBillieBusinessTypeToggle();
|
|
@@ -248,6 +331,10 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
248
331
|
const currentMethod = $(elements.paymentInputName + ':checked').val();
|
|
249
332
|
if (currentMethod !== 'billie') return;
|
|
250
333
|
|
|
334
|
+
requestAnimationFrame(() => {
|
|
335
|
+
forceReflow(elements.$billieWidget);
|
|
336
|
+
});
|
|
337
|
+
|
|
251
338
|
const hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
|
|
252
339
|
setBillieStepVisibility(hasSelection);
|
|
253
340
|
|
package/src/js/page/checkout.js
CHANGED
|
@@ -111,7 +111,7 @@ Wick.GiftCard = {
|
|
|
111
111
|
klarnaInfo: '.checkout-payment-details__klarna',
|
|
112
112
|
billingAddress: '.billing-address',
|
|
113
113
|
altPaymentRowsAttr:
|
|
114
|
-
'[data-apple],[data-google],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]',
|
|
114
|
+
'[data-apple-pay],[data-google-pay],[data-paypal],[data-klarna],[data-billie],[data-clearpay],[data-existing-card]',
|
|
115
115
|
hiddenCard: 'checkout-payment-details__card-details_hidden',
|
|
116
116
|
cardDetails: '.checkout-payment-details__card-details',
|
|
117
117
|
},
|
|
@@ -3,30 +3,30 @@ var Wick = Wick || {};
|
|
|
3
3
|
Wick.PLPCardSwiper = {};
|
|
4
4
|
|
|
5
5
|
$(document).ready(function () {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const SELECTORS = {
|
|
7
|
+
kitchenCard: '.kitchen-card',
|
|
8
|
+
swiperContainer: '.swiper-container-main',
|
|
9
|
+
nextButton: '.kitchen-card__next-btn',
|
|
10
|
+
prevButton: '.kitchen-card__prev-btn',
|
|
11
|
+
};
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
$(SELECTORS.kitchenCard).each(function (index, container) {
|
|
14
|
+
const $container = $(container);
|
|
15
|
+
const id = $container.data('id');
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const sliderElement = $container.find(SELECTORS.swiperContainer)[0];
|
|
18
|
+
const nextButtonElement = $container.find(SELECTORS.nextButton)[0];
|
|
19
|
+
const prevButtonElement = $container.find(SELECTORS.prevButton)[0];
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
const swiper = new Swiper(sliderElement, {
|
|
22
|
+
speed: 400,
|
|
23
|
+
navigation: {
|
|
24
|
+
nextEl: nextButtonElement,
|
|
25
|
+
prevEl: prevButtonElement,
|
|
26
|
+
},
|
|
27
|
+
simulateTouch: false,
|
|
28
|
+
});
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
Wick.PLPCardSwiper[id] = swiper;
|
|
31
|
+
});
|
|
32
32
|
});
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{{#extend "my-account-v2"
|
|
2
|
+
customIconUserClass=header_menu.installer.[0].items.[0].icon
|
|
3
|
+
dataBreadcrumbs=my_account.installer.breadcrumbs
|
|
4
|
+
pageClass="page_my-account_new"
|
|
5
|
+
title="My Account Installer Carousel"
|
|
6
|
+
pageMyAcc=true
|
|
7
|
+
myAccV2=true
|
|
8
|
+
isLoggedIn=true
|
|
9
|
+
installer-nav=true
|
|
10
|
+
mainClass="my-account"
|
|
11
|
+
switch-vat=true
|
|
12
|
+
}}
|
|
13
|
+
{{#content "main"}}
|
|
14
|
+
<div class="container">
|
|
15
|
+
<div class="row">
|
|
16
|
+
<div class="col-12">
|
|
17
|
+
{{> my-account/mobile-nav my-account-menu-new
|
|
18
|
+
customIcon=true
|
|
19
|
+
menu=my_account.installer.menu
|
|
20
|
+
active-index=0
|
|
21
|
+
page-name=my_account.installer.menu.[0].title
|
|
22
|
+
}}
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="account-summary">
|
|
27
|
+
<div class="container">
|
|
28
|
+
<div class="row">
|
|
29
|
+
<div class="col-12">
|
|
30
|
+
<div class="account-summary__wrapper d-none d-sm-grid mb-3">
|
|
31
|
+
{{> my-account/greetings
|
|
32
|
+
name=my_account.user.name
|
|
33
|
+
subtitle=my_account.user.email
|
|
34
|
+
}}
|
|
35
|
+
</div>
|
|
36
|
+
{{#extend "my-account/cards-swap"}}
|
|
37
|
+
{{#content "card1"}}
|
|
38
|
+
<div class="account-summary__wrapper account-summary__wrapper--secondary">
|
|
39
|
+
{{> my-account/greetings
|
|
40
|
+
mod="d-sm-none"
|
|
41
|
+
secondary=true
|
|
42
|
+
name=my_account.user.name
|
|
43
|
+
subtitle=my_account.user.email
|
|
44
|
+
}}
|
|
45
|
+
{{> my-account/discount
|
|
46
|
+
secondary=true
|
|
47
|
+
discountText=my_account.installer.discountText
|
|
48
|
+
installer=true
|
|
49
|
+
title="In-store discount"
|
|
50
|
+
code=my_account.discount
|
|
51
|
+
customIcon=my_account.installer.icons.installer
|
|
52
|
+
}}
|
|
53
|
+
{{> my-account/clipboard-code-card
|
|
54
|
+
secondary=true
|
|
55
|
+
mod="trade-pro-id"
|
|
56
|
+
customIcon=my_account.installer.icons.installer
|
|
57
|
+
title="TradePro ID"
|
|
58
|
+
code=my_account.tradeProId
|
|
59
|
+
}}
|
|
60
|
+
{{> my-account/clipboard-code-card
|
|
61
|
+
secondary=true
|
|
62
|
+
mod="discount-code"
|
|
63
|
+
icon="fas fa-badge-percent"
|
|
64
|
+
title="Online discount code"
|
|
65
|
+
code=my_account.installer.discountCode
|
|
66
|
+
}}
|
|
67
|
+
</div>
|
|
68
|
+
{{/content}}
|
|
69
|
+
{{#content "card2"}}
|
|
70
|
+
<div class="account-summary__wrapper">
|
|
71
|
+
{{> my-account/greetings
|
|
72
|
+
mod="d-sm-none"
|
|
73
|
+
name=my_account.user.name
|
|
74
|
+
subtitle=my_account.user.email
|
|
75
|
+
}}
|
|
76
|
+
{{> my-account/discount
|
|
77
|
+
discountText=my_account.installer.discountText
|
|
78
|
+
installer=true
|
|
79
|
+
title="In-store discount"
|
|
80
|
+
code=my_account.discount
|
|
81
|
+
customIcon=my_account.installer.icons.installer
|
|
82
|
+
}}
|
|
83
|
+
{{> my-account/clipboard-code-card
|
|
84
|
+
mod="trade-pro-id"
|
|
85
|
+
customIcon=my_account.installer.icons.installer
|
|
86
|
+
title="TradePro ID"
|
|
87
|
+
code=my_account.tradeProId
|
|
88
|
+
}}
|
|
89
|
+
{{> my-account/clipboard-code-card
|
|
90
|
+
mod="discount-code"
|
|
91
|
+
icon="fas fa-badge-percent"
|
|
92
|
+
title="Online discount code"
|
|
93
|
+
code=my_account.installer.discountCode
|
|
94
|
+
}}
|
|
95
|
+
</div>
|
|
96
|
+
{{/content}}
|
|
97
|
+
{{/extend}}
|
|
98
|
+
{{> my-account/active-orders/list-orders
|
|
99
|
+
switch-vat=true
|
|
100
|
+
title=my_account.installer.activeOrders.sectionTitle
|
|
101
|
+
linkText='View all orders'
|
|
102
|
+
orders=my_account.installer.activeOrders.orderList
|
|
103
|
+
}}
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="container">
|
|
109
|
+
<div class="row">
|
|
110
|
+
<div class="col-12">
|
|
111
|
+
{{> my-account/menu-items
|
|
112
|
+
items=my_account.installer.menu
|
|
113
|
+
}}
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="account-actions">
|
|
118
|
+
<div class="container">
|
|
119
|
+
<div class="row">
|
|
120
|
+
<div class="col-12">
|
|
121
|
+
{{> my-account/user-account-actions mod="d-sm-none"}}
|
|
122
|
+
{{> my-account/contact-us contacts=my_account.contacts}}
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
{{/content}}
|
|
128
|
+
{{#content "foot" mode="append"}}
|
|
129
|
+
<script defer src="./js/my-account.min.js"></script>
|
|
130
|
+
{{/content}}
|
|
131
|
+
{{/extend}}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
<div class="checkout-header__promo">
|
|
14
14
|
{{#each shopping-cart-v2.potentialOrderPromotions}}
|
|
15
|
-
{{> potential-promotion}}
|
|
15
|
+
{{> potential-promotion switch-vat=true}}
|
|
16
16
|
{{/each}}
|
|
17
17
|
</div>
|
|
18
18
|
{{> checkout-header shopping-cart-v2.header}}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
{{#content "aside"}}
|
|
21
21
|
{{> order-summary
|
|
22
22
|
shopping-cart-v2.checkout
|
|
23
|
+
switch-vat=true
|
|
23
24
|
id=1
|
|
24
25
|
title="Order Summary"
|
|
25
26
|
basket=true
|
package/src/sitemap.html
CHANGED
|
@@ -527,6 +527,7 @@
|
|
|
527
527
|
<li><h5 class="mb-0">Account Pages Redesign</h5></li>
|
|
528
528
|
<li><span class="page-id">5.15</span><a href="page_my-account.html" target="_blank">My Account DIY</a></li>
|
|
529
529
|
<li><a href="page_my-account-installer.html" target="_blank">My Account Installer</a></li>
|
|
530
|
+
<li><a href="page_my-account-installer-carousel.html" target="_blank">My Account Installer Carousel</a></li>
|
|
530
531
|
<li><a href="page_my-account-trade-pro.html" target="_blank">My Account TradePro</a></li>
|
|
531
532
|
<li><a href="page_my-account-trade-pro-carousel.html" target="_blank">My Account TradePro Carousel</a></li>
|
|
532
533
|
<li><a href="page_my-account-trade-pro-carousel-double.html" target="_blank">My Account TradePro Carousel Double</a></li>
|