wickes-css2 2.98.0-billie.1 → 2.98.0-develop.2

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 (72) hide show
  1. package/Readme.md +0 -1
  2. package/build/css/category-main.css +1 -1
  3. package/build/css/components/checkout-payment-details-v2.css +1 -1
  4. package/build/css/components/global-search.css +1 -1
  5. package/build/css/components/loader.css +1 -1
  6. package/build/css/homepage-main.css +1 -1
  7. package/build/css/main.css +1 -1
  8. package/build/css/my-account-main-v2.css +1 -1
  9. package/build/css/my-account-main.css +1 -1
  10. package/build/css/pages/checkout-new.css +1 -1
  11. package/build/css/pages/my-account-v2.css +1 -1
  12. package/build/css/pages/page_home.css +1 -1
  13. package/build/css/pages/page_my-orders.css +1 -1
  14. package/build/css/pdp-main-before-combine.css +1 -1
  15. package/build/css/pdp-main-non-critical.css +1 -1
  16. package/build/css/pdp-main.css +1 -1
  17. package/build/css/plp-main.css +1 -1
  18. package/build/css/store-locator-main.css +1 -1
  19. package/build/img/calm-primary-logo.png +0 -0
  20. package/build/js/basket.min.js +1 -1
  21. package/build/js/emulation.min.js +0 -5
  22. package/build/js/page/basket-v2.js +15 -8
  23. package/build/js/page/checkout-payment-details.js +0 -3
  24. package/build/js/page/components/charity.js +58 -43
  25. package/package.json +2 -2
  26. package/src/components/basket-charity-donations-new.hbs +40 -0
  27. package/src/components/checkout-payment-details-v2.hbs +54 -100
  28. package/src/components/checkout_payment-new.hbs +1 -10
  29. package/src/components/donation-cart-new.hbs +38 -0
  30. package/src/components/my-account/active-orders/list-orders.hbs +1 -1
  31. package/src/components/my-account/active-orders/order.hbs +0 -2
  32. package/src/components/payment-loader.hbs +0 -4
  33. package/src/components/payments-checkout-v2.hbs +6 -12
  34. package/src/components/payments-checkout.hbs +0 -6
  35. package/src/components/payments.hbs +4 -10
  36. package/src/data/data_shopping-cart-v2.json +51 -0
  37. package/src/img/calm-primary-logo.png +0 -0
  38. package/src/js/emulation/paymentLoader.js +1 -5
  39. package/src/js/page/basket-v2.js +15 -8
  40. package/src/js/page/checkout-payment-details.js +0 -3
  41. package/src/js/page/components/charity.js +58 -43
  42. package/src/page_checkout_delivery-address-customer-journey.html +2 -2
  43. package/src/page_my-account.html +0 -1
  44. package/src/page_shopping-cart-v2.html +3 -4
  45. package/src/scss/components/_charity-donations.scss +114 -186
  46. package/src/scss/components/_donation-cart-new.scss +192 -0
  47. package/src/scss/components/_payments-v2.scss +0 -8
  48. package/src/scss/components/checkout-payment-details-v2.scss +0 -67
  49. package/src/scss/components/loader.scss +0 -8
  50. package/src/scss/components/my-account/_active-orders.scss +0 -2
  51. package/src/scss/pages/_checkout-confirmation-new.scss +3 -10
  52. package/src/scss/pages/checkout-new.scss +1 -0
  53. package/src/scss/pages/my-account-v2.scss +0 -1
  54. package/src/sitemap.html +0 -27
  55. package/build/img/billie-logo.svg +0 -4
  56. package/build/img/billie-spinner.svg +0 -5
  57. package/build/img/billie.svg +0 -4
  58. package/build/img/payment/checkout/billie.svg +0 -4
  59. package/build/img/payment/footer/billie.svg +0 -4
  60. package/src/components/checkout-payment-info-block.hbs +0 -47
  61. package/src/components/checkout-payment-option.hbs +0 -40
  62. package/src/components/my-account/active-orders/payment-status.hbs +0 -8
  63. package/src/img/billie-logo.svg +0 -4
  64. package/src/img/billie-spinner.svg +0 -5
  65. package/src/img/billie.svg +0 -4
  66. package/src/img/payment/checkout/billie.svg +0 -4
  67. package/src/img/payment/footer/billie.svg +0 -4
  68. package/src/page_checkout_confirmation-billie.html +0 -339
  69. package/src/page_payment-details-with-billie.html +0 -66
  70. package/src/page_product-details-billie.html +0 -86
  71. package/src/page_shopping-cart-charity.html +0 -56
  72. package/src/scss/components/my-account/_payment-status.scss +0 -36
