wickes-css2 2.105.0-develop.2 → 2.105.0-gift-cards.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.
- package/Readme.md +4 -2
- package/build/css/components/checkout-payment-details-v2.css +1 -1
- package/build/css/main.css +1 -1
- package/build/css/pages/checkout-new.css +1 -1
- package/build/css/pages/page_checkout_delivery-new.css +1 -1
- package/build/img/giftcard.svg +28 -0
- package/build/js/account-members.min.js +1 -1
- package/build/js/add-project-list-id.min.js +1 -1
- package/build/js/address-book.min.js +1 -1
- package/build/js/basket.min.js +2 -2
- package/build/js/bundle.min.js +1 -1
- package/build/js/change-password.min.js +1 -1
- package/build/js/checkout.min.js +2 -2
- package/build/js/emulation.min.js +291 -16
- package/build/js/general.bundle.min.js +1 -1
- package/build/js/gift-cards.min.js +1 -0
- package/build/js/kitchen/kitchen-plp.min.js +1 -1
- package/build/js/merged-checkout.min.js +2 -2
- package/build/js/page/basket-v2.js +2 -0
- package/build/js/page/components/billie-modal.js +31 -0
- package/build/js/page/components/gift-cards.js +915 -0
- package/build/js/page/components/order-summary.js +42 -25
- package/build/js/page/components/toggle-password-visibility.js +22 -0
- package/build/js/page/utils/gift-cards-utils.js +188 -0
- package/build/js/page/utils/input-handling.js +92 -0
- package/build/js/page/utils/show-hide-input.js +28 -0
- package/build/js/page/utils/validation.js +46 -1
- package/build/js/pdp.bundle.min.js +1 -1
- package/build/js/personal-details.min.js +1 -1
- package/build/js/plp.bundle.min.js +1 -1
- package/build/js/project-list.min.js +44 -1
- package/build/js/quiz.min.js +1 -1
- package/build/js/track-my-order.min.js +1 -1
- package/package.json +5 -3
- package/src/components/checkout-payment-details-v2.hbs +3 -2
- package/src/components/generate-project-id.hbs +1 -1
- package/src/components/gift-cards-hint.hbs +9 -0
- package/src/components/gift-cards.hbs +90 -0
- package/src/components/giftcard-chip.hbs +23 -0
- package/src/components/giftcard-summary.hbs +6 -0
- package/src/components/shopping-list-with-share-list-v2.hbs +28 -10
- package/src/components/shopping-list.hbs +5 -5
- package/src/elements/form-row.hbs +1 -1
- package/src/elements/input.hbs +31 -2
- package/src/img/giftcard.svg +28 -0
- package/src/js/components/general/notification.js +2 -1
- package/src/js/components/pdp-billie-modal-scroll-reset.js +53 -0
- package/src/js/emulation/billie-modal.js +17 -0
- package/src/js/emulation/checkout-data.js +35 -0
- package/src/js/emulation/checkout-payment-details.js +25 -16
- package/src/js/emulation/forms.js +7 -0
- package/src/js/emulation/gift-cards.js +205 -0
- package/src/js/page/basket-v2.js +2 -0
- package/src/js/page/components/billie-modal.js +31 -0
- package/src/js/page/components/gift-cards.js +915 -0
- package/src/js/page/components/order-summary.js +42 -25
- package/src/js/page/components/toggle-password-visibility.js +22 -0
- package/src/js/page/utils/gift-cards-utils.js +188 -0
- package/src/js/page/utils/input-handling.js +92 -0
- package/src/js/page/utils/show-hide-input.js +28 -0
- package/src/js/page/utils/validation.js +46 -1
- package/src/layouts/checkout.hbs +1 -5
- package/src/page_my-account_change-password.html +1 -0
- package/src/page_my-shopping-list-hide-download.html +1 -1
- package/src/page_payment-details-with-gift-card.html +8 -5
- package/src/page_project-list-with-new-share-popup-android.html +14 -0
- package/src/page_project-list-with-new-share-popup-ios.html +14 -0
- package/src/scss/components/_gift-cards.scss +360 -0
- package/src/scss/components/_shared-shopping-list.scss +22 -0
- package/src/scss/components/_shopping-list.scss +18 -8
- package/src/scss/components/checkout-payment-details-v2.scss +2 -0
- package/src/scss/pages/_checkout-confirmation-new.scss +49 -21
- package/src/scss/pages/page_checkout_delivery-new.scss +26 -0
- package/src/sitemap.html +9 -1
- package/src/js/components/toggle-password-visibility.js +0 -58
|
@@ -3472,6 +3472,14 @@ Wick.BigWinsProto = function () {
|
|
|
3472
3472
|
return ORDER[index];
|
|
3473
3473
|
}
|
|
3474
3474
|
|
|
3475
|
+
function resetBillieModalScroll($modal) {
|
|
3476
|
+
const $body = $modal.find(".modal-body");
|
|
3477
|
+
const $content = $modal.find(".modal-content");
|
|
3478
|
+
|
|
3479
|
+
$body.scrollTop(0);
|
|
3480
|
+
$content.attr("data-scroll-state", "top");
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3475
3483
|
function applyBillieTerms(terms) {
|
|
3476
3484
|
const copy = COPY[terms] || COPY["30"];
|
|
3477
3485
|
const $modal = $("#billieLearnMoreModal");
|
|
@@ -3481,6 +3489,15 @@ Wick.BigWinsProto = function () {
|
|
|
3481
3489
|
$modal.attr("data-billie-terms", terms);
|
|
3482
3490
|
}
|
|
3483
3491
|
|
|
3492
|
+
$(document).on("shown.bs.modal", "#billieLearnMoreModal", function () {
|
|
3493
|
+
const $modal = $(this);
|
|
3494
|
+
requestAnimationFrame(() => resetBillieModalScroll($modal));
|
|
3495
|
+
});
|
|
3496
|
+
|
|
3497
|
+
$(document).on("hidden.bs.modal", "#billieLearnMoreModal", function () {
|
|
3498
|
+
resetBillieModalScroll($(this));
|
|
3499
|
+
});
|
|
3500
|
+
|
|
3484
3501
|
$(document).on("click", ".billie__link", function (e) {
|
|
3485
3502
|
e.preventDefault();
|
|
3486
3503
|
|
|
@@ -3528,6 +3545,42 @@ Wick.checkLocalEnv = (function () {
|
|
|
3528
3545
|
}
|
|
3529
3546
|
})();
|
|
3530
3547
|
|
|
3548
|
+
var Wick = Wick || {};
|
|
3549
|
+
Wick.CheckoutData = (function () {
|
|
3550
|
+
return {
|
|
3551
|
+
//TODO: update after BE confirmation
|
|
3552
|
+
successGiftCardData: {
|
|
3553
|
+
"subTotal": "£100.00",
|
|
3554
|
+
"deliveryCost": "£4.00",
|
|
3555
|
+
"freeDelivery": false,
|
|
3556
|
+
"clickAndCollectCost": "FREE",
|
|
3557
|
+
"totalForDelivery": "£69.00",
|
|
3558
|
+
"totalForClickAndCollect": "FREE",
|
|
3559
|
+
"total": "£0.00",
|
|
3560
|
+
"vat": "£11.17",
|
|
3561
|
+
"deliveryOrder": true,
|
|
3562
|
+
"clickAndCollectOrder": false,
|
|
3563
|
+
"discountTotal": "£2.00",
|
|
3564
|
+
"giftCardApplied": "-£100.00",
|
|
3565
|
+
"discounts": [
|
|
3566
|
+
"Spend over £10 and get £2 fixed discount"
|
|
3567
|
+
],
|
|
3568
|
+
"promotionsInfo": [
|
|
3569
|
+
{
|
|
3570
|
+
"description": "Spend over £10 and get £2 fixed discount",
|
|
3571
|
+
"usedCouponCode": "RT_02"
|
|
3572
|
+
}
|
|
3573
|
+
],
|
|
3574
|
+
"subTotalWithDeliveryCost": "£69.00",
|
|
3575
|
+
"net": false,
|
|
3576
|
+
"subtotalWithDeliveryAndDiscounts": "£67.00",
|
|
3577
|
+
"discountAmounts": [],
|
|
3578
|
+
"goodsTotalWithoutDiscount": "£65.00",
|
|
3579
|
+
"charityPrice": ""
|
|
3580
|
+
},
|
|
3581
|
+
}
|
|
3582
|
+
})();
|
|
3583
|
+
|
|
3531
3584
|
var Wick = Wick || {};
|
|
3532
3585
|
Wick.DeliveryDetails = (function () {
|
|
3533
3586
|
var $page = $('.page_checkout-delivery-details');
|
|
@@ -3566,26 +3619,35 @@ Wick.DeliveryDetails = (function () {
|
|
|
3566
3619
|
|
|
3567
3620
|
var Wick = Wick || {};
|
|
3568
3621
|
|
|
3569
|
-
Wick.PaymentDetails = (function() {
|
|
3622
|
+
Wick.PaymentDetails = (function () {
|
|
3570
3623
|
var $btnEnterDetails = $('.btn-enter-details'),
|
|
3571
|
-
$form = $btnEnterDetails.parents('form'),
|
|
3572
3624
|
isGuestPage = $('.page_checkout-payment-details_guest').length;
|
|
3573
3625
|
|
|
3574
|
-
function bindEvents() {
|
|
3575
|
-
$btnEnterDetails.on('click', function() {
|
|
3576
|
-
|
|
3577
|
-
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3626
|
+
function bindEvents () {
|
|
3627
|
+
$btnEnterDetails.on('click', function (e) {
|
|
3628
|
+
e.preventDefault();
|
|
3629
|
+
var $scope = $(this).closest('form');
|
|
3630
|
+
if (!$scope.length) $scope = $(this).closest('.billing-address');
|
|
3631
|
+
if (!$scope.length) $scope = $('.billing-address');
|
|
3632
|
+
var nameVal= ($scope.find('#card-name').val() || '').trim();
|
|
3633
|
+
var finderVal= ($scope.find('#first-line-address').val() || '').trim();
|
|
3634
|
+
var manualLine1= ($scope.find('#address-line-1').val() || '').trim();
|
|
3635
|
+
var manualTown= ($scope.find('#town-city').val() || '').trim();
|
|
3636
|
+
var manualPost= ($scope.find('#postcode_additional').val() || '').trim();
|
|
3637
|
+
var addressFinderOk = finderVal.length > 0;
|
|
3638
|
+
var addressManualOk = manualLine1 && manualTown && manualPost;
|
|
3639
|
+
|
|
3640
|
+
if (nameVal && (addressFinderOk || addressManualOk)) {
|
|
3641
|
+
var $details = $('.checkout-payment-details__card-details');
|
|
3642
|
+
$details.removeClass('checkout-payment-details__card-details_hidden');
|
|
3643
|
+
$('html, body').animate({ scrollTop: $details.offset().top - 15 }, 700);
|
|
3644
|
+
return;
|
|
3645
|
+
}
|
|
3646
|
+
|
|
3647
|
+
var formEl = $scope.closest('form').get(0) || $scope.get(0);
|
|
3648
|
+
if (formEl && Wick.Forms && Wick.Forms.showValidationErrors) {
|
|
3649
|
+
Wick.Forms.showValidationErrors(formEl);
|
|
3586
3650
|
}
|
|
3587
|
-
Wick.Forms.showValidationErrors($form[0]);
|
|
3588
|
-
return false;
|
|
3589
3651
|
});
|
|
3590
3652
|
|
|
3591
3653
|
$('.checkout-payment-details__card-details').on('submit', function() {
|
|
@@ -4117,6 +4179,10 @@ Wick.Forms = (function() {
|
|
|
4117
4179
|
|
|
4118
4180
|
var showValidationErrors = function(form, errorMsg) {
|
|
4119
4181
|
var $form = $(form);
|
|
4182
|
+
var $rows = $form.find(fieldRow).not('[data-no-global-validation]');
|
|
4183
|
+
if (!$rows.length) return;
|
|
4184
|
+
$rows.find('.form-row__error').remove();
|
|
4185
|
+
|
|
4120
4186
|
if (!$form.hasClass(formInvalid)) {
|
|
4121
4187
|
$form.find('.form-row__error').remove();
|
|
4122
4188
|
var $rows = $form.find(fieldRow).filter(function() {
|
|
@@ -4124,8 +4190,11 @@ Wick.Forms = (function() {
|
|
|
4124
4190
|
});
|
|
4125
4191
|
|
|
4126
4192
|
$rows.append(validationError(errorMsg)).addClass(rowValidationError);
|
|
4193
|
+
$form.addClass(formInvalid);
|
|
4127
4194
|
}
|
|
4128
4195
|
|
|
4196
|
+
$rows.append(validationError(errorMsg)).addClass(rowValidationError);
|
|
4197
|
+
|
|
4129
4198
|
var $firstMsg = $form.find(fieldRow).filter(function() {
|
|
4130
4199
|
return $(this).is(':visible');
|
|
4131
4200
|
}).first();
|
|
@@ -4459,6 +4528,212 @@ $(document).ready(function () {
|
|
|
4459
4528
|
Wick.GenerateProjectIdLocal.init();
|
|
4460
4529
|
});
|
|
4461
4530
|
|
|
4531
|
+
(function () {
|
|
4532
|
+
if (!window.Wick) return;
|
|
4533
|
+
|
|
4534
|
+
const M_OK = '0000000000000001';
|
|
4535
|
+
const M_ZERO_BALANCE = '0000000000000000';
|
|
4536
|
+
const M_NOT_RECOGNISED = '1111111111111111';
|
|
4537
|
+
const M_LOCKED = '2222222222222222';
|
|
4538
|
+
const M_MERCHANT_ISSUE = '3333333333333333';
|
|
4539
|
+
const M_EXCHANGE = '4040404040404040';
|
|
4540
|
+
const M_EXPIRED = '4444444444444444';
|
|
4541
|
+
const M_INVALID = '5555555555555555';
|
|
4542
|
+
const M_ADDED = '6666666666666666';
|
|
4543
|
+
const M_CONFIG_PROBLEM = '9999999999999999';
|
|
4544
|
+
|
|
4545
|
+
const M_PAY_ERR_101 = '7777777777777101';
|
|
4546
|
+
const M_PAY_ERR_102 = '7777777777777102';
|
|
4547
|
+
const M_PAY_ERR_103 = '7777777777777103';
|
|
4548
|
+
|
|
4549
|
+
const PAY_ERROR_CARD_MAP = {
|
|
4550
|
+
[M_PAY_ERR_101]: 101,
|
|
4551
|
+
[M_PAY_ERR_102]: 102,
|
|
4552
|
+
[M_PAY_ERR_103]: 103,
|
|
4553
|
+
};
|
|
4554
|
+
|
|
4555
|
+
const GIFT_CARDS_LIMIT = 3;
|
|
4556
|
+
const BASE_ORDER_TOTAL = 300.00;
|
|
4557
|
+
|
|
4558
|
+
let PAY_ERROR_CODE;
|
|
4559
|
+
|
|
4560
|
+
const mock = {
|
|
4561
|
+
orderTotal: BASE_ORDER_TOTAL,
|
|
4562
|
+
giftCardTotal: 0.00,
|
|
4563
|
+
giftCards: [],
|
|
4564
|
+
};
|
|
4565
|
+
|
|
4566
|
+
const toMasked = (num) => `************${String(num || '').slice(-5)}`;
|
|
4567
|
+
|
|
4568
|
+
function recomputeTotalsAndOrder() {
|
|
4569
|
+
mock.giftCardTotal = mock.giftCards.reduce((sum, c) => sum + Number(c.amountToRedeem || 0), 0);
|
|
4570
|
+
const remaining = Math.max(0, BASE_ORDER_TOTAL - mock.giftCardTotal);
|
|
4571
|
+
mock.orderTotal = Number(remaining.toFixed(2));
|
|
4572
|
+
}
|
|
4573
|
+
|
|
4574
|
+
function applyWithClamp(requestedAmount) {
|
|
4575
|
+
const remaining = Math.max(0, BASE_ORDER_TOTAL - mock.giftCardTotal);
|
|
4576
|
+
const applied = Math.min(Number(requestedAmount || 0), remaining);
|
|
4577
|
+
return Number(applied.toFixed(2));
|
|
4578
|
+
}
|
|
4579
|
+
|
|
4580
|
+
function successPayload() {
|
|
4581
|
+
return {
|
|
4582
|
+
orderTotal: mock.orderTotal,
|
|
4583
|
+
giftCardTotal: mock.giftCardTotal,
|
|
4584
|
+
giftCards: mock.giftCards.slice()
|
|
4585
|
+
};
|
|
4586
|
+
}
|
|
4587
|
+
|
|
4588
|
+
function getGiftCardErrorCode(giftCardNumber) {
|
|
4589
|
+
switch (giftCardNumber) {
|
|
4590
|
+
case M_NOT_RECOGNISED:
|
|
4591
|
+
return 10;
|
|
4592
|
+
case M_LOCKED:
|
|
4593
|
+
return 16;
|
|
4594
|
+
case M_MERCHANT_ISSUE:
|
|
4595
|
+
return 20;
|
|
4596
|
+
case M_EXCHANGE:
|
|
4597
|
+
return 40;
|
|
4598
|
+
case M_EXPIRED:
|
|
4599
|
+
return 60;
|
|
4600
|
+
case M_INVALID:
|
|
4601
|
+
return 99;
|
|
4602
|
+
case M_ADDED:
|
|
4603
|
+
return 89;
|
|
4604
|
+
case M_CONFIG_PROBLEM:
|
|
4605
|
+
return -1;
|
|
4606
|
+
default:
|
|
4607
|
+
return null;
|
|
4608
|
+
}
|
|
4609
|
+
}
|
|
4610
|
+
|
|
4611
|
+
function addGiftCardMock(giftCardNumber) {
|
|
4612
|
+
const errorCode = getGiftCardErrorCode(giftCardNumber);
|
|
4613
|
+
|
|
4614
|
+
if (Number.isFinite(errorCode)) {
|
|
4615
|
+
return Promise.reject({ code: errorCode });
|
|
4616
|
+
}
|
|
4617
|
+
|
|
4618
|
+
let requested;
|
|
4619
|
+
if (giftCardNumber === M_OK) {
|
|
4620
|
+
requested = 123.45;
|
|
4621
|
+
} else if (giftCardNumber === M_ZERO_BALANCE) {
|
|
4622
|
+
requested = 0;
|
|
4623
|
+
} else {
|
|
4624
|
+
requested = 50.00;
|
|
4625
|
+
}
|
|
4626
|
+
|
|
4627
|
+
if (mock.giftCards.length >= GIFT_CARDS_LIMIT) {
|
|
4628
|
+
return Promise.reject({ code: 20 });
|
|
4629
|
+
}
|
|
4630
|
+
|
|
4631
|
+
const beforeTotal = mock.giftCardTotal;
|
|
4632
|
+
const applied = applyWithClamp(requested);
|
|
4633
|
+
|
|
4634
|
+
mock.giftCards.push({
|
|
4635
|
+
id: (Date.now() + Math.random()).toString(36),
|
|
4636
|
+
maskedNumber: toMasked(giftCardNumber),
|
|
4637
|
+
amountToRedeem: applied,
|
|
4638
|
+
originalNumber: giftCardNumber,
|
|
4639
|
+
});
|
|
4640
|
+
|
|
4641
|
+
if (mock.giftCards.length === GIFT_CARDS_LIMIT) {
|
|
4642
|
+
const leftover = Math.max(0, BASE_ORDER_TOTAL - (beforeTotal + applied));
|
|
4643
|
+
if (leftover > 0) {
|
|
4644
|
+
const last = mock.giftCards[mock.giftCards.length - 1];
|
|
4645
|
+
last.amountToRedeem = Number((Number(last.amountToRedeem) + leftover).toFixed(2));
|
|
4646
|
+
}
|
|
4647
|
+
mock.giftCardTotal = BASE_ORDER_TOTAL;
|
|
4648
|
+
mock.orderTotal = 0;
|
|
4649
|
+
return Promise.resolve(successPayload());
|
|
4650
|
+
}
|
|
4651
|
+
|
|
4652
|
+
recomputeTotalsAndOrder();
|
|
4653
|
+
return Promise.resolve(successPayload());
|
|
4654
|
+
}
|
|
4655
|
+
|
|
4656
|
+
function removeGiftCardMock(index) {
|
|
4657
|
+
const beforeLen = mock.giftCards.length;
|
|
4658
|
+
if (index < 0 || index >= beforeLen) return Promise.reject({ code: 20 });
|
|
4659
|
+
|
|
4660
|
+
mock.giftCards.splice(index, 1);
|
|
4661
|
+
recomputeTotalsAndOrder();
|
|
4662
|
+
return Promise.resolve(successPayload());
|
|
4663
|
+
}
|
|
4664
|
+
|
|
4665
|
+
function anyPayErrorCardApplied() {
|
|
4666
|
+
for (const gc of mock.giftCards) {
|
|
4667
|
+
const code = PAY_ERROR_CARD_MAP[gc.originalNumber];
|
|
4668
|
+
if (Number.isFinite(code)) return code;
|
|
4669
|
+
}
|
|
4670
|
+
return undefined;
|
|
4671
|
+
}
|
|
4672
|
+
|
|
4673
|
+
function initGiftCardMock() {
|
|
4674
|
+
if (!$('.giftcard-row, .giftcard').length) return;
|
|
4675
|
+
|
|
4676
|
+
$(window).off(Wick.GiftCard.ADD_GIFT_CARD);
|
|
4677
|
+
$(window).off(Wick.GiftCard.REMOVE_GIFT_CARD);
|
|
4678
|
+
$(window).off(Wick.GiftCard.PAY_WITH_GIFT_CARD);
|
|
4679
|
+
|
|
4680
|
+
$(window).on(Wick.GiftCard.ADD_GIFT_CARD, function (e) {
|
|
4681
|
+
const payload = (e.detail && e.detail.payload) || {};
|
|
4682
|
+
const giftCardNumber = payload.giftCardNumber;
|
|
4683
|
+
setTimeout(function () {
|
|
4684
|
+
addGiftCardMock(giftCardNumber)
|
|
4685
|
+
.then(function (p) { e.detail.resolve(Object.assign({ code: 0 }, p)); })
|
|
4686
|
+
.catch(function (err) { e.detail.reject(err); });
|
|
4687
|
+
}, 1000);
|
|
4688
|
+
});
|
|
4689
|
+
|
|
4690
|
+
$(window).on(Wick.GiftCard.REMOVE_GIFT_CARD, function (e) {
|
|
4691
|
+
const payload = (e.detail && e.detail.payload) || {};
|
|
4692
|
+
const index = Number(payload.index);
|
|
4693
|
+
setTimeout(function () {
|
|
4694
|
+
removeGiftCardMock(index)
|
|
4695
|
+
.then(function (p) { e.detail.resolve(Object.assign({ code: 0 }, p)); })
|
|
4696
|
+
.catch(function (err) { e.detail.reject(err); });
|
|
4697
|
+
}, 1000);
|
|
4698
|
+
});
|
|
4699
|
+
|
|
4700
|
+
$(window).on(Wick.GiftCard.PAY_WITH_GIFT_CARD, function (e) {
|
|
4701
|
+
setTimeout(function () {
|
|
4702
|
+
const forcedErrorFromCard = anyPayErrorCardApplied();
|
|
4703
|
+
if (Number.isFinite(forcedErrorFromCard)) {
|
|
4704
|
+
return e.detail.reject({
|
|
4705
|
+
errorCode: forcedErrorFromCard,
|
|
4706
|
+
giftCards: mock.giftCards.slice(),
|
|
4707
|
+
});
|
|
4708
|
+
}
|
|
4709
|
+
|
|
4710
|
+
if (Number(mock.orderTotal) === 0) {
|
|
4711
|
+
e.detail.resolve({ url: 'page_checkout_confirmation-billie.html' });
|
|
4712
|
+
} else {
|
|
4713
|
+
const errorCode = Number.isFinite(PAY_ERROR_CODE) ? PAY_ERROR_CODE : undefined;
|
|
4714
|
+
e.detail.reject({
|
|
4715
|
+
errorCode,
|
|
4716
|
+
giftCards: mock.giftCards.slice(),
|
|
4717
|
+
});
|
|
4718
|
+
}
|
|
4719
|
+
}, 1000);
|
|
4720
|
+
});
|
|
4721
|
+
}
|
|
4722
|
+
|
|
4723
|
+
$(document).ready(function () {
|
|
4724
|
+
mock.giftCards = [];
|
|
4725
|
+
recomputeTotalsAndOrder();
|
|
4726
|
+
|
|
4727
|
+
Wick.GiftCard.init({
|
|
4728
|
+
giftCardsLimit: GIFT_CARDS_LIMIT,
|
|
4729
|
+
errorCode: PAY_ERROR_CODE,
|
|
4730
|
+
giftCards: mock.giftCards.slice()
|
|
4731
|
+
});
|
|
4732
|
+
});
|
|
4733
|
+
|
|
4734
|
+
$(document).ready(initGiftCardMock);
|
|
4735
|
+
})();
|
|
4736
|
+
|
|
4462
4737
|
const suggestions = [
|
|
4463
4738
|
{
|
|
4464
4739
|
value: 'lintel',
|