wickes-css2 2.103.0-gift-cards.15 → 2.103.0-gift-cards.17

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.
Files changed (60) hide show
  1. package/Readme.md +0 -1
  2. package/build/css/components/card-product-banner.css +1 -1
  3. package/build/css/main.css +1 -1
  4. package/build/css/pages/page_product-details-v2.css +1 -1
  5. package/build/css/pages/page_products-list-combined.css +1 -1
  6. package/build/css/pages/page_products-list.css +1 -1
  7. package/build/css/pdp-main-before-combine.css +1 -1
  8. package/build/css/pdp-main-non-critical.css +1 -1
  9. package/build/css/pdp-main.css +1 -1
  10. package/build/css/plp-main.css +1 -1
  11. package/build/img/klarna.svg +10 -0
  12. package/build/img/payment/checkout/klarna.svg +10 -0
  13. package/build/img/payment/footer/klarna.svg +10 -0
  14. package/build/js/basket.min.js +1 -1
  15. package/build/js/bundle.min.js +1 -1
  16. package/build/js/checkout.min.js +1 -1
  17. package/build/js/emulation.min.js +54 -0
  18. package/build/js/gift-cards.min.js +1 -1
  19. package/build/js/merged-checkout.min.js +1 -1
  20. package/build/js/page/plp-cards-v2.js +15 -6
  21. package/build/js/page/plp-load-more.js +1 -1
  22. package/build/js/page/utils/gift-cards-utils.js +1 -1
  23. package/build/js/plp.bundle.min.js +1 -1
  24. package/build/js/project-list.min.js +1 -1
  25. package/package.json +1 -1
  26. package/src/components/card_product_v2.hbs +10 -5
  27. package/src/components/card_sponsor_banner.hbs +8 -0
  28. package/src/components/card_sponsor_product.hbs +6 -0
  29. package/src/components/checkout-payment-details-v2.hbs +7 -9
  30. package/src/components/checkout_payment-new.hbs +1 -4
  31. package/src/components/checkout_payment-other-methods.hbs +1 -4
  32. package/src/components/injected-content.hbs +1 -1
  33. package/src/components/payments-checkout-v2.hbs +2 -7
  34. package/src/components/payments-checkout.hbs +1 -6
  35. package/src/components/payments.hbs +1 -5
  36. package/src/components/table_order-details-klarna.hbs +1 -1
  37. package/src/components/table_payment.hbs +1 -4
  38. package/src/data/data_search-results_v2.json +56 -141
  39. package/src/data/data_wismo.json +1 -1
  40. package/src/img/klarna.svg +10 -0
  41. package/src/img/payment/checkout/klarna.svg +10 -0
  42. package/src/img/payment/footer/klarna.svg +10 -0
  43. package/src/js/components/banner-placement-manager.js +267 -0
  44. package/src/js/emulation/banner-placement-manager.js +53 -0
  45. package/src/js/page/plp-cards-v2.js +15 -6
  46. package/src/js/page/plp-load-more.js +1 -1
  47. package/src/js/page/utils/gift-cards-utils.js +1 -1
  48. package/src/page_checkout_payment-details_guest-with-checkout-journey.html +1 -1
  49. package/src/page_my-order.html +1 -1
  50. package/src/page_payment-details-with-clearpay.html +2 -2
  51. package/src/page_plp_v2.html +16 -6
  52. package/src/page_search-results.html +12 -2
  53. package/src/page_shopping-cart-v2.html +2 -2
  54. package/src/scss/components/card-product-banner.scss +91 -3
  55. package/src/scss/pages/page_product-details-v2.scss +4 -0
  56. package/src/scss/pages/page_products-list-combined.scss +11 -0
  57. package/src/scss/pages/page_products-list.scss +8 -0
  58. package/src/sitemap.html +0 -6
  59. package/src/js/components/product-banner.js +0 -148
  60. package/src/page_split-orders-klarna.html +0 -106