@@ -1,20 +1,14 @@
1
1
  <div class="payways">
2
2
  <p class="payways__title">Ways to Pay</p>
3
3
  <ul class="payways__list">
4
- {{#if billieIcon}}
5
- <li class="payways__item">
6
- <img class="payways__image" src="./img/payment/footer/billie.svg" alt="Billie">
7
- </li>
8
- {{else}}
9
- <li class="payways__item">
4
+ <li class="payways__item">
10
5
  <span class="payways-klarna">
11
6
  <klarna-placement
12
- data-key="sidebar-promotion-auto-size"
13
- data-locale="en-GB"
7
+ data-key="sidebar-promotion-auto-size"
8
+ data-locale="en-GB"
14
9
  ></klarna-placement>
15
10
  </span>
16
- </li>
17
- {{/if}}
11
+ </li>
18
12
  {{#each payments-list}}
19
13
  <li class="payways__item">
20
14
  <img class="payways__image" src="{{src}}" alt="{{payment}}">
@@ -1145,6 +1145,57 @@
1145
1145
  }
1146
1146
  }
1147
1147
  },
1148
+ "charityDonationNew": {
1149
+ "title": "Charity Donation",
1150
+ "checkoutOrder": {
1151
+ "charity": {
1152
+ "title": "Would you like to make a donation to our chosen charity, Campaign Against Living Miserably (CALM)?",
1153
+ "descr": "All charity donations are non-refundable.",
1154
+ "message": "For more information about our charity partner",
1155
+ "subLink": "https://www.wickes.co.uk/the-brain-tumour-charity",
1156
+ "total": "Total",
1157
+ "img": "img/calm-primary-logo.png",
1158
+ "price": "£1",
1159
+ "options": [
1160
+ {
1161
+ "title": "£1",
1162
+ "value": "1",
1163
+ "active": false
1164
+ },
1165
+ {
1166
+ "title": "£3",
1167
+ "value": "3",
1168
+ "active": false
1169
+ },
1170
+ {
1171
+ "title": "£5",
1172
+ "value": "5",
1173
+ "active": true
1174
+ },
1175
+ {
1176
+ "title": "£10",
1177
+ "value": "10",
1178
+ "active": false
1179
+ },
1180
+ {
1181
+ "title": "£15",
1182
+ "value": "15",
1183
+ "active": false
1184
+ },
1185
+ {
1186
+ "title": "£50",
1187
+ "value": "50",
1188
+ "active": false
1189
+ },
1190
+ {
1191
+ "title": "£100",
1192
+ "value": "100",
1193
+ "active": false
1194
+ }
1195
+ ]
1196
+ }
1197
+ }
1198
+ },
1148
1199
  "charityDonationMultiple": {
1149
1200
  "title": "Charity Donation",
1150
1201
  "img": "img/young-minds-long.png",
Binary file
@@ -3,8 +3,6 @@ const paymentLoaderHideClass = 'payment-loader--hidden';
3
3
  const applePayButton = '.apple__button';
4
4
  const googlePayButton = '.google__button';
5
5
  const clearPayRadioButton = '#checkout-payment-details-clearpay';
6
- const billiePayRadioButton = '#checkout-payment-details-billie';
7
- const billiePayButton = '.billie__button';
8
6
 
9
7
  const showPaymentLoader = () => {
10
8
  $(paymentLoader).removeClass(paymentLoaderHideClass);
@@ -13,6 +11,4 @@ const showPaymentLoader = () => {
13
11
 
14
12
  $(document).on('click', applePayButton, showPaymentLoader);
15
13
  $(document).on('click', googlePayButton, showPaymentLoader);
16
- $(document).on('click', clearPayRadioButton, showPaymentLoader);
17
- $(document).on('click', billiePayRadioButton, showPaymentLoader);
18
- $(document).on('click', billiePayButton, showPaymentLoader);
14
+ $(document).on('click', clearPayRadioButton, showPaymentLoader);
@@ -16,8 +16,8 @@ import {checkPayPalAvailability} from './basket/paypal';
16
16
  import {
17
17
  updateCharity,
18
18
  changeCharityPrice,
19
- toggleCharityElements,
20
- setDefaultCharityValue
19
+ setDefaultCharityValue,
20
+ initCharityInteractions,
21
21
  } from './components/charity';
22
22
  import {callAction} from './utils/http-action';
23
23
  import {ROUTES} from './utils/routes';
@@ -29,8 +29,8 @@ import {
29
29
  } from './basket/session-sync'
30
30
  import {displayEnergyEfficiency} from "./basket/display-energy-efficiency";
31
31
  import {appendLoader, hideLoader, showLoader} from "./utils/loader";
32
- import { initStickyObserver } from './components/sticky-order-observer';
33
32
  import {addClassToSummaryAside} from "./basket/summary-mobile";
33
+ import { initStickyObserver } from './components/sticky-order-observer';
34
34
 
35
35
  var Wick = window.Wick || {};
36
36
  Wick.BasketPage = {
@@ -80,7 +80,7 @@ Wick.BasketPage = {
80
80
  orderItemInfoOffers: 'order-item__info-offers',
81
81
  charityInput: '#donation',
82
82
  charityItem: '.charity-new',
83
- donationCartBtn: '.donation-cart__btn',
83
+ donationCartBtn: '.donation-cart__btn, .donation-cart-new__btn',
84
84
  checkoutWidgetDetails: '.checkout-widget__details',
85
85
  checkoutWidgetDetailsFlex: 'checkout-widget__details-flex',
86
86
  subtotal: '.checkout-widget__item-bold',
@@ -311,7 +311,6 @@ Wick.BasketPage = {
311
311
  } else {
312
312
  if (charity) {
313
313
  Wick.BasketPage.updateCart();
314
- quantityToUpdate === 0 && toggleCharityElements();
315
314
  } else {
316
315
  if (maxValue > 1 || minValue > 1) {
317
316
  if (quantityToUpdate > maxValue || quantityToUpdate < minValue) {
@@ -1282,8 +1281,16 @@ $(document).ready(function () {
1282
1281
  $(Wick.BasketPage.el.content).on('focusout', Wick.BasketPage.el.quantityValue, Wick.BasketPage.changeOnBlur);
1283
1282
  $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.deliveryButtonInCC, Wick.BasketPage.changeMethodToDelivery);
1284
1283
  $(Wick.BasketPage.el.content).on('click', Wick.BasketPage.el.updateStoreButton, Wick.BasketPage.changeMethodToCC);
1285
- $(Wick.BasketPage.el.charityInput).on('click', updateCharity);
1286
- $(Wick.BasketPage.el.donationCartBtn).on('click', changeCharityPrice);
1284
+ $(Wick.BasketPage.el.donationCartBtn).on('click', function(e) {
1285
+ e.preventDefault();
1286
+ const context = $(this).closest(Wick.BasketPage.el.charityItem);
1287
+ if (!context.hasClass('charity-added')) {
1288
+ updateCharity(this);
1289
+ context.addClass('charity-added');
1290
+ } else {
1291
+ changeCharityPrice.call(this);
1292
+ }
1293
+ });
1287
1294
  $(Wick.BasketPage.el.charityItem).on('click', Wick.BasketPage.el.removeButton, updateCharity);
1288
1295
  $(Wick.BasketPage.el.orderSummary).on('click', Wick.BasketPage.el.voucherRemove, voucherRemove);
1289
1296
  $(Wick.BasketPage.el.promoWrapper).on('click', Wick.BasketPage.el.promoClose, Wick.BasketPage.removePromotion);
@@ -1305,8 +1312,8 @@ $(document).ready(function () {
1305
1312
  '.summary__aside.collapse.show'
1306
1313
  );
1307
1314
  Wick.BasketPage.updateCart(...Array(3), true);
1308
-
1309
1315
  setDefaultCharityValue();
1316
+ initCharityInteractions();
1310
1317
  if (!$(Wick.BasketPage.el.loader).length) {
1311
1318
  appendLoader(Wick.BasketPage.loaderPayload);
1312
1319
  }
@@ -62,9 +62,6 @@ Wick.CheckoutPaymentDetails = (function() {
62
62
  case 'klarna':
63
63
  hideBillingAddres();
64
64
  break;
65
- case 'billie':
66
- hideBillingAddres();
67
- break;
68
65
  case 'clearpay':
69
66
  detailsLabel = {
70
67
  ...detailsLabel,
@@ -8,34 +8,47 @@ const charityEl = {
8
8
  charityInput: '#donation',
9
9
  charityTitleWrap: '.title-wrap',
10
10
  donationCart: '.donation-cart',
11
- donationCartBtn: '.donation-cart__btn',
12
- donationCartHolder: '.donation-cart__holder',
13
11
  donationCartHide: 'donation-cart__hide',
14
- donationCartValue: '.donation-cart__value',
12
+ donationCartBtn: '.donation-cart__btn, .donation-cart-new__btn',
13
+ donationCartBtnSelected: '.donation-cart-new__btn.btn-selected',
14
+ donationCartHolder: '.donation-cart__holder, .donation-cart-new__holder',
15
+ donationCartValue: '.donation-cart__value, .donation-cart-new__value',
15
16
  charityAdded: 'charity-added',
17
+ donationCartCostBlock: '.donation-cart-new__cost',
18
+ donationCartCostBlockHide: 'donation-cart-new__cost-hide',
19
+ donationCartRemove: '.donation-cart-new__cost .order-item__remove',
16
20
  }
17
21
 
18
- export function updateCharity() {
19
- //checkbox action
22
+ export function updateCharity(button) {
20
23
  if ($('#donation').attr('disabled') === 'disabled') {
21
- $('#donation').removeAttr('disabled')
24
+ $('#donation').removeAttr('disabled');
22
25
  } else {
23
26
  $('#donation').prop('disabled', (_, value) => !value);
24
27
  }
25
28
 
26
- const context = getCurrentCharityItem(this);
29
+ const context = getCurrentCharityItem(button);
27
30
  const productCode = getCurrentProductCode(context);
31
+ const quantity = getSelectedCharityAmount(button);
28
32
 
29
33
  showLoader('.basket-loader');
30
34
 
31
35
  if (context.hasClass(charityEl.charityAdded)) {
32
- $(this).removeAttr('checked');
36
+ $(button).removeAttr('checked');
33
37
  } else {
34
- $(this).attr('checked', 'checked');
35
- charityActionForAdd(productCode);
38
+ $(button).attr('checked', 'checked');
39
+ repaintCharityButton(button);
40
+ context
41
+ .find(charityEl.donationCartValue)
42
+ .text(quantity);
43
+ showDonationCostBlock(context);
44
+ charityActionForAdd(productCode, quantity);
36
45
  }
37
46
  }
38
47
 
48
+ function getSelectedCharityAmount(context) {
49
+ return $(context).data('value');
50
+ }
51
+
39
52
  function getCurrentCharityItem(context) {
40
53
  return $(context).closest(charityEl.charityItem);
41
54
  }
@@ -44,13 +57,13 @@ function getCurrentProductCode(context) {
44
57
  return context.find('input[name="productCode"]').val();
45
58
  }
46
59
 
47
- export function charityActionForAdd(value) {
60
+ export function charityActionForAdd(value, quantity) {
48
61
  if (!Wick.checkLocalEnv) {
49
62
  const payload = {
50
63
  url: ROUTES.CHARITY_ADD,
51
64
  queries: {
52
65
  productCodePost: value,
53
- qty: getDefaultCharityAmount(),
66
+ qty: quantity,
54
67
  },
55
68
  type: 'POST',
56
69
  };
@@ -61,19 +74,10 @@ export function charityActionForAdd(value) {
61
74
 
62
75
  callAction(payload, executeCharityAction, productInfo);
63
76
  } else {
64
- toggleCharityElements();
65
77
  Wick.BasketPage.updateCart(...Array(2), true);
66
78
  }
67
79
  }
68
80
 
69
- export function toggleCharityElements() {
70
- if ($(charityEl.charityItem).hasClass(charityEl.charityAdded)) {
71
- $(charityEl.charityInput).prop('checked', false);
72
- }
73
- $(charityEl.charityItem).toggleClass(charityEl.charityAdded);
74
- $(charityEl.charityItem).hasClass(charityEl.charityMultiple) && toggleMultipleCharityChoose($(charityEl.charityItem));
75
- }
76
-
77
81
  function executeCharityAction(response, productInfo) {
78
82
  if (response.addedProducts && response.addedProducts[0]) {
79
83
  productInfo.quantity = response.addedProducts[0].qty;
@@ -81,7 +85,6 @@ function executeCharityAction(response, productInfo) {
81
85
  }
82
86
 
83
87
  Wick.BasketPage.updateCart(...Array(2), true);
84
- toggleCharityElements();
85
88
  }
86
89
 
87
90
  export function changeCharityPrice() {
@@ -95,6 +98,7 @@ export function changeCharityPrice() {
95
98
 
96
99
  repaintCharityButton(this);
97
100
  $(charityEl.donationCartValue).text(charityValue);
101
+ showDonationCostBlock(context);
98
102
  charityActionForChangePrice(this);
99
103
  }
100
104
 
@@ -119,35 +123,46 @@ function repaintCharityButton(context) {
119
123
  $(context).removeClass(btnSecondary).addClass(btnSelected);
120
124
  }
121
125
 
122
- function resetCharityButton(context) {
123
- const donationButtons = $(context).find(charityEl.donationCartBtn);
124
- const btnSelected = 'btn-selected';
125
- const btnSecondary = 'btn-secondary';
126
- const defaultAmount = getDefaultCharityAmount();
127
-
128
- donationButtons.each((i, btn) => {
129
- $(btn).attr('data-value') === defaultAmount
130
- ? $(btn).removeClass(btnSecondary).addClass(btnSelected)
131
- : $(btn).removeClass(btnSelected).addClass(btnSecondary);
132
- })
133
- }
134
-
135
126
  function getDefaultCharityAmount() {
136
127
  const donationButtons = $(charityEl.charityItem).find(charityEl.donationCartBtn);
137
128
  return donationButtons.first().attr('data-value');
138
129
  }
139
130
 
131
+ export function setDefaultCharityValue() {
132
+ $(charityEl.donationCartBtnSelected).each(function() {
133
+ const $btn = $(this);
134
+ const $item = $btn.closest(charityEl.charityItem);
135
+ const value = $btn.data('value');
136
+
137
+ $item.find(charityEl.donationCartValue).text(value);
138
+ $item.find(charityEl.donationCartCostBlock)
139
+ .removeClass(charityEl.donationCartCostBlockHide);
140
+ });
141
+ }
142
+
143
+ function showDonationCostBlock($charity) {
144
+ $charity.find(charityEl.donationCartCostBlock)
145
+ .removeClass(charityEl.donationCartCostBlockHide);
146
+ }
147
+
140
148
  function resetCharityValue() {
141
149
  const defaultValue = getDefaultCharityAmount();
142
150
  $(charityEl.donationCartValue).text(defaultValue);
143
151
  }
144
152
 
145
- export function toggleMultipleCharityChoose(context) {
146
- context.find(charityEl.donationCart).toggleClass(charityEl.donationCartHide);
147
- resetCharityButton(context);
148
- resetCharityValue();
149
- }
150
-
151
- export function setDefaultCharityValue() {
152
- $(charityEl.charityItem).hasClass(charityEl.charityMultiple) && resetCharityValue();
153
+ export function initCharityInteractions() {
154
+ $(document).on('click', charityEl.donationCartRemove, function(e) {
155
+ e.preventDefault();
156
+
157
+ const $item = $(this).closest(charityEl.charityItem);
158
+ $item.removeClass(charityEl.charityAdded);
159
+ $item
160
+ .find(charityEl.donationCartCostBlock)
161
+ .addClass(charityEl.donationCartCostBlockHide);
162
+ $item
163
+ .find(charityEl.donationCartBtn)
164
+ .removeClass('btn-selected')
165
+ .addClass('btn-secondary');
166
+ resetCharityValue();
167
+ });
153
168
  }
@@ -1,4 +1,4 @@
1
- {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout page_checkout-confirmation-new" title="Checkout - Delivery address Customer Journey" isAsideSticky="true" billieIcon=true}}
1
+ {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout page_checkout-confirmation-new" title="Checkout - Delivery address Customer Journey" isAsideSticky="true"}}
2
2
  {{#content "steps"}}
3
3
  {{> steps active-step-index="1" }}
4
4
  {{/content}}
@@ -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 billieIcon=true}}
12
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true}}
13
13
  {{/content}}
14
14
 
15
15
 
@@ -26,7 +26,6 @@
26
26
  title=my_account.diy.activeOrders.sectionTitle
27
27
  linkText='View all orders'
28
28
  orders=my_account.diy.activeOrders.orderList
29
- billieText="Payment due 30 days from Dispatch or Collection Date"
30
29
  }}
31
30
  </div>
32
31
  </div>
@@ -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"}}
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">
@@ -23,11 +23,10 @@
23
23
  id=1
24
24
  title="Order Summary"
25
25
  basket=true
26
- billie=true
27
26
  }}
28
27
  {{> checkout-action mod="mounted"}}
29
28
  {{> checkout-action mod="mounted" view="mobile"}}
30
- {{> summary-payment paymentsCheckoutV2=true billieIcon=true}}
29
+ {{> summary-payment paymentsCheckoutV2=true}}
31
30
  {{/content}}
32
31
  {{#content "main"}}
33
32
  <input type="hidden" id="SUPPLIER_DELIVERED_7_DAYS" value="<b> Wickes Supplier </b> - Delivery within 7 days">
@@ -41,7 +40,7 @@
41
40
  {{/each}}
42
41
  </section>
43
42
  {{/each}}
44
- {{> charity-donations-multiple shopping-cart-v2.charityDonationMultiple}}
43
+ {{> basket-charity-donations-new shopping-cart-v2.charityDonationNew }}
45
44
  {{/content}}
46
45
  {{#content "foot" mode="append"}}
47
46
  <script defer src="./js/basket.min.js"></script>