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.
- package/build/css/category-main.css +1 -1
- package/build/css/emulation.css +1 -1
- package/build/css/homepage-main.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/my-account-main-v2.css +1 -0
- package/build/css/my-account-main.css +1 -1
- package/build/css/pages/checkout-new.css +1 -1
- package/build/css/pages/checkout.css +1 -1
- package/build/css/pages/my-account-v2.css +1 -0
- package/build/css/pages/my-account.css +1 -1
- package/build/css/pages/page_checkout_delivery-new.css +1 -1
- package/build/css/pages/page_personal-details.css +1 -0
- package/build/css/pdp-main-before-combine.css +1 -1
- package/build/css/pdp-main-non-critical.css +1 -1
- package/build/css/pdp-main.css +1 -1
- package/build/css/plp-main.css +1 -1
- package/build/css/store-locator-main.css +1 -1
- package/build/img/placeholders/discount-sm-15.jpg +0 -0
- package/build/img/placeholders/discount-sm.png +0 -0
- package/build/js/account-members.min.js +1 -1
- package/build/js/basket.min.js +1 -1
- package/build/js/bundle.min.js +1 -1
- package/build/js/checkout.min.js +1 -1
- package/build/js/emulation.min.js +74 -21
- package/build/js/merged-checkout.min.js +1 -1
- package/build/js/my-account.min.js +1 -0
- package/build/js/page/my-account.js +51 -0
- package/build/js/page/personal-details.js +217 -0
- package/build/js/personal-details.min.js +1 -0
- package/build/js/project-list.min.js +1 -1
- package/package.json +1 -1
- package/src/components/account-families/actions-bar.hbs +3 -0
- package/src/components/aside-nav2.hbs +1 -1
- package/src/components/banner-news.hbs +8 -0
- package/src/components/date-selection.hbs +46 -59
- package/src/components/delivery-types.hbs +18 -38
- package/src/components/my-account/active-orders/consignment-info.hbs +11 -0
- package/src/components/my-account/active-orders/header.hbs +4 -0
- package/src/components/my-account/active-orders/list-orders.hbs +9 -0
- package/src/components/my-account/active-orders/order-details.hbs +18 -0
- package/src/components/my-account/active-orders/order-header.hbs +7 -0
- package/src/components/my-account/active-orders/order.hbs +20 -0
- package/src/components/my-account/active-orders/shipment-detail.hbs +13 -0
- package/src/components/my-account/barcode.hbs +17 -0
- package/src/components/my-account/clipboard-code-card.hbs +16 -0
- package/src/components/my-account/contact-us.hbs +23 -0
- package/src/components/my-account/discount.hbs +11 -0
- package/src/components/my-account/greetings.hbs +7 -0
- package/src/components/my-account/leave-modal.hbs +13 -0
- package/src/components/my-account/menu-items.hbs +25 -0
- package/src/components/my-account/mobile-nav.hbs +46 -0
- package/src/components/my-account/personal-details-form.hbs +24 -0
- package/src/components/my-account/personal-details.hbs +14 -0
- package/src/components/my-account/user-account-actions.hbs +18 -0
- package/src/components/user-information-field.hbs +4 -0
- package/src/components.html +1 -0
- package/src/data/data_calendar.json +149 -0
- package/src/data/data_notification-page.json +4 -0
- package/src/data/my-account/data_my-account.json +469 -0
- package/src/data/my-account/data_personal-details.json +179 -0
- package/src/elements/dropdown.hbs +16 -5
- package/src/elements/form-row.hbs +1 -1
- package/src/img/placeholders/discount-sm-15.jpg +0 -0
- package/src/img/placeholders/discount-sm.png +0 -0
- package/src/js/components/date-selection.js +6 -20
- package/src/js/components/leave-event-v2.js +0 -0
- package/src/js/components/leave-event.js +10 -3
- package/src/js/emulation/date-selection.js +0 -21
- package/src/js/emulation/personal-details-local.js +73 -0
- package/src/js/page/my-account.js +51 -0
- package/src/js/page/personal-details.js +217 -0
- package/src/layouts/my-account-v2.hbs +27 -0
- package/src/layouts/my-account.hbs +1 -1
- package/src/page_checkout_delivery-details-v2-asm.html +3 -3
- package/src/page_checkout_delivery-details-v2-calendar-message.html +1 -1
- package/src/page_checkout_delivery-details-v2-oos.html +1 -1
- package/src/page_checkout_delivery-details-v2-wisdom-not-available.html +2 -2
- package/src/page_checkout_delivery-details-v2-wisdom.html +2 -2
- package/src/page_checkout_delivery-details-with-loader-v2.html +1 -1
- package/src/page_checkout_delivery-details_guest-new.html +1 -1
- package/src/page_checkout_next-day-delivery-details.html +161 -0
- package/src/{page_checkout_delivery-details-v2.html → page_checkout_rapid-delivery-details.html} +14 -3
- package/src/page_discount_installer.html +7 -1
- package/src/page_marketing-preferences.html +7 -1
- package/src/page_my-account-installer.html +93 -0
- package/src/page_my-account-trade-pro.html +91 -0
- package/src/page_my-account.html +56 -59
- package/src/page_my-account_address-book.html +8 -2
- package/src/page_my-account_order-history.html +8 -3
- package/src/page_my-account_personal-details.html +7 -1
- package/src/page_personal-details-installer.html +52 -0
- package/src/page_personal-details.html +52 -0
- package/src/page_tradePro_discount.html +8 -2
- package/src/page_tradePro_rewards.html +7 -1
- package/src/partials/breadcrumbs.hbs +27 -8
- package/src/partials/head.hbs +5 -1
- package/src/partials/header.hbs +68 -49
- package/src/partials/main-nav.hbs +17 -9
- package/src/scss/components/_aside-nav2.scss +18 -0
- package/src/scss/components/_date-selection-add-new-styles.scss +78 -19
- package/src/scss/components/_date-selection.scss +30 -215
- package/src/scss/components/my-account/_consignment-info.scss +46 -0
- package/src/scss/components/my-account/_contacts.scss +116 -0
- package/src/scss/components/my-account/_menu.scss +215 -0
- package/src/scss/components/my-account/_mobile-nav.scss +130 -0
- package/src/scss/components/my-account/_order.scss +112 -0
- package/src/scss/components/my-account/_shipment.scss +92 -0
- package/src/scss/emulation.scss +0 -24
- package/src/scss/helpers/_variables.scss +3 -1
- package/src/scss/my-account-main-v2.scss +32 -0
- package/src/scss/pages/checkout-new.scss +51 -0
- package/src/scss/pages/my-account-v2.scss +570 -0
- package/src/scss/pages/my-account.scss +1 -0
- package/src/scss/pages/page_checkout_delivery-new.scss +2 -1
- package/src/scss/pages/page_paint-mixing-error.scss +1 -1
- package/src/scss/pages/page_personal-details.scss +249 -0
- package/src/scss/partials/_header.scss +30 -0
- package/src/scss/partials/_main-nav.scss +6 -2
- package/src/sitemap.html +44 -66
- package/src/components/calendar-time-table-v2.hbs +0 -3
- package/src/components/calendar-time-table.hbs +0 -3
- package/src/components/date-selection-v2.hbs +0 -106
- package/src/components/delivery-selection.hbs +0 -11
- package/src/components/delivery-types-v2.hbs +0 -17
- package/src/page_checkout_delivery-address.html +0 -70
- package/src/page_checkout_delivery-details-ASM.html +0 -251
- package/src/page_checkout_delivery-details-oos-partially.html +0 -215
- package/src/page_checkout_delivery-details-oos.html +0 -232
- package/src/page_checkout_delivery-details-with-loader.html +0 -220
- package/src/page_checkout_delivery-details.html +0 -221
- package/src/page_checkout_delivery-details_guest.html +0 -198
- 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>
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
28
|
<div class="component component-date-selection">
|
|
29
|
-
{{> date-selection
|
|
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}}
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
</div>
|
|
35
35
|
|
|
36
36
|
<div class="component component-date-selection">
|
|
37
|
-
{{> date-selection
|
|
38
|
-
{{> date-selection
|
|
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
|
|
35
|
-
{{> date-selection
|
|
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]}}
|
|
@@ -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
|
+
|
package/src/{page_checkout_delivery-details-v2.html → page_checkout_rapid-delivery-details.html}
RENAMED
|
@@ -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
|
|
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}}
|