@@ -0,0 +1,267 @@
1
+ var Wick = Wick || {};
2
+ Wick.BannerPlacementManager = {
3
+ SPONSOR_BANNERS_DISPLAYED_EVENT: 'sponsorAdsDisplayedEvent',
4
+ el: {
5
+ banners: '.card-product-banner',
6
+ sponsorBanners: '.card-sponsor-banner',
7
+ sponsorProducts: '.card-sponsor-product',
8
+ allBanners: '.card-product-banner, .card-sponsor-banner, .card-sponsor-product',
9
+ productCard: '.product-card',
10
+ allListSlots: '.product-card, .card-product-banner, .card-sponsor-banner, .card-sponsor-product',
11
+ productsWrap: '.products-list-v2',
12
+ $products: $('.product-card'),
13
+ attrPositionDesktop: 'data-desktop-position',
14
+ attrPositionMobile: 'data-mobile-position',
15
+ attrRequiredAmountDesktop: 'data-required-amount-desktop',
16
+ attrRequiredAmountMobile: 'data-required-amount-mobile',
17
+ hide: 'd-none',
18
+ sponsoredAdvBanners: '.sponsored-ad'
19
+ },
20
+ classes: {
21
+ sponsorBanners: 'card-sponsor-banner',
22
+ sponsorProducts: 'card-sponsor-product',
23
+ productBanners: 'card-product-banner',
24
+ bannerInactiveClass: 'card-product-banner--inactive'
25
+ },
26
+ isEventSent: false,
27
+ currentBreakpoint: null,
28
+ checkProductsInColumn() {
29
+ Wick.BannerPlacementManager.addInactiveClasses();
30
+ Wick.BannerPlacementManager.arrangeBannersInRightOrder();
31
+ const $allBanners = $(Wick.BannerPlacementManager.el.allBanners);
32
+ const totalProducts = Wick.BannerPlacementManager.getListLength();
33
+ const totalSlots = totalProducts + $allBanners.length;
34
+ $allBanners.each((index, banner) => {
35
+ const bannerPosition = Wick.BannerPlacementManager.getBannerPosition(banner);
36
+
37
+ if ($(banner).hasClass('card-product-banner')) {
38
+ if (bannerPosition > totalSlots) {
39
+ Wick.BannerPlacementManager.hideBanner(banner);
40
+ $(Wick.BannerPlacementManager.el.productsWrap).append(banner);
41
+ return;
42
+ }
43
+ }
44
+
45
+ if ($(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorBanners) || $(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorProducts)) {
46
+ if (bannerPosition > totalProducts) {
47
+ Wick.BannerPlacementManager.showBanner(banner);
48
+ Wick.BannerPlacementManager.removeInactiveClass(banner);
49
+ $(Wick.BannerPlacementManager.el.productsWrap).append(banner);
50
+ return;
51
+ }
52
+ }
53
+
54
+ Wick.BannerPlacementManager.hideBannerDueLimit(banner, index);
55
+ Wick.BannerPlacementManager.moveBannerToSpecifiedPosition(banner);
56
+ });
57
+ },
58
+ moveBannerToSpecifiedPosition(banner) {
59
+ const $listSlots = Wick.BannerPlacementManager.getListSlots();
60
+ const bannerPosition = Wick.BannerPlacementManager.getBannerPosition(banner) - 2;
61
+ const listSlotsLength = $listSlots.length;
62
+
63
+ if (Wick.BannerPlacementManager.isBannerVisible(banner)) {
64
+ if (bannerPosition <= listSlotsLength) {
65
+ if ($listSlots[bannerPosition]) {
66
+ Wick.BannerPlacementManager.showBanner(banner);
67
+ Wick.BannerPlacementManager.removeInactiveClass(banner);
68
+ Wick.BannerPlacementManager.moveBanner(banner, $listSlots[bannerPosition]);
69
+ } else {
70
+ Wick.BannerPlacementManager.hideBanner(banner);
71
+ Wick.BannerPlacementManager.coverEdgeCases(banner);
72
+ }
73
+ } else {
74
+ if ($(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorBanners) || $(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorProducts)) {
75
+ Wick.BannerPlacementManager.showBanner(banner);
76
+ Wick.BannerPlacementManager.removeInactiveClass(banner);
77
+ $(Wick.BannerPlacementManager.el.productsWrap).append(banner);
78
+ } else {
79
+ Wick.BannerPlacementManager.hideBanner(banner);
80
+ }
81
+ }
82
+ }
83
+ },
84
+ moveBanner(banner, targetElement) {
85
+ $(banner).remove();
86
+ $(targetElement).after(banner);
87
+ },
88
+ hideBanner(banner) {
89
+ $(banner).addClass(Wick.BannerPlacementManager.el.hide);
90
+ },
91
+ showBanner(banner) {
92
+ $(banner).removeClass(Wick.BannerPlacementManager.el.hide);
93
+ },
94
+ isBannerVisible(banner) {
95
+ return !$(banner).hasClass(Wick.BannerPlacementManager.el.hide);
96
+ },
97
+ hideBannerDueLimit(banner) {
98
+ const bannerMinLimit = Wick.BannerPlacementManager.getBannerLimit(banner) - 1;
99
+ const $listSlots = Wick.BannerPlacementManager.getListSlots();
100
+ const listProductsLength = $listSlots.length;
101
+ Wick.BannerPlacementManager.showBanner(banner);
102
+
103
+ if (bannerMinLimit > listProductsLength) {
104
+ Wick.BannerPlacementManager.hideBanner(banner);
105
+ }
106
+ },
107
+ getBannerPosition(banner) {
108
+ const isMobile = Wick.BannerPlacementManager.isMobileResolution();
109
+ const positionAttribute = isMobile
110
+ ? Wick.BannerPlacementManager.el.attrPositionMobile
111
+ : Wick.BannerPlacementManager.el.attrPositionDesktop
112
+
113
+ return banner.hasAttribute(positionAttribute)
114
+ ? Number(banner.getAttribute(positionAttribute))
115
+ : Number(Wick.BannerPlacementManager.getListLength() + Wick.BannerPlacementManager.getBannersAmount());
116
+ },
117
+ getBannerLimit(banner) {
118
+ const isMobile = Wick.BannerPlacementManager.isMobileResolution();
119
+
120
+ const limitAttribute = isMobile
121
+ ? Wick.BannerPlacementManager.el.attrRequiredAmountMobile
122
+ : Wick.BannerPlacementManager.el.attrRequiredAmountDesktop;
123
+
124
+ return banner.hasAttribute(limitAttribute)
125
+ ? Number(banner.getAttribute(limitAttribute))
126
+ : 0;
127
+ },
128
+ isMobileResolution() {
129
+ return Wick.Responsive.getCurrentBreakpoint() !== 'up-lg';
130
+ },
131
+ getListLength() {
132
+ const $listItems = $(Wick.BannerPlacementManager.el.productsWrap).children(Wick.BannerPlacementManager.el.productCard);
133
+ return $listItems.length;
134
+ },
135
+ getBannersAmount() {
136
+ return $(Wick.BannerPlacementManager.el.allBanners).length;
137
+ },
138
+ getProductsAmount() {
139
+ return Wick.BannerPlacementManager.el.$products.length;
140
+ },
141
+ arrangeBannersInRightOrder() {
142
+ const $allBanners = $(Wick.BannerPlacementManager.el.allBanners);
143
+
144
+ const sponsorProducts = $allBanners.filter((i, el) =>
145
+ $(el).hasClass(Wick.BannerPlacementManager.classes.sponsorProducts)
146
+ );
147
+ const sponsorBanners = $allBanners.filter((i, el) =>
148
+ $(el).hasClass(Wick.BannerPlacementManager.classes.sponsorBanners)
149
+ );
150
+
151
+ const firstSponsorProductPos = sponsorProducts.length > 0
152
+ ? Math.min(...sponsorProducts.map((i, el) => Wick.BannerPlacementManager.getBannerPosition(el)).get())
153
+ : Infinity;
154
+ const firstSponsorBannerPos = sponsorBanners.length > 0
155
+ ? Math.min(...sponsorBanners.map((i, el) => Wick.BannerPlacementManager.getBannerPosition(el)).get())
156
+ : Infinity;
157
+
158
+ let groupOrder;
159
+ if (firstSponsorProductPos < firstSponsorBannerPos) {
160
+ groupOrder = [
161
+ Wick.BannerPlacementManager.classes.sponsorProducts,
162
+ Wick.BannerPlacementManager.classes.sponsorBanners,
163
+ Wick.BannerPlacementManager.classes.productBanners
164
+ ];
165
+ } else {
166
+ groupOrder = [
167
+ Wick.BannerPlacementManager.classes.sponsorBanners,
168
+ Wick.BannerPlacementManager.classes.sponsorProducts,
169
+ Wick.BannerPlacementManager.classes.productBanners
170
+ ];
171
+ }
172
+
173
+ $allBanners.sort((a, b) => {
174
+ function getGroupIndex(el) {
175
+ if ($(el).hasClass(groupOrder[0])) return 0;
176
+ if ($(el).hasClass(groupOrder[1])) return 1;
177
+ if ($(el).hasClass(groupOrder[2])) return 2;
178
+ return 3;
179
+ }
180
+
181
+ const groupA = getGroupIndex(a);
182
+ const groupB = getGroupIndex(b);
183
+
184
+ if (groupA !== groupB) {
185
+ return groupA - groupB;
186
+ }
187
+
188
+ const positionA = Wick.BannerPlacementManager.getBannerPosition(a);
189
+ const positionB = Wick.BannerPlacementManager.getBannerPosition(b);
190
+
191
+ return positionA - positionB;
192
+ }).appendTo(Wick.BannerPlacementManager.el.productsWrap);
193
+ },
194
+ addInactiveClasses() {
195
+ $(Wick.BannerPlacementManager.el.allBanners).addClass(Wick.BannerPlacementManager.el.hide);
196
+ },
197
+ removeInactiveClass(banner) {
198
+ $(banner).removeClass(Wick.BannerPlacementManager.classes.bannerInactiveClass)
199
+ },
200
+ insertFirstBanner(banner) {
201
+ const bannerPosition = Wick.BannerPlacementManager.getBannerPosition(banner);
202
+
203
+ if (bannerPosition === 1) {
204
+ Wick.BannerPlacementManager.showBanner(banner);
205
+ Wick.BannerPlacementManager.removeInactiveClass(banner);
206
+ $(banner).remove();
207
+ $(Wick.BannerPlacementManager.el.productsWrap).prepend(banner);
208
+ }
209
+ },
210
+ coverEdgeCases(banner) {
211
+ Wick.BannerPlacementManager.insertFirstBanner(banner);
212
+ },
213
+ getListSlots() {
214
+ return $(Wick.BannerPlacementManager.el.productsWrap)
215
+ .children(Wick.BannerPlacementManager.el.allListSlots)
216
+ .filter(function() {
217
+ if ($(this).hasClass(Wick.BannerPlacementManager.classes.productBanners)) {
218
+ const position = Wick.BannerPlacementManager.getBannerPosition(this);
219
+ const productsCount = Wick.BannerPlacementManager.getListLength();
220
+ return position <= productsCount;
221
+ }
222
+
223
+ return true;
224
+ });
225
+ },
226
+ getBannerPriority(banner) {
227
+ if ($(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorProducts)) {
228
+ return 1;
229
+ }
230
+ if ($(banner).hasClass(Wick.BannerPlacementManager.classes.sponsorBanners)) {
231
+ return 2;
232
+ }
233
+ return 3;
234
+ },
235
+ dispatchSponsorAdsDisplayedEvent() {
236
+ return new Promise((resolve, reject) => {
237
+ const eventDetail = { resolve, reject };
238
+ const sponsorAdsEvent = createEvent(Wick.BannerPlacementManager.SPONSOR_BANNERS_DISPLAYED_EVENT, { displayed: true }, eventDetail);
239
+ window.dispatchEvent(sponsorAdsEvent);
240
+ });
241
+ },
242
+ init() {
243
+ Wick.Responsive.onResize(function () {
244
+ if(Wick.BannerPlacementManager.currentBreakpoint !== Wick.Responsive.getCurrentBreakpoint()) {
245
+ Wick.BannerPlacementManager.currentBreakpoint = Wick.Responsive.getCurrentBreakpoint()
246
+ Wick.BannerPlacementManager.checkProductsInColumn();
247
+
248
+ if (
249
+ !Wick.BannerPlacementManager.isEventSent && $(Wick.BannerPlacementManager.el.sponsoredAdvBanners).length
250
+ ) {
251
+ Wick.BannerPlacementManager.dispatchSponsorAdsDisplayedEvent();
252
+ Wick.BannerPlacementManager.isEventSent = true;
253
+ }
254
+
255
+ $(window).trigger('productBannerPositionChanged');
256
+ }
257
+ });
258
+ }
259
+ };
260
+
261
+ $(document).ready(function () {
262
+ if (!Wick.BannerPlacementManager.getBannersAmount() || !Wick.BannerPlacementManager.getProductsAmount()) {
263
+ return;
264
+ }
265
+
266
+ Wick.BannerPlacementManager.init();
267
+ })
@@ -0,0 +1,53 @@
1
+ // Simulate prompt for input
2
+ function getInputs() {
3
+ const productBannerPositions = prompt("Enter Product Banner Positions:", "2") || "";
4
+ const sponsorProductPositions = prompt("Enter Sponsor Product Positions (comma-separated):", "6,7,8") || "";
5
+ const sponsorBannerPositions = prompt("Enter Sponsor Banner Positions:", "10") || "";
6
+
7
+ return {
8
+ productBannerPositions: productBannerPositions ? productBannerPositions.split(",").map(Number) : [],
9
+ sponsorProductPositions: sponsorProductPositions ? sponsorProductPositions.split(",").map(Number) : [],
10
+ sponsorBannerPositions: sponsorBannerPositions ? sponsorBannerPositions.split(",").map(Number) : [],
11
+ };
12
+ }
13
+
14
+ function getPositionAttr() {
15
+ const isMobile = Wick.BannerPlacementManager.isMobileResolution();
16
+ return isMobile
17
+ ? 'data-mobile-position'
18
+ : 'data-desktop-position';
19
+ }
20
+
21
+ function updatePositions(inputs) {
22
+ const productBannerElements = document.querySelectorAll(".card-product-banner");
23
+ productBannerElements.forEach((el, index) => {
24
+ if (inputs.productBannerPositions[index] !== undefined) {
25
+ el.setAttribute(getPositionAttr(), inputs.productBannerPositions[index]);
26
+ }
27
+ });
28
+
29
+ const sponsorProductElements = document.querySelectorAll(".card-sponsor-product");
30
+ sponsorProductElements.forEach((el, index) => {
31
+ if (inputs.sponsorProductPositions[index] !== undefined) {
32
+ el.setAttribute(getPositionAttr(), inputs.sponsorProductPositions[index]);
33
+ }
34
+ });
35
+
36
+ const sponsorBannerElements = document.querySelectorAll(".card-sponsor-banner");
37
+ sponsorBannerElements.forEach((el, index) => {
38
+ if (inputs.sponsorBannerPositions[index] !== undefined) {
39
+ el.setAttribute(getPositionAttr(), inputs.sponsorBannerPositions[index]);
40
+ }
41
+ });
42
+ }
43
+
44
+ function init() {
45
+ const inputs = getInputs();
46
+ updatePositions(inputs);
47
+ }
48
+
49
+ $(document).ready(function () {
50
+ if ($('.retail-media .products-list.products-list-v2').length) {
51
+ setTimeout(() => init(), 100)
52
+ }
53
+ });
@@ -6,7 +6,9 @@ $(document).ready(function () {
6
6
  }
7
7
 
8
8
  function cardsContent(itemsInRow) {
9
- let card = $('.content .product-card, .content .card-product-banner');
9
+ let card = $('.content .product-card, .content .card-product-banner, .content .card-sponsor-banner, .content .card-sponsor-product').filter(function() {
10
+ return $(this).parents('.product-card, .card-product-banner, .card-sponsor-banner, .card-sponsor-product').length === 0;
11
+ });
10
12
  let priceSelectors = [
11
13
  '.including-vat .product-card__price__old-price',
12
14
  '.excluding-vat .product-card__price__old-price',
@@ -17,6 +19,7 @@ $(document).ready(function () {
17
19
  revealAll(card, ['.product-card__price__old-price',
18
20
  '.product-card__price-sqm',
19
21
  '.product-card__price-value',
22
+ '.product-card__sponsored',
20
23
  '.energy-efficiency',
21
24
  '.energy-efficiency__link']);
22
25
 
@@ -33,6 +36,8 @@ $(document).ready(function () {
33
36
  hideEmptiness(currentRow, '.product-card__price-sqm');
34
37
  }
35
38
  hideEmptiness(currentRow, '.product-card__price-value');
39
+ hideEmptiness(currentRow, '.product-card__sponsored');
40
+ hideEmptiness(currentRow, '.product-card__price__old-price');
36
41
  hideEmptiness(currentRow, '.energy-efficiency');
37
42
  hideEmptiness(currentRow, '.energy-efficiency__link');
38
43
 
@@ -43,11 +48,15 @@ $(document).ready(function () {
43
48
  function hideEmptiness(query, className) {
44
49
  let currentQuery = query.find(className);
45
50
  let rowContent = currentQuery.text();
46
-
47
- if (className === '.energy-efficiency') {
48
- let isEnergyQueryEmpty = isClassPresentInQuery(currentQuery, "energy-efficiency--empty");
49
-
50
- if (isEnergyQueryEmpty) {
51
+ const classEmptyCheckMap = {
52
+ '.energy-efficiency': 'energy-efficiency--empty',
53
+ '.product-card__sponsored': 'product-card__sponsored--empty',
54
+ '.product-card__price__old-price': 'product-card__price_empty'
55
+ };
56
+
57
+ if (classEmptyCheckMap[className]) {
58
+ let isClassEmpty = isClassPresentInQuery(currentQuery, classEmptyCheckMap[className]);
59
+ if (isClassEmpty) {
51
60
  currentQuery.hide();
52
61
  }
53
62
  return;
@@ -43,7 +43,7 @@ Wick.PLPLoadMore = {
43
43
  .finally(() => {
44
44
  hideLoader(Wick.PLPLoadMore.el.loader);
45
45
  Wick.PLPLoadMore.el.$loadMoreBtn.blur();
46
- Wick.ProductBanner.checkProductsInColumn();
46
+ Wick.BannerPlacementManager.checkProductsInColumn();
47
47
  $(window).trigger('productBannerPositionChanged');
48
48
  Wick.EnergyEfficiency.drawEnergyLabels();
49
49
  Wick.PLP?.bindEvents();
@@ -32,7 +32,7 @@ export const MESSAGE_BY_CODE = {
32
32
  10: 'Gift Card number and / or PIN not recognised. A Gift Card will be locked following three unsuccessful PIN attempts.',
33
33
  16: 'Card locked due to three unsuccessful PIN entries. For support click here.',
34
34
  20: 'Unable to use Gift Card at this time, please try later or click here for support.',
35
- 21: 'Unable to use Gift Card at this time, please try later or click here for support.',
35
+ 21: 'Gift Card number not recognised.',
36
36
  40: 'Unable to use Gift Card at this time, please try later or click here for support.',
37
37
  60: 'The entered Gift Card has expired. For support click here.',
38
38
  75: 'The entered Gift Card is invalid. For support click here.',
@@ -9,7 +9,7 @@
9
9
  {{/content}}
10
10
 
11
11
  {{#content "aside"}}
12
- {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true}}
12
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true paymentsCheckoutV2=true}}
13
13
  {{/content}}
14
14
 
15
15
  {{#content "main"}}
@@ -61,7 +61,7 @@
61
61
  <div class="col-12 col-lg-3">
62
62
  <div class="wismo">
63
63
  {{> my-account/wismo_order-summary my_order.wismo-order-summary }}
64
- {{> wismo-payment payment-billie=true}}
64
+ {{> wismo-payment payment-klarna=true}}
65
65
  </div>
66
66
  </div>
67
67
  </div>
@@ -1,4 +1,4 @@
1
- {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new page_checkout" title="Checkout - Payment details with Clear Pay" isAsideSticky="true" clearPayIcon=true}}
1
+ {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout-confirmation-new page_checkout" title="Checkout - Payment details with Clear Pay" isAsideSticky="true" clearPayIcon=true checkout=true}}
2
2
 
3
3
  {{#content "head" mode="append"}}
4
4
  <link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
@@ -16,7 +16,7 @@
16
16
  {{/content}}
17
17
 
18
18
  {{#content "aside"}}
19
- {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true clearPayIcon=clearPayIcon}}
19
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true clearPayIcon=clearPayIcon paymentsCheckoutV2=true checkout=true}}
20
20
  {{/content}}
21
21
 
22
22
 
@@ -1,4 +1,4 @@
1
- {{#extend "base" hybrisClass="hybris-class" pageClass="products-list-page" title="Products list" globalSearchV2="true" pagePlp=true}}
1
+ {{#extend "base" hybrisClass="hybris-class" pageClass="products-list-page retail-media" title="Products list" globalSearchV2="true" pagePlp=true}}
2
2
  {{#content "head" mode="append" pagePlp=true}}
3
3
  <link type="text/css" rel="stylesheet" href="./css/components/global-search.css">
4
4
  {{/content}}
@@ -32,13 +32,23 @@
32
32
  </div>
33
33
 
34
34
  <div class="products-list products-list-v2">
35
- {{#each plp_load-more.results}}
36
- {{>card_product_v2}}
35
+ {{#each search-result_v2.products}}
36
+ {{>card_product_v2}}
37
37
  {{/each}}
38
38
  {{#if search-result_v2.product-banner}}
39
- {{#each search-result_v2.product-banner}}
40
- {{>card_product_banner_v2}}
41
- {{/each}}
39
+ {{#each search-result_v2.product-banner}}
40
+ {{>card_product_banner_v2}}
41
+ {{/each}}
42
+ {{/if}}
43
+ {{#if search-result_v2.sponsor-banner}}
44
+ {{#each search-result_v2.sponsor-banner}}
45
+ {{>card_sponsor_banner}}
46
+ {{/each}}
47
+ {{/if}}
48
+ {{#if search-result_v2.sponsor-product}}
49
+ {{#each search-result_v2.sponsor-product}}
50
+ {{>card_sponsor_product}}
51
+ {{/each}}
42
52
  {{/if}}
43
53
  </div>
44
54
  <div class="load-more-wrap">
@@ -42,9 +42,19 @@
42
42
  </div>
43
43
 
44
44
  <div class="products-list products-list-v2">
45
- {{#each plp_energy-efficiency.products}}
46
- {{> card_product_v2}}
45
+ {{#each search-result_v2.products}}
46
+ {{>card_product_v2}}
47
47
  {{/each}}
48
+ {{#if search-result_v2.sponsor-banner}}
49
+ {{#each search-result_v2.sponsor-banner}}
50
+ {{>card_sponsor_banner}}
51
+ {{/each}}
52
+ {{/if}}
53
+ {{#if search-result_v2.sponsor-product}}
54
+ {{#each search-result_v2.sponsor-product}}
55
+ {{>card_sponsor_product}}
56
+ {{/each}}
57
+ {{/if}}
48
58
  </div>
49
59
 
50
60
  <div class="sort-products-list">
@@ -1,4 +1,4 @@
1
- {{#extend "basket-new" page_shopping-cart pageClass="page_basket basket" title="Basket" billieIcon=true}}
1
+ {{#extend "basket-new" page_shopping-cart pageClass="page_basket basket" title="Basket" billieIcon=false}}
2
2
  {{#content "head" mode="append"}}
3
3
  <link type="text/css" rel="stylesheet" href="./css/pages/page_shopping-cart-v2.css">
4
4
  <link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
@@ -27,7 +27,7 @@
27
27
  }}
28
28
  {{> checkout-action mod="mounted"}}
29
29
  {{> checkout-action mod="mounted" view="mobile"}}
30
- {{> summary-payment paymentsCheckoutV2=true billieIcon=true}}
30
+ {{> summary-payment paymentsCheckoutV2=true billieIcon=false}}
31
31
  {{/content}}
32
32
  {{#content "main"}}
33
33
  <input type="hidden" id="SUPPLIER_DELIVERED_7_DAYS" value="<b> Wickes Supplier </b> - Delivery within 7 days">
@@ -4,7 +4,7 @@
4
4
  @include make-col(4);
5
5
  margin-bottom: 30px;
6
6
 
7
- @include media-breakpoint-down(md) {
7
+ @include media-breakpoint-down(md) {
8
8
  @include make-col(6);
9
9
  }
10
10
 
@@ -39,7 +39,7 @@
39
39
  padding: 0 15px;
40
40
 
41
41
  @include media-breakpoint-down(sm) {
42
- display: inline-block;
42
+ display: inline-block;
43
43
  padding: 0;
44
44
  width: 100%;
45
45
  }
@@ -49,4 +49,92 @@
49
49
  display: inline-block;
50
50
  width: 100%;
51
51
  }
52
- }
52
+ }
53
+
54
+ .products-list {
55
+ .card-sponsor-product,
56
+ .card-sponsor-banner {
57
+ @include make-col(4);
58
+ margin-bottom: 0;
59
+ }
60
+
61
+ .card-sponsor-banner {
62
+ &__link {
63
+ display: inline-block;
64
+ width: 100%;
65
+ height: 100%;
66
+ padding: 0 15px;
67
+ }
68
+
69
+ &__image {
70
+ display: inline-block;
71
+ width: 100%;
72
+ }
73
+ }
74
+
75
+ .card-sponsor-product {
76
+ .product-card {
77
+ max-width: 100%;
78
+ }
79
+ }
80
+
81
+ .product-card__sponsored {
82
+ @include font-size(12);
83
+ @include line-height(16);
84
+ color: $squant;
85
+ font-weight: 400;
86
+ margin-top: -3px;
87
+ margin-bottom: 15px;
88
+ padding: 2px 4px;
89
+
90
+ &:not(.product-card__sponsored--empty) {
91
+ width: max-content;
92
+ background: $gray-light;
93
+ }
94
+ }
95
+ }
96
+
97
+ @include media-breakpoint-down(md) {
98
+ .products-list {
99
+ .card-sponsor-product,
100
+ .card-sponsor-banner {
101
+ @include make-col(6);
102
+
103
+ .card {
104
+ max-width: 100%;
105
+ }
106
+ }
107
+ }
108
+
109
+ .products-list-v2 {
110
+ .card-sponsor-product:nth-of-type(n+3) {
111
+ .card {
112
+ &:before {
113
+ content: none;
114
+ }
115
+ }
116
+ }
117
+ }
118
+ }
119
+
120
+ @include media-breakpoint-down(sm) {
121
+ .products-list {
122
+ .product-card__sponsored {
123
+ margin-right: auto;
124
+ margin-left: auto;
125
+ }
126
+
127
+ .card-sponsor-banner {
128
+ position: relative;
129
+
130
+ &::after {
131
+ content: '';
132
+ position: absolute;
133
+ bottom: 20px;
134
+ left: 5px;
135
+ width: calc(100% - 10px);
136
+ border-bottom: 1px solid $gray;
137
+ }
138
+ }
139
+ }
140
+ }
@@ -143,6 +143,10 @@
143
143
  list-style: inherit;
144
144
  }
145
145
 
146
+ .share-buttons__list {
147
+ list-style: none;
148
+ }
149
+
146
150
  @include media-breakpoint-only(md) {
147
151
  padding-top: 35px;
148
152
  }
@@ -47,6 +47,17 @@ $color-bar-radius: 3px;
47
47
  }
48
48
  }
49
49
 
50
+ .sponsor-top-banner {
51
+ margin-bottom: 20px;
52
+ margin-top: 10px;
53
+
54
+ &__image {
55
+ display: block;
56
+ max-width: 100%;
57
+ margin-bottom: 20px;
58
+ }
59
+ }
60
+
50
61
  .color-pick {
51
62
  &__wrap {
52
63
  display: none;
@@ -37,6 +37,14 @@
37
37
  }
38
38
  }
39
39
  }
40
+
41
+ .sponsor-top-banner {
42
+ &__image {
43
+ margin-bottom: 20px;
44
+ display: block;
45
+ max-width: 100%;
46
+ }
47
+ }
40
48
  }
41
49
 
42
50
  .products-list {
package/src/sitemap.html CHANGED
@@ -805,12 +805,6 @@
805
805
  Klarna TradePro Payment Details
806
806
  </a>
807
807
  </li>
808
- <li>
809
- <span class="page-id">6</span>
810
- <a href="page_split-orders-klarna.html" target="_blank">
811
- Klarna Split Orders
812
- </a>
813
- </li>
814
808
  <li>
815
809
  <span class="page-id">7</span>
816
810
  <a href="page_checkout_confirmation-new-klarna.html" target="_blank">