wickes-css2 2.112.0-why-not-add.4 → 2.112.0
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/Readme.md +0 -4
- package/build/js/bloomreach-widget.min.js +1 -1
- package/build/js/emulation.min.js +2446 -2397
- package/build/js/page/bloomreach-widget/bloomreach-widget-tracking.js +87 -0
- package/build/js/page/bloomreach-widget/bloomreach-widget.js +9 -0
- package/build/js/page/bloomreach-widget/complete-your-project-widget.js +65 -0
- package/build/js/page/bloomreach-widget/why-not-add-widget.js +36 -2
- package/build/js/page/checkout-payment-details.js +10 -0
- package/build/js/page/utils/data-layer.js +9 -0
- package/package.json +1 -5
- package/src/components/address-billie.hbs +22 -18
- package/src/components/checkout-edit-billing-address.hbs +1 -1
- package/src/components/checkout-payment-details-v2.hbs +6 -1
- package/src/components/share-list-modal-without-social-icons.hbs +1 -1
- package/src/components/share-list-modal.hbs +1 -1
- package/src/js/emulation/mock.js +2394 -2348
- package/src/js/emulation/tracking-emulation.js +38 -0
- package/src/js/page/bloomreach-widget/bloomreach-widget-tracking.js +87 -0
- package/src/js/page/bloomreach-widget/bloomreach-widget.js +9 -0
- package/src/js/page/bloomreach-widget/complete-your-project-widget.js +65 -0
- package/src/js/page/bloomreach-widget/why-not-add-widget.js +36 -2
- package/src/js/page/checkout-payment-details.js +10 -0
- package/src/js/page/utils/data-layer.js +9 -0
- package/src/page_payment-details-billie-registered-only.html +76 -0
- package/src/page_payment-details-billie-unregistered-only.html +76 -0
- package/src/sitemap.html +12 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const TRACKING_WIDGET_SELECTOR = '[data-complete-widget], [data-why-not-add-widget]';
|
|
2
|
+
const TRACKED_EVENT_NAMES = [
|
|
3
|
+
'brRecommendationWidgetView',
|
|
4
|
+
'brRecommendationWidgetClick',
|
|
5
|
+
'brRecommendationWidgetAddToCart',
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
function initializeTrackingEmulation() {
|
|
9
|
+
if (
|
|
10
|
+
!document.querySelector(TRACKING_WIDGET_SELECTOR) ||
|
|
11
|
+
window.__trackingEmulationInitialized
|
|
12
|
+
) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
window.__trackingEmulationInitialized = true;
|
|
17
|
+
window.dataLayer = window.dataLayer || [];
|
|
18
|
+
|
|
19
|
+
const originalPush = window.dataLayer.push;
|
|
20
|
+
|
|
21
|
+
window.dataLayer.push = function () {
|
|
22
|
+
const entries = Array.prototype.slice.call(arguments);
|
|
23
|
+
const result = originalPush.apply(window.dataLayer, entries);
|
|
24
|
+
|
|
25
|
+
entries.forEach(function (entry) {
|
|
26
|
+
if (!entry || TRACKED_EVENT_NAMES.indexOf(entry.event) === -1) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
console.log('[TRACKING EMULATION]', entry.event, entry);
|
|
31
|
+
console.log('[DATA LAYER]', window.dataLayer.slice());
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
$(document).ready(initializeTrackingEmulation);
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { pushDataLayerEvent } from '../utils/data-layer';
|
|
2
|
+
|
|
3
|
+
const EVENT_NAMES = {
|
|
4
|
+
view: 'brRecommendationWidgetView',
|
|
5
|
+
click: 'brRecommendationWidgetClick',
|
|
6
|
+
addToCart: 'brRecommendationWidgetAddToCart',
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
function disconnectViewObserver(state) {
|
|
10
|
+
if (!state.viewObserver) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
state.viewObserver.disconnect();
|
|
15
|
+
state.viewObserver = null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function observeView(state, elements) {
|
|
19
|
+
if (!window.IntersectionObserver) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
elements = Array.isArray(elements) ? elements : [elements];
|
|
24
|
+
|
|
25
|
+
state.viewObserver = new IntersectionObserver(function (entries) {
|
|
26
|
+
if (
|
|
27
|
+
entries.some(function (entry) {
|
|
28
|
+
return entry.isIntersecting;
|
|
29
|
+
})
|
|
30
|
+
) {
|
|
31
|
+
pushDataLayerEvent(EVENT_NAMES.view, state.widgetData);
|
|
32
|
+
disconnectViewObserver(state);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
elements.forEach(function (element) {
|
|
37
|
+
if (element) {
|
|
38
|
+
state.viewObserver.observe(element);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function trackClick(state, itemId) {
|
|
44
|
+
pushDataLayerEvent(EVENT_NAMES.click, {
|
|
45
|
+
...state.widgetData,
|
|
46
|
+
item_id: itemId,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function trackAddToCart(state, items) {
|
|
51
|
+
pushDataLayerEvent(EVENT_NAMES.addToCart, {
|
|
52
|
+
...state.widgetData,
|
|
53
|
+
items,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function createBloomreachWidgetTracking() {
|
|
58
|
+
const state = {
|
|
59
|
+
initWidgetPayload: null,
|
|
60
|
+
viewObserver: null,
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
setPayload(payloadData) {
|
|
65
|
+
disconnectViewObserver(state);
|
|
66
|
+
const metadata = payloadData.widgetMetadata;
|
|
67
|
+
|
|
68
|
+
state.widgetData = {
|
|
69
|
+
wrid: metadata.responseId,
|
|
70
|
+
wid: metadata.id,
|
|
71
|
+
wty: metadata.type,
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
observeView(element) {
|
|
76
|
+
observeView(state, element);
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
trackClick(itemId) {
|
|
80
|
+
trackClick(state, itemId);
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
trackAddToCart(items) {
|
|
84
|
+
trackAddToCart(state, items);
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var Wick = window.Wick || {};
|
|
2
2
|
|
|
3
|
+
import { isApp } from '../utils/helpers';
|
|
3
4
|
import { createEvent } from '../utils/create-event';
|
|
4
5
|
import CompleteYourProjectWidget from './complete-your-project-widget';
|
|
5
6
|
import WhyNotAddWidget from './why-not-add-widget';
|
|
@@ -80,6 +81,14 @@ Wick.BloomreachWidget = {
|
|
|
80
81
|
return '';
|
|
81
82
|
},
|
|
82
83
|
|
|
84
|
+
removeBlankTargets($root) {
|
|
85
|
+
if (!isApp()) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
$root.find('a[target="_blank"]').removeAttr('target');
|
|
90
|
+
},
|
|
91
|
+
|
|
83
92
|
getWasPrice(product) {
|
|
84
93
|
const displayPrice = Wick.BloomreachWidget.getDisplayPrice(product);
|
|
85
94
|
|
|
@@ -4,6 +4,7 @@ import { createCountStepper } from '../utils/create-count-stepper';
|
|
|
4
4
|
import { createDropdown } from '../utils/custom-dropdown';
|
|
5
5
|
import { createLoadingButton } from '../utils/create-loading-button';
|
|
6
6
|
import { createToast } from '../utils/create-toast';
|
|
7
|
+
import { createBloomreachWidgetTracking } from './bloomreach-widget-tracking';
|
|
7
8
|
|
|
8
9
|
const Handlebars = require('hbsfy/runtime');
|
|
9
10
|
|
|
@@ -34,6 +35,7 @@ const CompleteYourProjectWidget = {
|
|
|
34
35
|
lastCalculationResponse: null,
|
|
35
36
|
dropdownCurrent: {},
|
|
36
37
|
toast: null,
|
|
38
|
+
tracking: createBloomreachWidgetTracking(),
|
|
37
39
|
|
|
38
40
|
el: {
|
|
39
41
|
cardCheckbox: '.complete-card__select input[type="checkbox"]',
|
|
@@ -427,6 +429,55 @@ const CompleteYourProjectWidget = {
|
|
|
427
429
|
});
|
|
428
430
|
},
|
|
429
431
|
|
|
432
|
+
getSelectedTrackingItems($root) {
|
|
433
|
+
const { completeCard, cardCheckbox, recommendationIndexAttr } =
|
|
434
|
+
CompleteYourProjectWidget.el;
|
|
435
|
+
const items = [];
|
|
436
|
+
|
|
437
|
+
$root.find(completeCard).each(function () {
|
|
438
|
+
const $card = $(this);
|
|
439
|
+
const recommendationIndex = Number($card.attr(recommendationIndexAttr));
|
|
440
|
+
|
|
441
|
+
if (recommendationIndex === 0 || !$card.find(cardCheckbox).prop('checked')) {
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
|
|
446
|
+
const baseProduct = recommendation && recommendation.baseProduct;
|
|
447
|
+
const selectedProduct = CompleteYourProjectWidget.getCardProduct($card);
|
|
448
|
+
|
|
449
|
+
if (!baseProduct || !baseProduct.code || !selectedProduct || !selectedProduct.code) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
items.push({
|
|
454
|
+
item_id: baseProduct.code,
|
|
455
|
+
sku: selectedProduct.code,
|
|
456
|
+
});
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
return items;
|
|
460
|
+
},
|
|
461
|
+
|
|
462
|
+
bindProductTracking($root) {
|
|
463
|
+
const { completeCard, recommendationIndexAttr, titleEl } = CompleteYourProjectWidget.el;
|
|
464
|
+
|
|
465
|
+
$root.off('click.bloomreachWidgetTracking', titleEl);
|
|
466
|
+
$root.on('click.bloomreachWidgetTracking', titleEl, function () {
|
|
467
|
+
const $card = $(this).closest(completeCard);
|
|
468
|
+
const recommendationIndex = Number($card.attr(recommendationIndexAttr));
|
|
469
|
+
|
|
470
|
+
if (recommendationIndex === 0) {
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
const recommendation = CompleteYourProjectWidget.recommendations[recommendationIndex];
|
|
475
|
+
const baseProduct = recommendation && recommendation.baseProduct;
|
|
476
|
+
|
|
477
|
+
CompleteYourProjectWidget.tracking.trackClick(baseProduct && baseProduct.code);
|
|
478
|
+
});
|
|
479
|
+
},
|
|
480
|
+
|
|
430
481
|
updateSummary($root, response = {}) {
|
|
431
482
|
const totalPriceExclusiveVat = response.totalPriceExclusiveVat || response.totalExcVatPrice;
|
|
432
483
|
|
|
@@ -818,6 +869,12 @@ const CompleteYourProjectWidget = {
|
|
|
818
869
|
return;
|
|
819
870
|
}
|
|
820
871
|
|
|
872
|
+
const trackingItems = CompleteYourProjectWidget.getSelectedTrackingItems($root);
|
|
873
|
+
|
|
874
|
+
if (trackingItems.length) {
|
|
875
|
+
CompleteYourProjectWidget.tracking.trackAddToCart(trackingItems);
|
|
876
|
+
}
|
|
877
|
+
|
|
821
878
|
CompleteYourProjectWidget.dispatchAddToCart($root, $button);
|
|
822
879
|
});
|
|
823
880
|
},
|
|
@@ -991,6 +1048,7 @@ const CompleteYourProjectWidget = {
|
|
|
991
1048
|
CompleteYourProjectWidget.bindDropdowns();
|
|
992
1049
|
CompleteYourProjectWidget.bindDropdownValidation($completeWidget);
|
|
993
1050
|
CompleteYourProjectWidget.bindAddToCart($completeWidget);
|
|
1051
|
+
CompleteYourProjectWidget.bindProductTracking($completeWidget);
|
|
994
1052
|
CompleteYourProjectWidget.bindVatToggle();
|
|
995
1053
|
CompleteYourProjectWidget.initQuantityFields($completeWidget);
|
|
996
1054
|
|
|
@@ -1007,12 +1065,19 @@ const CompleteYourProjectWidget = {
|
|
|
1007
1065
|
init(payloadData) {
|
|
1008
1066
|
const $containers = $(CompleteYourProjectWidget.el.widgetContainer);
|
|
1009
1067
|
|
|
1068
|
+
CompleteYourProjectWidget.tracking.setPayload(payloadData);
|
|
1069
|
+
|
|
1010
1070
|
if (!payloadData || !Wick.BloomreachWidget.hasRecommendations(payloadData)) {
|
|
1011
1071
|
$containers.find(CompleteYourProjectWidget.el.completeWidget).hide();
|
|
1012
1072
|
return;
|
|
1013
1073
|
}
|
|
1014
1074
|
|
|
1015
1075
|
CompleteYourProjectWidget.renderWidgetFromPayload(payloadData);
|
|
1076
|
+
|
|
1077
|
+
CompleteYourProjectWidget.tracking.observeView([
|
|
1078
|
+
$containers.find(CompleteYourProjectWidget.el.titleEl).get(0),
|
|
1079
|
+
$containers.find(CompleteYourProjectWidget.el.ctaButton).get(0),
|
|
1080
|
+
]);
|
|
1016
1081
|
},
|
|
1017
1082
|
};
|
|
1018
1083
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var Wick = window.Wick || {};
|
|
2
2
|
|
|
3
3
|
import { createLoadingButton } from '../utils/create-loading-button';
|
|
4
|
+
import { createBloomreachWidgetTracking } from './bloomreach-widget-tracking';
|
|
4
5
|
|
|
5
6
|
const Handlebars = require('hbsfy/runtime');
|
|
6
7
|
|
|
@@ -32,11 +33,15 @@ const WhyNotAddWidget = {
|
|
|
32
33
|
products: [],
|
|
33
34
|
sliders: [],
|
|
34
35
|
loadingButton: null,
|
|
36
|
+
tracking: createBloomreachWidgetTracking(),
|
|
35
37
|
|
|
36
38
|
el: {
|
|
37
39
|
cta: '.why-not-add-card__cta',
|
|
38
40
|
next: '[data-why-not-add-next]',
|
|
39
41
|
pagination: '[data-why-not-add-pagination]',
|
|
42
|
+
productCard: '.why-not-add-card',
|
|
43
|
+
productCodeAttr: 'data-product-code',
|
|
44
|
+
productLink: '.why-not-add-card__title',
|
|
40
45
|
prev: '[data-why-not-add-prev]',
|
|
41
46
|
root: '[data-why-not-add]',
|
|
42
47
|
slider: '[data-why-not-add-slider]',
|
|
@@ -119,14 +124,26 @@ const WhyNotAddWidget = {
|
|
|
119
124
|
WhyNotAddWidget.sliders.push(slider);
|
|
120
125
|
});
|
|
121
126
|
},
|
|
127
|
+
|
|
128
|
+
bindProductTracking($root) {
|
|
129
|
+
$root.off('click.bloomreachWidgetTracking', WhyNotAddWidget.el.productLink);
|
|
130
|
+
$root.on('click.bloomreachWidgetTracking', WhyNotAddWidget.el.productLink, function () {
|
|
131
|
+
const productCode = $(this)
|
|
132
|
+
.closest(WhyNotAddWidget.el.productCard)
|
|
133
|
+
.attr(WhyNotAddWidget.el.productCodeAttr);
|
|
134
|
+
|
|
135
|
+
WhyNotAddWidget.tracking.trackClick(productCode);
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
|
|
122
139
|
bindAddToCart($root) {
|
|
123
140
|
$root.off('click.whyNotAdd', WhyNotAddWidget.el.cta);
|
|
124
141
|
$root.on('click.whyNotAdd', WhyNotAddWidget.el.cta, function (event) {
|
|
125
142
|
event.preventDefault();
|
|
126
143
|
|
|
127
144
|
const $button = $(this);
|
|
128
|
-
const $card = $button.closest(
|
|
129
|
-
const productCode = $card.attr(
|
|
145
|
+
const $card = $button.closest(WhyNotAddWidget.el.productCard);
|
|
146
|
+
const productCode = $card.attr(WhyNotAddWidget.el.productCodeAttr);
|
|
130
147
|
|
|
131
148
|
if (!productCode || WhyNotAddWidget.loadingButton.isLoading($button)) {
|
|
132
149
|
return;
|
|
@@ -136,6 +153,13 @@ const WhyNotAddWidget = {
|
|
|
136
153
|
productCode,
|
|
137
154
|
};
|
|
138
155
|
|
|
156
|
+
WhyNotAddWidget.tracking.trackAddToCart([
|
|
157
|
+
{
|
|
158
|
+
item_id: productCode,
|
|
159
|
+
sku: productCode,
|
|
160
|
+
},
|
|
161
|
+
]);
|
|
162
|
+
|
|
139
163
|
WhyNotAddWidget.loadingButton.start($button);
|
|
140
164
|
|
|
141
165
|
Wick.BloomreachWidget.dispatchWidgetEvent(WhyNotAddWidget.ADD_TO_CART_EVENT, payload)
|
|
@@ -169,9 +193,12 @@ const WhyNotAddWidget = {
|
|
|
169
193
|
});
|
|
170
194
|
}
|
|
171
195
|
|
|
196
|
+
Wick.BloomreachWidget.removeBlankTargets($root);
|
|
197
|
+
|
|
172
198
|
Wick.BloomreachWidget.drawRating($root);
|
|
173
199
|
WhyNotAddWidget.initSliders($root);
|
|
174
200
|
WhyNotAddWidget.bindAddToCart($root);
|
|
201
|
+
WhyNotAddWidget.bindProductTracking($root);
|
|
175
202
|
WhyNotAddWidget.bindVatToggle();
|
|
176
203
|
Wick.BloomreachWidget.reapplyVatDisplay();
|
|
177
204
|
},
|
|
@@ -179,6 +206,8 @@ const WhyNotAddWidget = {
|
|
|
179
206
|
init(payloadData) {
|
|
180
207
|
const $containers = $(WhyNotAddWidget.el.widgetContainer);
|
|
181
208
|
|
|
209
|
+
WhyNotAddWidget.tracking.setPayload(payloadData);
|
|
210
|
+
|
|
182
211
|
if (!payloadData) {
|
|
183
212
|
$containers.empty().hide();
|
|
184
213
|
return;
|
|
@@ -190,6 +219,11 @@ const WhyNotAddWidget = {
|
|
|
190
219
|
WhyNotAddWidget.renderWidget($container, payloadData);
|
|
191
220
|
WhyNotAddWidget.initRenderedWidget($container);
|
|
192
221
|
});
|
|
222
|
+
|
|
223
|
+
WhyNotAddWidget.tracking.observeView([
|
|
224
|
+
$containers.find(WhyNotAddWidget.el.productLink).get(0),
|
|
225
|
+
$containers.find(WhyNotAddWidget.el.cta).get(0),
|
|
226
|
+
]);
|
|
193
227
|
},
|
|
194
228
|
};
|
|
195
229
|
|
|
@@ -244,6 +244,7 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
244
244
|
setBillieStepVisibility(getBillieRepaymentTermsLength() === 1);
|
|
245
245
|
resetBillieRepaymentSelection();
|
|
246
246
|
showBillieBusiness();
|
|
247
|
+
initBillieBusinessType();
|
|
247
248
|
break;
|
|
248
249
|
|
|
249
250
|
case 'clearpay':
|
|
@@ -324,6 +325,14 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
324
325
|
});
|
|
325
326
|
}
|
|
326
327
|
|
|
328
|
+
function initBillieBusinessType() {
|
|
329
|
+
const $radios = elements.$billieBusiness.find(`input${elements.businessTypeName}`);
|
|
330
|
+
if ($radios.length === 1) {
|
|
331
|
+
$radios.prop('checked', true);
|
|
332
|
+
toggleBusinessTypeFields($radios.val());
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
327
336
|
function forceReflow($element) {
|
|
328
337
|
if (!$element.length) return;
|
|
329
338
|
void $element[0].offsetHeight;
|
|
@@ -345,6 +354,7 @@ Wick.CheckoutPaymentDetails = (function () {
|
|
|
345
354
|
|
|
346
355
|
const hasSelection = $('input[name="repaymentTerms"]:checked').length > 0;
|
|
347
356
|
setBillieStepVisibility(hasSelection);
|
|
357
|
+
initBillieBusinessType();
|
|
348
358
|
|
|
349
359
|
const $row = $(this).closest('.form-row[data-row-required]');
|
|
350
360
|
$row.removeClass('form-row_validation-error').find('.form-row__error').remove();
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new" title="Checkout - Payment details with Billie" isAsideSticky="true" clearPayIcon=true billieIcon=true}}
|
|
2
|
+
|
|
3
|
+
{{#content "head" mode="append"}}
|
|
4
|
+
<link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
|
|
5
|
+
<link type="text/css" rel="stylesheet" href="./css/pages/page_checkout_delivery-new.css">
|
|
6
|
+
<link type="text/css" rel="stylesheet" href="./css/components/payment-details-BPS-form.css">
|
|
7
|
+
<link type="text/css" rel="stylesheet" href="./css/components/checkout-payment-details-v2.css">
|
|
8
|
+
|
|
9
|
+
<script src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js"></script>
|
|
10
|
+
{{/content}}
|
|
11
|
+
{{#content "notification"}}
|
|
12
|
+
{{> notifications notification-page.error text="Sorry, there are errors on this page. Please review the information you've entered and update sections marked in red."}}
|
|
13
|
+
{{/content}}
|
|
14
|
+
{{#content "steps"}}
|
|
15
|
+
{{> steps-three-steps active-step-index="2"}}
|
|
16
|
+
{{/content}}
|
|
17
|
+
|
|
18
|
+
{{#content "aside"}}
|
|
19
|
+
{{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true clearPayIcon=clearPayIcon billieIcon=true paymentsCheckoutV2=true hideDeliveryCostMessage=true}}
|
|
20
|
+
{{/content}}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
{{#content "main"}}
|
|
24
|
+
<div class="delivery-block">
|
|
25
|
+
<h3 class="delivery-block__heading">Delivery Information</h3>
|
|
26
|
+
<div class="delivery-block__wrapper">
|
|
27
|
+
{{#with checkoutOrder.deliveryPayments.[0]}}
|
|
28
|
+
<div class="checkout-order">
|
|
29
|
+
{{> checkout-order-block}}
|
|
30
|
+
</div>
|
|
31
|
+
{{/with}}
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div class="click-collect-block">
|
|
36
|
+
<h3 class="click-collect-block__heading">Click & Collect</h3>
|
|
37
|
+
<div class="click-collect-block__wrapper">
|
|
38
|
+
{{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
|
|
39
|
+
<div class="checkout-order">
|
|
40
|
+
{{> checkout-order-block}}
|
|
41
|
+
</div>
|
|
42
|
+
{{/with}}
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="billing-payment-block">
|
|
47
|
+
<h3 class="billing-payment-block__heading">Billing & Payment</h3>
|
|
48
|
+
<div class="billing-payment-block__wrapper">
|
|
49
|
+
{{> checkout-payment-details-v2
|
|
50
|
+
apple-pay=true
|
|
51
|
+
google-pay=true
|
|
52
|
+
clear-pay=true
|
|
53
|
+
billie=true
|
|
54
|
+
edit-bill-mod=true
|
|
55
|
+
billie-form=true
|
|
56
|
+
open-delivery-block=true
|
|
57
|
+
billie-business-type="REGISTERED_SOLE_TRADER_BUSINESS"
|
|
58
|
+
}}
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
{{/content}}
|
|
63
|
+
|
|
64
|
+
{{#content "foot" mode="append"}}
|
|
65
|
+
<script
|
|
66
|
+
async
|
|
67
|
+
src="https://pay.google.com/gp/p/js/pay.js">
|
|
68
|
+
</script>
|
|
69
|
+
<script defer src="./js/page/checkout-confirmation-new.js"></script>
|
|
70
|
+
<script defer src="./js/page/checkout-payment-details.js"></script>
|
|
71
|
+
<script defer src="./js/page/klarna-modal-scroll-disable.js"></script>
|
|
72
|
+
<script defer src="./js/page/billie-business-type.js"></script>
|
|
73
|
+
{{> checkout-terms-and-conditions-modal }}
|
|
74
|
+
{{> payment-loader hidden=true spinnerTypes=(array "billie-logo" "clearpay-logo" "paypal-logo")}}
|
|
75
|
+
{{/content}}
|
|
76
|
+
{{/extend}}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new" title="Checkout - Payment details with Billie" isAsideSticky="true" clearPayIcon=true billieIcon=true}}
|
|
2
|
+
|
|
3
|
+
{{#content "head" mode="append"}}
|
|
4
|
+
<link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
|
|
5
|
+
<link type="text/css" rel="stylesheet" href="./css/pages/page_checkout_delivery-new.css">
|
|
6
|
+
<link type="text/css" rel="stylesheet" href="./css/components/payment-details-BPS-form.css">
|
|
7
|
+
<link type="text/css" rel="stylesheet" href="./css/components/checkout-payment-details-v2.css">
|
|
8
|
+
|
|
9
|
+
<script src="https://applepay.cdn-apple.com/jsapi/v1/apple-pay-sdk.js"></script>
|
|
10
|
+
{{/content}}
|
|
11
|
+
{{#content "notification"}}
|
|
12
|
+
{{> notifications notification-page.error text="Sorry, there are errors on this page. Please review the information you've entered and update sections marked in red."}}
|
|
13
|
+
{{/content}}
|
|
14
|
+
{{#content "steps"}}
|
|
15
|
+
{{> steps-three-steps active-step-index="2"}}
|
|
16
|
+
{{/content}}
|
|
17
|
+
|
|
18
|
+
{{#content "aside"}}
|
|
19
|
+
{{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true clearPayIcon=clearPayIcon billieIcon=true paymentsCheckoutV2=true hideDeliveryCostMessage=true}}
|
|
20
|
+
{{/content}}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
{{#content "main"}}
|
|
24
|
+
<div class="delivery-block">
|
|
25
|
+
<h3 class="delivery-block__heading">Delivery Information</h3>
|
|
26
|
+
<div class="delivery-block__wrapper">
|
|
27
|
+
{{#with checkoutOrder.deliveryPayments.[0]}}
|
|
28
|
+
<div class="checkout-order">
|
|
29
|
+
{{> checkout-order-block}}
|
|
30
|
+
</div>
|
|
31
|
+
{{/with}}
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div class="click-collect-block">
|
|
36
|
+
<h3 class="click-collect-block__heading">Click & Collect</h3>
|
|
37
|
+
<div class="click-collect-block__wrapper">
|
|
38
|
+
{{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
|
|
39
|
+
<div class="checkout-order">
|
|
40
|
+
{{> checkout-order-block}}
|
|
41
|
+
</div>
|
|
42
|
+
{{/with}}
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="billing-payment-block">
|
|
47
|
+
<h3 class="billing-payment-block__heading">Billing & Payment</h3>
|
|
48
|
+
<div class="billing-payment-block__wrapper">
|
|
49
|
+
{{> checkout-payment-details-v2
|
|
50
|
+
apple-pay=true
|
|
51
|
+
google-pay=true
|
|
52
|
+
clear-pay=true
|
|
53
|
+
billie=true
|
|
54
|
+
edit-bill-mod=true
|
|
55
|
+
billie-form=true
|
|
56
|
+
open-delivery-block=true
|
|
57
|
+
billie-business-type="UNREGISTERED_SOLE_TRADER_BUSINESS"
|
|
58
|
+
}}
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
{{/content}}
|
|
63
|
+
|
|
64
|
+
{{#content "foot" mode="append"}}
|
|
65
|
+
<script
|
|
66
|
+
async
|
|
67
|
+
src="https://pay.google.com/gp/p/js/pay.js">
|
|
68
|
+
</script>
|
|
69
|
+
<script defer src="./js/page/checkout-confirmation-new.js"></script>
|
|
70
|
+
<script defer src="./js/page/checkout-payment-details.js"></script>
|
|
71
|
+
<script defer src="./js/page/klarna-modal-scroll-disable.js"></script>
|
|
72
|
+
<script defer src="./js/page/billie-business-type.js"></script>
|
|
73
|
+
{{> checkout-terms-and-conditions-modal }}
|
|
74
|
+
{{> payment-loader hidden=true spinnerTypes=(array "billie-logo" "clearpay-logo" "paypal-logo")}}
|
|
75
|
+
{{/content}}
|
|
76
|
+
{{/extend}}
|
package/src/sitemap.html
CHANGED
|
@@ -992,6 +992,18 @@
|
|
|
992
992
|
Billie Basket
|
|
993
993
|
</a>
|
|
994
994
|
</li>
|
|
995
|
+
<li>
|
|
996
|
+
<span class="page-id">5</span>
|
|
997
|
+
<a href="page_payment-details-billie-unregistered-only.html" target="_blank">
|
|
998
|
+
Billie - Payment details with unregistered business type only
|
|
999
|
+
</a>
|
|
1000
|
+
</li>
|
|
1001
|
+
<li>
|
|
1002
|
+
<span class="page-id">6</span>
|
|
1003
|
+
<a href="page_payment-details-billie-registered-only.html" target="_blank">
|
|
1004
|
+
Billie - Payment details with registered business type only
|
|
1005
|
+
</a>
|
|
1006
|
+
</li>
|
|
995
1007
|
</ul>
|
|
996
1008
|
<h3>
|
|
997
1009
|
Pages with Gift Cards
|