wickes-css2 2.93.0 → 2.94.0-develop.1

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 (132) hide show
  1. package/build/css/category-main.css +1 -1
  2. package/build/css/emulation.css +1 -1
  3. package/build/css/homepage-main.css +1 -1
  4. package/build/css/main.css +1 -1
  5. package/build/css/my-account-main-v2.css +1 -0
  6. package/build/css/my-account-main.css +1 -1
  7. package/build/css/pages/checkout-new.css +1 -1
  8. package/build/css/pages/checkout.css +1 -1
  9. package/build/css/pages/my-account-v2.css +1 -0
  10. package/build/css/pages/my-account.css +1 -1
  11. package/build/css/pages/page_checkout_delivery-new.css +1 -1
  12. package/build/css/pages/page_personal-details.css +1 -0
  13. package/build/css/pdp-main-before-combine.css +1 -1
  14. package/build/css/pdp-main-non-critical.css +1 -1
  15. package/build/css/pdp-main.css +1 -1
  16. package/build/css/plp-main.css +1 -1
  17. package/build/css/store-locator-main.css +1 -1
  18. package/build/img/placeholders/discount-sm-15.jpg +0 -0
  19. package/build/img/placeholders/discount-sm.png +0 -0
  20. package/build/js/account-members.min.js +1 -1
  21. package/build/js/basket.min.js +1 -1
  22. package/build/js/bundle.min.js +1 -1
  23. package/build/js/checkout.min.js +1 -1
  24. package/build/js/emulation.min.js +74 -21
  25. package/build/js/merged-checkout.min.js +1 -1
  26. package/build/js/my-account.min.js +1 -0
  27. package/build/js/page/my-account.js +51 -0
  28. package/build/js/page/personal-details.js +217 -0
  29. package/build/js/personal-details.min.js +1 -0
  30. package/build/js/project-list.min.js +1 -1
  31. package/package.json +1 -1
  32. package/src/components/account-families/actions-bar.hbs +3 -0
  33. package/src/components/aside-nav2.hbs +1 -1
  34. package/src/components/banner-news.hbs +8 -0
  35. package/src/components/date-selection.hbs +46 -59
  36. package/src/components/delivery-types.hbs +18 -38
  37. package/src/components/my-account/active-orders/consignment-info.hbs +11 -0
  38. package/src/components/my-account/active-orders/header.hbs +4 -0
  39. package/src/components/my-account/active-orders/list-orders.hbs +9 -0
  40. package/src/components/my-account/active-orders/order-details.hbs +18 -0
  41. package/src/components/my-account/active-orders/order-header.hbs +7 -0
  42. package/src/components/my-account/active-orders/order.hbs +20 -0
  43. package/src/components/my-account/active-orders/shipment-detail.hbs +13 -0
  44. package/src/components/my-account/barcode.hbs +17 -0
  45. package/src/components/my-account/clipboard-code-card.hbs +16 -0
  46. package/src/components/my-account/contact-us.hbs +23 -0
  47. package/src/components/my-account/discount.hbs +11 -0
  48. package/src/components/my-account/greetings.hbs +7 -0
  49. package/src/components/my-account/leave-modal.hbs +13 -0
  50. package/src/components/my-account/menu-items.hbs +25 -0
  51. package/src/components/my-account/mobile-nav.hbs +46 -0
  52. package/src/components/my-account/personal-details-form.hbs +24 -0
  53. package/src/components/my-account/personal-details.hbs +14 -0
  54. package/src/components/my-account/user-account-actions.hbs +18 -0
  55. package/src/components/user-information-field.hbs +4 -0
  56. package/src/components.html +1 -0
  57. package/src/data/data_calendar.json +149 -0
  58. package/src/data/data_notification-page.json +4 -0
  59. package/src/data/my-account/data_my-account.json +469 -0
  60. package/src/data/my-account/data_personal-details.json +179 -0
  61. package/src/elements/dropdown.hbs +16 -5
  62. package/src/elements/form-row.hbs +1 -1
  63. package/src/img/placeholders/discount-sm-15.jpg +0 -0
  64. package/src/img/placeholders/discount-sm.png +0 -0
  65. package/src/js/components/date-selection.js +6 -20
  66. package/src/js/components/leave-event-v2.js +0 -0
  67. package/src/js/components/leave-event.js +10 -3
  68. package/src/js/emulation/date-selection.js +0 -21
  69. package/src/js/emulation/personal-details-local.js +73 -0
  70. package/src/js/page/my-account.js +51 -0
  71. package/src/js/page/personal-details.js +217 -0
  72. package/src/layouts/my-account-v2.hbs +27 -0
  73. package/src/layouts/my-account.hbs +1 -1
  74. package/src/page_checkout_delivery-details-v2-asm.html +3 -3
  75. package/src/page_checkout_delivery-details-v2-calendar-message.html +1 -1
  76. package/src/page_checkout_delivery-details-v2-oos.html +1 -1
  77. package/src/page_checkout_delivery-details-v2-wisdom-not-available.html +2 -2
  78. package/src/page_checkout_delivery-details-v2-wisdom.html +2 -2
  79. package/src/page_checkout_delivery-details-with-loader-v2.html +1 -1
  80. package/src/page_checkout_delivery-details_guest-new.html +1 -1
  81. package/src/page_checkout_next-day-delivery-details.html +161 -0
  82. package/src/{page_checkout_delivery-details-v2.html → page_checkout_rapid-delivery-details.html} +14 -3
  83. package/src/page_discount_installer.html +7 -1
  84. package/src/page_marketing-preferences.html +7 -1
  85. package/src/page_my-account-installer.html +93 -0
  86. package/src/page_my-account-trade-pro.html +91 -0
  87. package/src/page_my-account.html +56 -59
  88. package/src/page_my-account_address-book.html +8 -2
  89. package/src/page_my-account_order-history.html +8 -3
  90. package/src/page_my-account_personal-details.html +7 -1
  91. package/src/page_personal-details-installer.html +52 -0
  92. package/src/page_personal-details.html +52 -0
  93. package/src/page_tradePro_discount.html +8 -2
  94. package/src/page_tradePro_rewards.html +7 -1
  95. package/src/partials/breadcrumbs.hbs +27 -8
  96. package/src/partials/head.hbs +5 -1
  97. package/src/partials/header.hbs +68 -49
  98. package/src/partials/main-nav.hbs +17 -9
  99. package/src/scss/components/_aside-nav2.scss +18 -0
  100. package/src/scss/components/_date-selection-add-new-styles.scss +78 -19
  101. package/src/scss/components/_date-selection.scss +30 -215
  102. package/src/scss/components/my-account/_consignment-info.scss +46 -0
  103. package/src/scss/components/my-account/_contacts.scss +116 -0
  104. package/src/scss/components/my-account/_menu.scss +215 -0
  105. package/src/scss/components/my-account/_mobile-nav.scss +130 -0
  106. package/src/scss/components/my-account/_order.scss +112 -0
  107. package/src/scss/components/my-account/_shipment.scss +92 -0
  108. package/src/scss/emulation.scss +0 -24
  109. package/src/scss/helpers/_variables.scss +3 -1
  110. package/src/scss/my-account-main-v2.scss +32 -0
  111. package/src/scss/pages/checkout-new.scss +51 -0
  112. package/src/scss/pages/my-account-v2.scss +570 -0
  113. package/src/scss/pages/my-account.scss +1 -0
  114. package/src/scss/pages/page_checkout_delivery-new.scss +2 -1
  115. package/src/scss/pages/page_paint-mixing-error.scss +1 -1
  116. package/src/scss/pages/page_personal-details.scss +249 -0
  117. package/src/scss/partials/_header.scss +30 -0
  118. package/src/scss/partials/_main-nav.scss +6 -2
  119. package/src/sitemap.html +44 -66
  120. package/src/components/calendar-time-table-v2.hbs +0 -3
  121. package/src/components/calendar-time-table.hbs +0 -3
  122. package/src/components/date-selection-v2.hbs +0 -106
  123. package/src/components/delivery-selection.hbs +0 -11
  124. package/src/components/delivery-types-v2.hbs +0 -17
  125. package/src/page_checkout_delivery-address.html +0 -70
  126. package/src/page_checkout_delivery-details-ASM.html +0 -251
  127. package/src/page_checkout_delivery-details-oos-partially.html +0 -215
  128. package/src/page_checkout_delivery-details-oos.html +0 -232
  129. package/src/page_checkout_delivery-details-with-loader.html +0 -220
  130. package/src/page_checkout_delivery-details.html +0 -221
  131. package/src/page_checkout_delivery-details_guest.html +0 -198
  132. package/src/page_tradePro_delivery-details.html +0 -243
@@ -0,0 +1,217 @@
1
+ import {isValidEmail, isValidInputTextField, updateStylingError, removeErrorStyling} from "./utils/validation";
2
+ import {createEvent} from "./utils/create-event";
3
+
4
+ const Handlebars = require("hbsfy/runtime");
5
+ import userInformationField from '../../components/user-information-field.hbs';
6
+
7
+ var Wick = window.Wick || {};
8
+
9
+ Wick.PersonalDetails = {
10
+ UPDATE_PERSONAL_DETAILS_EVENT: 'updatePersonalDetails',
11
+ el: {
12
+ userInformationSection: '.user-information',
13
+ userInformationList: '.user-information__list',
14
+ userForm: '.user-form',
15
+ formRow: '.user-form .form-row',
16
+ emailInput: '#email',
17
+ firstNameInput: '#firstName',
18
+ surnameInput: '#lastName',
19
+ btnEdit: '.user-information .btn__edit',
20
+ btnCancel: '[data-action="cancel-form"]',
21
+ btnSave: '[data-action="save-form"]',
22
+ btnContinue: '[data-action="reset-details"]',
23
+ btnChangePassword: '.btn__change-password',
24
+ formInvalidClass: 'form_invalid',
25
+ notification: '.notification',
26
+ fieldError: '.form-row.form-row_validation-error',
27
+ },
28
+ initialFormState: {},
29
+ errorMessages: {
30
+ errorFirstName: 'Please enter your first name',
31
+ errorSurname: 'Please enter your surname',
32
+ errorEmail: 'Please enter you email',
33
+ },
34
+ fieldToLabelMap: {
35
+ titleCode: 'Title',
36
+ firstName: 'First name',
37
+ lastName: 'Surname',
38
+ email: 'Email',
39
+ tradeType: 'How would you describe yourself or your main trade',
40
+ },
41
+ defaultNotificationConfig: {
42
+ container: '.globalMessages .col-12',
43
+ closeBtn: true,
44
+ noScrolling: true,
45
+ },
46
+ getFieldsConfigurations: function () {
47
+ return [
48
+ {
49
+ input: Wick.PersonalDetails.el.firstNameInput,
50
+ validator: isValidInputTextField,
51
+ error: Wick.PersonalDetails.errorMessages.errorFirstName
52
+ },
53
+ {
54
+ input: Wick.PersonalDetails.el.surnameInput,
55
+ validator: isValidInputTextField,
56
+ error: Wick.PersonalDetails.errorMessages.errorSurname
57
+ },
58
+ {
59
+ input: Wick.PersonalDetails.el.emailInput,
60
+ validator: isValidEmail,
61
+ error: Wick.PersonalDetails.errorMessages.errorEmail
62
+ }
63
+ ]
64
+ },
65
+ showForm() {
66
+ Wick.PersonalDetails.validateForm();
67
+ $(Wick.PersonalDetails.el.notification).remove();
68
+ $(Wick.PersonalDetails.el.userInformationSection).addClass('d-none');
69
+ $(Wick.PersonalDetails.el.userForm).removeClass('d-none');
70
+ },
71
+ hideForm() {
72
+ $(Wick.PersonalDetails.el.userForm).addClass('d-none');
73
+ $(Wick.PersonalDetails.el.userInformationSection).removeClass('d-none');
74
+ },
75
+ validateInput: function (input, validatorFunction, errorMsg) {
76
+ const value = $(input).val();
77
+ const isValid = validatorFunction(value);
78
+ updateStylingError(input, isValid, errorMsg);
79
+
80
+ return isValid;
81
+ },
82
+ validateForm: function() {
83
+ const fields = Wick.PersonalDetails.getFieldsConfigurations();
84
+ let isValid = true;
85
+
86
+ fields.forEach(field => {
87
+ let parentElem = $(field.input).closest(Wick.PersonalDetails.el.fieldError);
88
+ if (parentElem.length) {
89
+ removeErrorStyling(parentElem);
90
+ }
91
+ const result = Wick.PersonalDetails.validateInput(field.input, field.validator, field.error);
92
+ isValid = isValid && result;
93
+ });
94
+
95
+ return isValid;
96
+ },
97
+ requestToUpdateForm() {
98
+ return new Promise((resolve, reject) => {
99
+ const payloadArray = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
100
+ const payloadObject = payloadArray.reduce((acc, { name, value }) => {
101
+ acc[name] = value;
102
+ return acc;
103
+ }, {});
104
+ const eventDetail = {resolve, reject};
105
+ const event = createEvent(Wick.PersonalDetails.UPDATE_PERSONAL_DETAILS_EVENT, payloadObject, eventDetail);
106
+ window.dispatchEvent(event);
107
+ })
108
+ .then((response) => {
109
+ Wick.Notification.show({
110
+ ...Wick.PersonalDetails.defaultNotificationConfig,
111
+ text: response.globalMessage.message,
112
+ type: 'success',
113
+ });
114
+ Wick.PersonalDetails.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
115
+ Wick.PersonalDetails.updateUserInformationSection(Wick.PersonalDetails.initialFormState);
116
+ Wick.PersonalDetails.updateFormFields(Wick.PersonalDetails.initialFormState);
117
+ Wick.PersonalDetails.hideForm();
118
+ Wick.LeaveEvent.removeLeaveEvent();
119
+ })
120
+ .catch((error) => {
121
+ Wick.Notification.show({
122
+ ...Wick.PersonalDetails.defaultNotificationConfig,
123
+ text: error.globalMessage.message,
124
+ type: 'error',
125
+ });
126
+ Wick.PersonalDetails.handleFieldErrors(error);
127
+ });
128
+ },
129
+ handleFieldErrors(fieldErrors) {
130
+ if (fieldErrors && fieldErrors.length) {
131
+ fieldErrors.forEach((fieldError) => {
132
+ const field = `#${fieldError.field}`;
133
+ updateStylingError(field, false, fieldError.message);
134
+ });
135
+ }
136
+ },
137
+ submitForm(event) {
138
+ event.preventDefault();
139
+ if (Wick.PersonalDetails.validateForm()) {
140
+ Wick.PersonalDetails.requestToUpdateForm();
141
+ } else {
142
+ Wick.Notification.show({
143
+ ...Wick.PersonalDetails.defaultNotificationConfig,
144
+ text: 'Please correct the errors below.',
145
+ type: 'error',
146
+ });
147
+ }
148
+ },
149
+ updateUserInformationSection(personalDetails) {
150
+ const $userInformationList = $(Wick.PersonalDetails.el.userInformationList);
151
+
152
+ if (!$userInformationList.length) return;
153
+
154
+ $userInformationList.empty();
155
+
156
+ personalDetails.forEach(({ name, value }) => {
157
+ const label = Wick.PersonalDetails.fieldToLabelMap[name] || name;
158
+
159
+ $userInformationList.append(
160
+ userInformationField({
161
+ label,
162
+ value,
163
+ })
164
+ );
165
+ });
166
+ },
167
+ updateFormFields(personalDetails) {
168
+ personalDetails.forEach(({ name, value }) => {
169
+ const field = document.querySelector(`#${name}`);
170
+ if (field) {
171
+ field.value = value || '';
172
+ field.setAttribute('value', value || '');
173
+
174
+ if (field.tagName === 'SELECT' || field.tagName === 'INPUT') {
175
+ field.value = value || '';
176
+ field.setAttribute('value', value || '');
177
+ }
178
+ }
179
+ });
180
+ },
181
+ resetFormToInitialState() {
182
+ Wick.PersonalDetails.hideForm();
183
+ $(Wick.PersonalDetails.el.notification).remove();
184
+ $(Wick.LeaveEvent.el.leavePopup).modal('hide');
185
+ Wick.PersonalDetails.updateFormFields(Wick.PersonalDetails.initialFormState);
186
+ },
187
+ changePasswordHandler(event) {
188
+ const changePasswordUrl = $(Wick.PersonalDetails.el.btnChangePassword).attr('href');
189
+ const currentState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm);
190
+ const isDifferent = !_.isEqual(currentState, Wick.PersonalDetails.initialFormState);
191
+
192
+ if (isDifferent) {
193
+ event.preventDefault();
194
+ $(Wick.LeaveEvent.el.leavePopup).modal('show');
195
+ Wick.LeaveEvent.proceedBrowserLeave = true;
196
+ $(Wick.LeaveEvent.el.leavePopup).find(Wick.PersonalDetails.el.btnContinue).off('click').on('click', function () {
197
+ Wick.LeaveEvent.removeLeaveEvent();
198
+ $(Wick.LeaveEvent.el.leavePopup).modal('hide');
199
+ window.location.href = changePasswordUrl;
200
+ });
201
+ } else {
202
+ window.location.href = changePasswordUrl;
203
+ }
204
+ },
205
+ init: function () {
206
+ Wick.LeaveEvent.bindEvent(Wick.PersonalDetails.el.userForm, Wick.PersonalDetails.el.btnCancel, Wick.PersonalDetails.el.btnContinue, Wick.PersonalDetails.resetFormToInitialState);
207
+ Wick.PersonalDetails.initialFormState = Wick.LeaveEvent.getState(Wick.PersonalDetails.el.userForm)
208
+
209
+ $(Wick.PersonalDetails.el.btnEdit).on('click', Wick.PersonalDetails.showForm);
210
+ $(Wick.PersonalDetails.el.btnSave).on('click', Wick.PersonalDetails.submitForm);
211
+ $(Wick.PersonalDetails.el.btnChangePassword).on('click', Wick.PersonalDetails.changePasswordHandler);
212
+ }
213
+ }
214
+
215
+ $(document).ready(function () {
216
+ Wick.PersonalDetails.init();
217
+ });
@@ -0,0 +1,27 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ {{#block "head" }}
5
+ {{> head }}
6
+ {{/block}}
7
+ </head>
8
+ <body class="{{pageClass}}">
9
+ {{#block "header"}}
10
+ {{> header}}
11
+ {{/block}}
12
+ <a id="skip-to-content"></a>
13
+ <main class="{{mainClass}}">
14
+ {{#block "notification"}}{{/block}}
15
+ {{#block "heading"}}{{/block}}
16
+ {{#block "main"}}
17
+ <p>Ooops, page is empty</p>
18
+ {{/block}}
19
+ </main>
20
+ {{#block "footer"}}
21
+ {{> footer }}
22
+ {{/block}}
23
+ {{#block "foot"}}
24
+ {{> scripts}}
25
+ {{/block}}
26
+ </body>
27
+ </html>
@@ -52,4 +52,4 @@
52
52
  {{> scripts }}
53
53
  {{/block}}
54
54
  </body>
55
- </html>
55
+ </html>
@@ -26,11 +26,11 @@
26
26
  </div>
27
27
 
28
28
  <div class="component component-date-selection">
29
- {{> date-selection-v2}}
29
+ {{> date-selection}}
30
30
  </div>
31
31
 
32
32
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
33
- <div class="checkout-order">
33
+ <div class="checkout-order">
34
34
  {{> checkout-order-block}}
35
35
  </div>
36
36
  {{/with}}
@@ -57,7 +57,7 @@
57
57
 
58
58
  <div class="click-collect-block__wrapper">
59
59
  {{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
60
- <div class="checkout-order">
60
+ <div class="checkout-order">
61
61
  {{> checkout-order-block}}
62
62
  </div>
63
63
  {{/with}}
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
 
28
28
  <div class="component component-date-selection">
29
- {{> date-selection-v2 calendar-message=true}}
29
+ {{> date-selection calendar-message=true}}
30
30
  </div>
31
31
 
32
32
 
@@ -53,7 +53,7 @@
53
53
  </div>
54
54
 
55
55
  <div class="component component-date-selection">
56
- {{> date-selection-v2}}
56
+ {{> date-selection}}
57
57
  </div>
58
58
 
59
59
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
@@ -34,8 +34,8 @@
34
34
  </div>
35
35
 
36
36
  <div class="component component-date-selection">
37
- {{> date-selection-v2 wisdom=true latest=true}}
38
- {{> date-selection-v2 wisdom=true earlier=true hidden=true}}
37
+ {{> date-selection wisdom=true latest=true}}
38
+ {{> date-selection wisdom=true earlier=true hidden=true}}
39
39
  </div>
40
40
 
41
41
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
@@ -31,8 +31,8 @@
31
31
  </div>
32
32
 
33
33
  <div class="component component-date-selection">
34
- {{> date-selection-v2 wisdom=true latest=true}}
35
- {{> date-selection-v2 wisdom=true earlier=true hidden=true}}
34
+ {{> date-selection wisdom=true latest=true}}
35
+ {{> date-selection wisdom=true earlier=true hidden=true}}
36
36
  </div>
37
37
 
38
38
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
@@ -28,7 +28,7 @@
28
28
  </div>
29
29
 
30
30
  <div class="component component-date-selection">
31
- {{> date-selection-v2}}
31
+ {{> date-selection}}
32
32
  </div>
33
33
 
34
34
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
 
28
28
  <div class="component component-date-selection">
29
- {{> date-selection-v2}}
29
+ {{> date-selection}}
30
30
  </div>
31
31
 
32
32
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
@@ -0,0 +1,161 @@
1
+ {{#extend "checkout" pageClass="page_checkout-delivery-new page_checkout" title="Checkout - Delivery details" isAsideSticky="true"}}
2
+ {{#content "steps"}}
3
+ {{> steps-three-steps active-step-index="1" }}
4
+ {{/content}}
5
+
6
+ {{#content "head" mode="append"}}
7
+ <link type="text/css" rel="stylesheet" href="./css/pages/checkout-new.css">
8
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_checkout_delivery-new.css">
9
+ {{/content}}
10
+
11
+ {{#content "aside"}}
12
+ {{> order-summary delivery-address-v2.summary no-action=true id=1 basket-id=true paymentsCheckoutV2="true"}}
13
+ {{/content}}
14
+
15
+
16
+ {{#content "main"}}
17
+ <div class="delivery-block">
18
+ <h3 class="delivery-block__heading">Delivery Information</h3>
19
+ <div class="delivery-block__wrapper">
20
+ <div class="date-selection__wrapper">
21
+ <h3 class="date-selection__header">Select delivery date</h3>
22
+ <p class="date-selection__info-block">
23
+ Please choose a date for delivery from the calendar below.
24
+ </p>
25
+ <p class="date-selection__info-block">
26
+ Our delivery slots are currently available up to 8 days in advance. We release additional delivery slots daily.
27
+ </p>
28
+ <p class="date-selection__annotation">
29
+ *Individual couriers will provide more information on delivery times, closer to your chosen delivery date.
30
+ </p>
31
+ </div>
32
+
33
+ <div class="component component-date-selection">
34
+ {{> date-selection
35
+ titleDelivery="Next and Named day delivery"
36
+ subtitleDelivery="Delivery between 7am - 7pm for £7*"
37
+ wisdom=true
38
+ }}
39
+ </div>
40
+
41
+ {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
42
+ <div class="checkout-order">
43
+ {{> checkout-order-block}}
44
+ </div>
45
+ {{/with}}
46
+
47
+ </div>
48
+ </div>
49
+
50
+ <div class="click-collect-block">
51
+ <h3 class="click-collect-block__heading">Click & Collect</h3>
52
+
53
+ <div class="click-collect-block__head-info">
54
+ <p>Simply enter or correct the contact information required below and continue to the next step of the checkout.</p>
55
+ <div class="head-info__wrapper">
56
+ <div class="head-info__wrapper-exclamation">
57
+ <i class="far fa-exclamation-circle"></i>
58
+ <span>Your order will be held for up to 24 hours</span>
59
+ </div>
60
+ <div class="head-info__wrapper-text">
61
+ <p>You will receive a text when your order is ready to collect (usually within 1 trading hour of receiving your order confirmation email).</p>
62
+ <p>Please wait for confirmation before travelling to your chosen store.</p>
63
+ </div>
64
+ </div>
65
+ </div>
66
+
67
+ <div class="click-collect-block__wrapper">
68
+ {{#with checkoutOrder.clickCollectDeliveryAddress.[0]}}
69
+ <div class="checkout-order">
70
+ {{> checkout-order-block}}
71
+ </div>
72
+ {{/with}}
73
+
74
+ <div class="add-contact-details">
75
+ <h3 class="add-contact-details__heading">Add contact details</h3>
76
+ <p>Please enter your phone number(s) below so we can contact you regarding your order.</p>
77
+
78
+ <div class="add-contact-details__form">
79
+ {{> form-row type="tel" id="mobile" label="Mobile number" required="true"}}
80
+ {{> form-row type="tel" id="home-phone" label="Home phone"}}
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </div>
85
+
86
+ <div class="simplify-collection">
87
+ <h3 class="simplify-collection__heading">Simplify your collection</h3>
88
+ <p class="simplify-collection__info">All the Click & Collect items in your order are currently available at the following stores. Select
89
+ one of the store to collect all your items from the same location.</p>
90
+
91
+ <div class="simplify-collection__wrapper">
92
+ <div class="your-contact-details__checkbox">
93
+ {{#extend "radiobutton" id="oldham" name="store" label="Oldham" checked="true"}}
94
+ {{#content "html"}}
95
+ <span class="distance">6.2 Miles</span>
96
+ <div class="store-address">
97
+ <div class="store-address__street">Wickes Larch Street,</div>
98
+ <div class="store-address__town">Oldham</div>
99
+ <div class="store-address__city">Greater Manchester,</div>
100
+ <div class="store-address__postcode">OL8 1TA</div>
101
+ <div class="store-address__country">United Kingdom</div>
102
+ </div>
103
+ {{/content}}
104
+ {{/extend}}
105
+ </div>
106
+ <div class="your-contact-details__checkbox">
107
+ {{#extend "radiobutton" id="clifton" name="store" label="Clifton"}}
108
+ {{#content "html"}}
109
+ <span class="distance">4.9 Miles</span>
110
+ <div class="store-address">
111
+ <div class="store-address__street">Wickes Wynne Avenue,</div>
112
+ <div class="store-address__town"> Clifton, Swinton</div>
113
+ <div class="store-address__city">Greater Manchester,</div>
114
+ <div class="store-address__postcode">M27 8FU</div>
115
+ <div class="store-address__country">United Kingdom</div>
116
+ </div>
117
+ {{/content}}
118
+ {{/extend}}
119
+ </div>
120
+ </div>
121
+
122
+ <p class="simplify-collection__info">I would like to update my order to collect all my items from one store.</p>
123
+
124
+ <button class="btn btn-primary simplify-collection__btn">
125
+ <span class="btn__text">Simplify collection</span>
126
+ </button>
127
+ </div>
128
+
129
+
130
+ {{> checkout_voucher_large title="Voucher Code"}}
131
+
132
+ <div class="continue-btn">
133
+ <button class="btn btn-action">Continue to Payment Details</button>
134
+ </div>
135
+
136
+ {{/content}}
137
+
138
+ {{#content "foot" mode="append"}}
139
+ <script defer src="./js/page/checkout-confirmation-new.js"></script>
140
+ <script defer src="./js/page/select-address.js"></script>
141
+ <script src="./js/checkout.min.js"></script>
142
+
143
+ {{#extend "modal" classMod="edit-delivery-address" id="modalEditAddress" title="Edit delivery address" fullWidth=true}}
144
+ {{#content "body"}}
145
+ <div class="edit-address-modal-block">
146
+ {{> notifications notification-page.error-deliver-area}}
147
+ <div class="delivery-block__wrapper customer-journey-block">
148
+ {{> user-address-delivery radioName="checkout-address-radio" modal="modalDeliveryEdit" selectedAddress=true simpleAddress=true isDeleted=true}}
149
+ </div>
150
+
151
+ <button class="btn btn-action btn_full">
152
+ <span class="btn__text">Continue to delivery details</span>
153
+ </button>
154
+ </div>
155
+ {{/content}}
156
+ {{/extend}}
157
+
158
+ {{/content}}
159
+ {{/extend}}
160
+
161
+
@@ -16,17 +16,28 @@
16
16
  {{#content "main"}}
17
17
  <div class="delivery-block">
18
18
  <h3 class="delivery-block__heading">Delivery Information</h3>
19
+ {{> banner-news
20
+ description="<b>Your order qualifies for Wickes Rapid delivery.</b></br>Alternative delivery options are available."
21
+ classImg="fas fa-shipping-fast"
22
+ }}
19
23
  <div class="delivery-block__wrapper">
20
-
21
24
  <div class="date-selection__wrapper">
22
25
  <h3 class="date-selection__header">Select delivery date</h3>
23
26
  <p class="date-selection__info-block">
24
- Please choose a date for delivery from the calendar below
27
+ Please choose a date for delivery from the calendar below.
28
+ </p>
29
+ <p class="date-selection__info-block">
30
+ Our delivery slots are currently available up to 8 days in advance. We release additional delivery slots daily.
25
31
  </p>
26
32
  </div>
27
33
 
28
34
  <div class="component component-date-selection">
29
- {{> date-selection-v2}}
35
+ {{> date-selection
36
+ titleDelivery="Wickes Rapid delivery"
37
+ subtitleDelivery="Delivery within 3 hours for £12"
38
+ imgDelivery="fas fa-shipping-fast"
39
+ wisdom=true
40
+ }}
30
41
  </div>
31
42
 
32
43
  {{#with checkoutOrder.deliveryDeliveryDetails.[0]}}
@@ -6,7 +6,13 @@
6
6
  {{> account-heading title="Installer Discount"}}
7
7
  {{/content}}
8
8
  {{#content "aside"}}
9
- {{> aside-nav2 my-account-installer-menu-new active-index="5" page-name="Installer Discount" tradePro="true"}}
9
+ {{> aside-nav2 my-account-installer-menu-new active-index="5" page-name="Installer Discount" tradePro="true" mod="d-none d-lg-block"}}
10
+ {{> my-account/mobile-nav
11
+ mod="account-nav--old-pages"
12
+ menu=my_account.installer.menu
13
+ active-index=3
14
+ page-name="Installer Discount"
15
+ }}
10
16
  {{/content}}
11
17
  {{#content "main"}}
12
18
  <div class="page-header">
@@ -3,7 +3,13 @@
3
3
  {{> account-heading title="Update Marketing Preferences"}}
4
4
  {{/content}}
5
5
  {{#content "aside"}}
6
- {{> aside-nav2 my-account-tradePro-menu-new active-index="1" page-name="Update Marketing Preferences" tradePro="true"}}
6
+ {{> aside-nav2 my-account-tradePro-menu-new active-index="1" page-name="Update Marketing Preferences" tradePro="true" mod="d-none d-lg-block"}}
7
+ {{> my-account/mobile-nav
8
+ mod="account-nav--old-pages"
9
+ menu=my_account.diy.menu
10
+ active-index=4
11
+ page-name="Marketing Preferences"
12
+ }}
7
13
  {{/content}}
8
14
  {{#content "main"}}
9
15
  <form action="#" class="form-bg form-personal-details">
@@ -0,0 +1,93 @@
1
+ {{#extend "my-account-v2"
2
+ customIconUserClass=my_account.installer.icons.installer
3
+ dataBreadcrumbs=my_account.installer.breadcrumbs
4
+ pageClass="page_my-account_new"
5
+ title=my_account.installer.title
6
+ pageMyAcc=true
7
+ myAccV2=true
8
+ isLoggedIn=true
9
+ mainClass="my-account"
10
+ switch-vat=true
11
+ }}
12
+ {{#content "heading"}}
13
+ {{> notifications
14
+ notification-page.info-message
15
+ text=my_account.installer.bannerText
16
+ }}
17
+ {{/content}}
18
+ {{#content "main"}}
19
+ <div class="container">
20
+ <div class="row">
21
+ <div class="col-12">
22
+ {{> my-account/mobile-nav my-account-menu-new
23
+ customIcon=true
24
+ menu=my_account.installer.menu
25
+ active-index=0
26
+ page-name=my_account.installer.menu.[0].title
27
+ }}
28
+ </div>
29
+ </div>
30
+ </div>
31
+ <div class="account-summary">
32
+ <div class="container">
33
+ <div class="row">
34
+ <div class="col-12">
35
+ <div class="account-summary__wrapper">
36
+ {{> my-account/greetings
37
+ name=my_account.user.name
38
+ subtitle=my_account.user.email
39
+ }}
40
+ {{> my-account/discount
41
+ discountSrc=my_account.installer.discount
42
+ installer=true
43
+ title="In-store discount"
44
+ code=my_account.discount
45
+ customIcon=my_account.installer.icons.installer
46
+ }}
47
+ {{> my-account/clipboard-code-card
48
+ mod="trade-pro-id"
49
+ customIcon=my_account.installer.icons.installer
50
+ title="TradePro ID"
51
+ code=my_account.tradeProId
52
+ }}
53
+ {{> my-account/clipboard-code-card
54
+ mod="discount-code"
55
+ icon="fas fa-badge-percent"
56
+ title="Online discount code"
57
+ code=my_account.installer.discountCode
58
+ }}
59
+ </div>
60
+ {{> my-account/active-orders/list-orders
61
+ switch-vat=true
62
+ title=my_account.installer.activeOrders.sectionTitle
63
+ linkText='View all orders'
64
+ orders=my_account.installer.activeOrders.orderList
65
+ }}
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <div class="container">
71
+ <div class="row">
72
+ <div class="col-12">
73
+ {{> my-account/menu-items
74
+ items=my_account.installer.menu
75
+ }}
76
+ </div>
77
+ </div>
78
+ </div>
79
+ <div class="account-actions">
80
+ <div class="container">
81
+ <div class="row">
82
+ <div class="col-12">
83
+ {{> my-account/user-account-actions mod="d-sm-none"}}
84
+ {{> my-account/contact-us contacts=my_account.contacts}}
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ {{/content}}
90
+ {{#content "foot" mode="append"}}
91
+ <script defer src="./js/my-account.min.js"></script>
92
+ {{/content}}
93
+ {{/extend}}