thm-p3-configurator 0.0.460 → 0.0.463
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/dist/public/assets/images/logo-th-icon.png +0 -0
- package/dist/public/assets/images/logo-th-primary.png +0 -0
- package/dist/public/assets/images/logo-thl-icon.png +0 -0
- package/dist/public/assets/images/logo-thl-primary.png +0 -0
- package/dist/public/assets/images/logo-wb-icon.png +0 -0
- package/dist/public/assets/images/logo-wb-primary.png +0 -0
- package/dist/src/shared/__pages__/internal/InternalSingleOrderPage.js +21 -8
- package/dist/src/shared/__style__/_variables-external.scss +6 -0
- package/dist/src/shared/__style__/_variables.scss +6 -0
- package/dist/src/shared/__style__/components/card/_card-horizontal.scss +1 -1
- package/dist/src/shared/__style__/components/cart/_cart-table.scss +1 -1
- package/dist/src/shared/__style__/configurator/_configurator.scss +100 -0
- package/package.json +1 -1
- package/dist/src/shared/App.js +0 -116
- package/dist/src/shared/__api__/__tests__/queryKeyFactory.test.js +0 -150
- package/dist/src/shared/__api__/_dummyApi.js +0 -110
- package/dist/src/shared/__api__/authenticatedProxyApi.js +0 -338
- package/dist/src/shared/__api__/businessBranches.js +0 -18
- package/dist/src/shared/__api__/mutations.js +0 -881
- package/dist/src/shared/__api__/orderApi.js +0 -29
- package/dist/src/shared/__api__/publicProxyApi.js +0 -71
- package/dist/src/shared/__api__/queries.js +0 -1037
- package/dist/src/shared/__api__/queryKeyFactory.js +0 -161
- package/dist/src/shared/__components__/Buttons/LinkButton.js +0 -56
- package/dist/src/shared/__components__/Buttons/NavigationButton.js +0 -40
- package/dist/src/shared/__components__/Buttons/OutlinedButton.js +0 -63
- package/dist/src/shared/__components__/Buttons/PrimaryButton.js +0 -55
- package/dist/src/shared/__components__/Cards/Card.js +0 -38
- package/dist/src/shared/__components__/Cards/CardWide.js +0 -27
- package/dist/src/shared/__components__/Cards/ExpandableCard.js +0 -87
- package/dist/src/shared/__components__/Cards/TogglableCard.js +0 -68
- package/dist/src/shared/__components__/DangerAlert.js +0 -23
- package/dist/src/shared/__components__/EmptyState.js +0 -30
- package/dist/src/shared/__components__/Error.js +0 -66
- package/dist/src/shared/__components__/Form/CheckboxInput.js +0 -87
- package/dist/src/shared/__components__/Form/DatePickerInput.js +0 -127
- package/dist/src/shared/__components__/Form/DecimalInput.js +0 -106
- package/dist/src/shared/__components__/Form/DropdownInput.js +0 -219
- package/dist/src/shared/__components__/Form/ErrorMessage.js +0 -23
- package/dist/src/shared/__components__/Form/FormSteps.js +0 -64
- package/dist/src/shared/__components__/Form/LicensePlateInput.js +0 -117
- package/dist/src/shared/__components__/Form/MenuListWithSearchHint.js +0 -25
- package/dist/src/shared/__components__/Form/NumericInput.js +0 -182
- package/dist/src/shared/__components__/Form/RadioButtons.js +0 -93
- package/dist/src/shared/__components__/Form/RadioInput.js +0 -83
- package/dist/src/shared/__components__/Form/SearchableDropdownInput.js +0 -257
- package/dist/src/shared/__components__/Form/TextAreaInput.js +0 -91
- package/dist/src/shared/__components__/Form/TextInput.js +0 -97
- package/dist/src/shared/__components__/Form/TimePickerInput.js +0 -239
- package/dist/src/shared/__components__/Header.js +0 -44
- package/dist/src/shared/__components__/LocationsSelector/LocationAutoComplete.js +0 -229
- package/dist/src/shared/__components__/LocationsSelector/LocationClusteredMap.js +0 -127
- package/dist/src/shared/__components__/LocationsSelector/LocationClusteredTreeMarkers.js +0 -247
- package/dist/src/shared/__components__/LocationsSelector/LocationDetails.js +0 -295
- package/dist/src/shared/__components__/LocationsSelector/LocationInfo.js +0 -140
- package/dist/src/shared/__components__/LocationsSelector/LocationList.js +0 -190
- package/dist/src/shared/__components__/LocationsSelector/LocationListItem.js +0 -116
- package/dist/src/shared/__components__/LocationsSelector/LocationTreeMarker.js +0 -97
- package/dist/src/shared/__components__/LocationsSelector/index.js +0 -156
- package/dist/src/shared/__components__/Modal.js +0 -78
- package/dist/src/shared/__components__/Navbar.js +0 -82
- package/dist/src/shared/__components__/NavigationSteps.js +0 -143
- package/dist/src/shared/__components__/Pagination.js +0 -53
- package/dist/src/shared/__components__/ProductCard/ProductCardCheckbox.js +0 -38
- package/dist/src/shared/__components__/ProductCard/ProductCardDescription.js +0 -84
- package/dist/src/shared/__components__/ProductCard/ProductCardDiscountAlert.js +0 -57
- package/dist/src/shared/__components__/ProductCard/ProductCardImage.js +0 -28
- package/dist/src/shared/__components__/ProductCard/ProductCardPrice.js +0 -37
- package/dist/src/shared/__components__/ProductCard/ProductCardRibbon.js +0 -28
- package/dist/src/shared/__components__/ProductCard/ProductCardSpecifications.js +0 -77
- package/dist/src/shared/__components__/ProductCard/ProductCardUsps.js +0 -82
- package/dist/src/shared/__components__/ProductCard/index.js +0 -246
- package/dist/src/shared/__components__/ProductTable/ProductTableEditableRow.js +0 -66
- package/dist/src/shared/__components__/ProductTable/ProductTableHead.js +0 -32
- package/dist/src/shared/__components__/ProductTable/ProductTableSection.js +0 -25
- package/dist/src/shared/__components__/ProductTable/ProductTableSectionTotal.js +0 -46
- package/dist/src/shared/__components__/ProductTable/ProductTableStaticRow.js +0 -47
- package/dist/src/shared/__components__/ProductTable/ProductTableTotal.js +0 -41
- package/dist/src/shared/__components__/ProductTable/index.js +0 -127
- package/dist/src/shared/__components__/SingleOrderCartCard.js +0 -85
- package/dist/src/shared/__components__/SingleOrderProductCard.js +0 -387
- package/dist/src/shared/__components__/Spinners/FullPageSpinner.js +0 -73
- package/dist/src/shared/__components__/Spinners/InlineSpinner.js +0 -26
- package/dist/src/shared/__components__/Spinners/TextSpinner.js +0 -31
- package/dist/src/shared/__components__/UspsList.js +0 -27
- package/dist/src/shared/__components__/internal/InternalCustomerDetailsForm.js +0 -1090
- package/dist/src/shared/__constants__/__tests__/index.test.js +0 -38
- package/dist/src/shared/__constants__/cartTable.js +0 -35
- package/dist/src/shared/__constants__/cookiebot.js +0 -7
- package/dist/src/shared/__constants__/index.js +0 -410
- package/dist/src/shared/__constants__/sentry.js +0 -20
- package/dist/src/shared/__containers__/ANWBMembershipInput.js +0 -170
- package/dist/src/shared/__containers__/AppointmentForm.js +0 -551
- package/dist/src/shared/__containers__/BoardComputerCard.js +0 -140
- package/dist/src/shared/__containers__/BottomNavigationBar.js +0 -185
- package/dist/src/shared/__containers__/DiscountProductsSelector.js +0 -164
- package/dist/src/shared/__containers__/ExitIntentModal.js +0 -428
- package/dist/src/shared/__containers__/ExtraProductsOverview.js +0 -219
- package/dist/src/shared/__containers__/LicensePlateForm.js +0 -177
- package/dist/src/shared/__containers__/ManualSelectionForm.js +0 -277
- package/dist/src/shared/__containers__/ProductCartSide.js +0 -380
- package/dist/src/shared/__containers__/ProductDiscountCard.js +0 -169
- package/dist/src/shared/__containers__/ProductsCartOverview.js +0 -942
- package/dist/src/shared/__containers__/ProductsOverview.js +0 -515
- package/dist/src/shared/__containers__/QuestionsForm.js +0 -508
- package/dist/src/shared/__containers__/QuotationForm.js +0 -653
- package/dist/src/shared/__containers__/QuotationSuccessModal.js +0 -34
- package/dist/src/shared/__containers__/SentryWrapper.js +0 -60
- package/dist/src/shared/__containers__/StyleWrapper.js +0 -83
- package/dist/src/shared/__containers__/VehicleData.js +0 -218
- package/dist/src/shared/__containers__/internal/DirectVehicleSelectorModal.js +0 -125
- package/dist/src/shared/__containers__/internal/InternalAppointmentForm.js +0 -1791
- package/dist/src/shared/__containers__/internal/InternalAppointmentSuccessModal.js +0 -116
- package/dist/src/shared/__containers__/internal/InternalBranchSelectorModal.js +0 -449
- package/dist/src/shared/__containers__/internal/InternalCancelDossierEdit.js +0 -73
- package/dist/src/shared/__containers__/internal/InternalDiscountCodeSelector.js +0 -78
- package/dist/src/shared/__containers__/internal/InternalDiscountForm.js +0 -156
- package/dist/src/shared/__containers__/internal/InternalExtraPriceForm.js +0 -143
- package/dist/src/shared/__containers__/internal/InternalLicenseplateModal.js +0 -131
- package/dist/src/shared/__containers__/internal/InternalPriceCalculationSelector.js +0 -52
- package/dist/src/shared/__containers__/internal/InternalQuotationForm.js +0 -1078
- package/dist/src/shared/__containers__/internal/InternalQuotationSuccessModal.js +0 -114
- package/dist/src/shared/__containers__/internal/InternalSingleOrderCart.js +0 -110
- package/dist/src/shared/__containers__/internal/InternalSingleOrderFilters.js +0 -318
- package/dist/src/shared/__containers__/internal/InternalSingleOrderProductOverview.js +0 -198
- package/dist/src/shared/__containers__/internal/InternalSingleOrderSidebar.js +0 -21
- package/dist/src/shared/__containers__/internal/InternalSingleOrderSuccessModal.js +0 -57
- package/dist/src/shared/__containers__/internal/OrderTypeSelectorModal.js +0 -136
- package/dist/src/shared/__containers__/internal/index.js +0 -73
- package/dist/src/shared/__context__/ActiveMarkerContext.js +0 -44
- package/dist/src/shared/__context__/AuthRuntimeContext.js +0 -63
- package/dist/src/shared/__context__/AuthSessionContext.js +0 -187
- package/dist/src/shared/__context__/CountryContext.js +0 -63
- package/dist/src/shared/__context__/FormulaContext.js +0 -77
- package/dist/src/shared/__context__/OrderSessionContext.js +0 -1562
- package/dist/src/shared/__context__/ThemeContext.js +0 -57
- package/dist/src/shared/__helpers__/__tests__/articleSubgroup.test.js +0 -14
- package/dist/src/shared/__helpers__/__tests__/dossier.test.js +0 -82
- package/dist/src/shared/__helpers__/__tests__/product.test.js +0 -60
- package/dist/src/shared/__helpers__/__tests__/quotationFormSchema.test.js +0 -88
- package/dist/src/shared/__helpers__/__tests__/singleOrderArticleRules.test.js +0 -82
- package/dist/src/shared/__helpers__/__tests__/singleOrderCustomerDetails.test.js +0 -170
- package/dist/src/shared/__helpers__/__tests__/wijzigbaarGeplandeAfspraak.test.js +0 -30
- package/dist/src/shared/__helpers__/belgianConfiguratorInfo.js +0 -16
- package/dist/src/shared/__helpers__/cartTable.js +0 -449
- package/dist/src/shared/__helpers__/cookieManager.js +0 -44
- package/dist/src/shared/__helpers__/cookiebot.js +0 -30
- package/dist/src/shared/__helpers__/countryOptions.js +0 -89
- package/dist/src/shared/__helpers__/dossier.js +0 -374
- package/dist/src/shared/__helpers__/geolocation.js +0 -70
- package/dist/src/shared/__helpers__/image.js +0 -115
- package/dist/src/shared/__helpers__/index.js +0 -391
- package/dist/src/shared/__helpers__/makeAppointmentRoute.js +0 -10
- package/dist/src/shared/__helpers__/montageRate.js +0 -71
- package/dist/src/shared/__helpers__/openingHours.js +0 -211
- package/dist/src/shared/__helpers__/product.js +0 -290
- package/dist/src/shared/__helpers__/prospectTracking.js +0 -39
- package/dist/src/shared/__helpers__/queryClient.js +0 -23
- package/dist/src/shared/__helpers__/quotationFormSchema.js +0 -33
- package/dist/src/shared/__helpers__/singleOrderArticleRules.js +0 -54
- package/dist/src/shared/__helpers__/singleOrderArticles.js +0 -460
- package/dist/src/shared/__helpers__/singleOrderBranchSelector.js +0 -14
- package/dist/src/shared/__helpers__/singleOrderCartArticles.js +0 -79
- package/dist/src/shared/__helpers__/singleOrderCustomerDetails.js +0 -198
- package/dist/src/shared/__helpers__/singleOrderVehicleReceipt.js +0 -158
- package/dist/src/shared/__helpers__/ui.js +0 -39
- package/dist/src/shared/__helpers__/wijzigbaarGeplandeAfspraak.js +0 -15
- package/dist/src/shared/__hooks__/useAddressLookup.js +0 -62
- package/dist/src/shared/__hooks__/useArticleTypes.js +0 -23
- package/dist/src/shared/__hooks__/useAuthSession.js +0 -12
- package/dist/src/shared/__hooks__/useBranchTheme.js +0 -80
- package/dist/src/shared/__hooks__/useBreakpoint.js +0 -68
- package/dist/src/shared/__hooks__/useCheckEmailExists.js +0 -90
- package/dist/src/shared/__hooks__/useDebouncedPush.js +0 -23
- package/dist/src/shared/__hooks__/useIsSingleOrder.js +0 -15
- package/dist/src/shared/__hooks__/useIsTmg.js +0 -25
- package/dist/src/shared/__hooks__/useIsTowmotive.js +0 -23
- package/dist/src/shared/__hooks__/usePricingFormula.js +0 -30
- package/dist/src/shared/__hooks__/useSearchParam.js +0 -29
- package/dist/src/shared/__hooks__/useSessionContextReady.js +0 -20
- package/dist/src/shared/__hooks__/useUserLocation.js +0 -51
- package/dist/src/shared/__pages__/AppointmentPage.js +0 -42
- package/dist/src/shared/__pages__/AppointmentThanksPage.js +0 -59
- package/dist/src/shared/__pages__/ExtraProductsPage.js +0 -41
- package/dist/src/shared/__pages__/LicensePlatePage.js +0 -183
- package/dist/src/shared/__pages__/LocationsPage.js +0 -32
- package/dist/src/shared/__pages__/ManualSelectionPage.js +0 -168
- package/dist/src/shared/__pages__/NoProductsPage.js +0 -124
- package/dist/src/shared/__pages__/NotFoundPage.js +0 -27
- package/dist/src/shared/__pages__/OverviewPage.js +0 -79
- package/dist/src/shared/__pages__/ProductsPage.js +0 -48
- package/dist/src/shared/__pages__/QuotationPage.js +0 -38
- package/dist/src/shared/__pages__/QuotationThanksPage.js +0 -95
- package/dist/src/shared/__pages__/index.js +0 -222
- package/dist/src/shared/__pages__/internal/InternalAppointmentPage.js +0 -300
- package/dist/src/shared/__pages__/internal/InternalExtraProductsPage.js +0 -48
- package/dist/src/shared/__pages__/internal/InternalLicensePlatePage.js +0 -147
- package/dist/src/shared/__pages__/internal/InternalLocationsPage.js +0 -106
- package/dist/src/shared/__pages__/internal/InternalManualSelectionPage.js +0 -157
- package/dist/src/shared/__pages__/internal/InternalNoDossierPage.js +0 -96
- package/dist/src/shared/__pages__/internal/InternalNoProductsPage.js +0 -103
- package/dist/src/shared/__pages__/internal/InternalOverviewPage.js +0 -67
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -36,7 +36,9 @@ var _VehicleData = _interopRequireDefault(require("../../__containers__/VehicleD
|
|
|
36
36
|
var _FormulaContext = require("../../__context__/FormulaContext");
|
|
37
37
|
var _OrderSessionContext = require("../../__context__/OrderSessionContext");
|
|
38
38
|
var _helpers__ = require("../../__helpers__");
|
|
39
|
+
var _singleOrderBranchSelector = require("../../__helpers__/singleOrderBranchSelector");
|
|
39
40
|
var _singleOrderArticles = require("../../__helpers__/singleOrderArticles");
|
|
41
|
+
var _singleOrderWebshop = require("../../__helpers__/singleOrderWebshop");
|
|
40
42
|
var _singleOrderVehicleReceipt = require("../../__helpers__/singleOrderVehicleReceipt");
|
|
41
43
|
function _interopRequireDefault(e) {
|
|
42
44
|
return e && e.__esModule ? e : {
|
|
@@ -169,8 +171,8 @@ const InternalSingleOrderPage = () => {
|
|
|
169
171
|
if (singleOrderFormulaCode) {
|
|
170
172
|
formula = singleOrderFormulaCode;
|
|
171
173
|
}
|
|
172
|
-
const webshopFormula = (0,
|
|
173
|
-
const singleOrderCreationFormula = webshopFormula || (
|
|
174
|
+
const webshopFormula = (0, _singleOrderWebshop.getSingleOrderFormulaForWebshop)(webshop);
|
|
175
|
+
const singleOrderCreationFormula = webshopFormula || (0, _constants__.normalizeFormulaForOrderApi)(formula);
|
|
174
176
|
const themeClass = (0, _helpers__.getConfiguratorThemeClassByFormula)(formula);
|
|
175
177
|
const wrapperClass = "thm-configurator-wrapper thm-configurator-wrapper--offset ".concat(themeClass);
|
|
176
178
|
const {
|
|
@@ -206,8 +208,16 @@ const InternalSingleOrderPage = () => {
|
|
|
206
208
|
|
|
207
209
|
// Don't open modal if order was just successfully created
|
|
208
210
|
const orderJustCompleted = isCreateSingleOrderSuccess || isCreateShopifyOrderSuccess;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
if ((0, _singleOrderBranchSelector.shouldOpenSingleOrderVehicleSelector)({
|
|
212
|
+
selectedBranch,
|
|
213
|
+
isLoadingBranchById,
|
|
214
|
+
licensePlate,
|
|
215
|
+
model,
|
|
216
|
+
hasActiveFilters,
|
|
217
|
+
hasUserDismissedModal,
|
|
218
|
+
orderJustCompleted,
|
|
219
|
+
showProductOverview
|
|
220
|
+
})) {
|
|
211
221
|
setIsDirectSelectorModalOpen(true);
|
|
212
222
|
} else {
|
|
213
223
|
// Close modal if filters become active or we're on details page
|
|
@@ -215,7 +225,7 @@ const InternalSingleOrderPage = () => {
|
|
|
215
225
|
setIsDirectSelectorModalOpen(false);
|
|
216
226
|
}
|
|
217
227
|
}
|
|
218
|
-
}, [selectedBranch,
|
|
228
|
+
}, [selectedBranch, licensePlate, model, filters, isLoadingBranchById, isDirectSelectorModalOpen, hasUserDismissedModal, isCreateSingleOrderSuccess, isCreateShopifyOrderSuccess, showProductOverview]);
|
|
219
229
|
const resetOrderSession = (0, _react.useCallback)(() => {
|
|
220
230
|
dispatch({
|
|
221
231
|
type: _OrderSessionContext.orderSessionActions.RESET_SINGLE_ORDER
|
|
@@ -382,7 +392,7 @@ const InternalSingleOrderPage = () => {
|
|
|
382
392
|
anderAfleveradres: customerPayload.anderAfleveradres
|
|
383
393
|
});
|
|
384
394
|
const apiCart = (0, _singleOrderArticles.buildSingleOrderApiCart)(singleOrderCart);
|
|
385
|
-
if (webshop) {
|
|
395
|
+
if ((0, _singleOrderWebshop.isShopifyWebshop)(webshop)) {
|
|
386
396
|
var _response$data;
|
|
387
397
|
const response = await createShopifyOrder(_objectSpread({
|
|
388
398
|
cart: apiCart,
|
|
@@ -399,7 +409,7 @@ const InternalSingleOrderPage = () => {
|
|
|
399
409
|
}
|
|
400
410
|
return;
|
|
401
411
|
}
|
|
402
|
-
const preferredDateTime = appointment !== null && appointment !== void 0 && appointment.date && appointment !== null && appointment !== void 0 && appointment.time ? (0, _helpers__.parseDateAndTimeToTimestamp)(appointment === null || appointment === void 0 ? void 0 : appointment.date, appointment === null || appointment === void 0 ? void 0 : appointment.time) : null;
|
|
412
|
+
const preferredDateTime = !(0, _constants__.isLooseOrderOnlyFormula)(formula) && appointment !== null && appointment !== void 0 && appointment.date && appointment !== null && appointment !== void 0 && appointment.time ? (0, _helpers__.parseDateAndTimeToTimestamp)(appointment === null || appointment === void 0 ? void 0 : appointment.date, appointment === null || appointment === void 0 ? void 0 : appointment.time) : null;
|
|
403
413
|
const response = await createSingleOrder(_objectSpread({
|
|
404
414
|
cart: apiCart,
|
|
405
415
|
vehicle: vehiclePayload,
|
|
@@ -420,7 +430,10 @@ const InternalSingleOrderPage = () => {
|
|
|
420
430
|
entityId: createdEntityId
|
|
421
431
|
}), /*#__PURE__*/_react.default.createElement(_Header.default, {
|
|
422
432
|
title: "Losse producten bestellen",
|
|
423
|
-
subtitle: branchById !== null && branchById !== void 0 && branchById.name ? "
|
|
433
|
+
subtitle: branchById !== null && branchById !== void 0 && branchById.name ? "".concat((0, _singleOrderBranchSelector.getSingleOrderCustomerSelectorCopy)({
|
|
434
|
+
formula,
|
|
435
|
+
isSingleOrderPage: true
|
|
436
|
+
}).selectedPrefix, ": ").concat(branchById.name) : ''
|
|
424
437
|
}), showProductOverview && !isCreateSingleOrderSuccess && !isCreateShopifyOrderSuccess && /*#__PURE__*/_react.default.createElement(_DirectVehicleSelectorModal.default, {
|
|
425
438
|
isOpen: isDirectSelectorModalOpen,
|
|
426
439
|
onSubmit: filterModelOrLicenseplate,
|
|
@@ -19,6 +19,9 @@ $custom-secondary: #f8be2c87;
|
|
|
19
19
|
$custom-primary: #f8bd2c;
|
|
20
20
|
$tm-primary: #e30613;
|
|
21
21
|
$tm-secondary: #2d0104;
|
|
22
|
+
$wb-primary: #006cb7;
|
|
23
|
+
$thl-primary: #e30613;
|
|
24
|
+
$th-primary: #e4132c;
|
|
22
25
|
// TMG theme colors
|
|
23
26
|
$tmg-primary: #bba07a;
|
|
24
27
|
$tmg-secondary: #241f18;
|
|
@@ -43,6 +46,9 @@ $theme-colors: (
|
|
|
43
46
|
'custom-secondary': $custom-secondary,
|
|
44
47
|
'tm-primary': $tm-primary,
|
|
45
48
|
'tm-secondary': $tm-secondary,
|
|
49
|
+
'wb-primary': $wb-primary,
|
|
50
|
+
'thl-primary': $thl-primary,
|
|
51
|
+
'th-primary': $th-primary,
|
|
46
52
|
'tmg-primary': $tmg-primary,
|
|
47
53
|
'tmg-secondary': $tmg-secondary,
|
|
48
54
|
'secondary': $secondary,
|
|
@@ -19,6 +19,9 @@ $custom-secondary: #f8be2c87;
|
|
|
19
19
|
$custom-primary: #f8bd2c;
|
|
20
20
|
$tm-primary: #e30613;
|
|
21
21
|
$tm-secondary: #2d0104;
|
|
22
|
+
$wb-primary: #006cb7;
|
|
23
|
+
$thl-primary: #e30613;
|
|
24
|
+
$th-primary: #e4132c;
|
|
22
25
|
// TMG theme colors
|
|
23
26
|
$tmg-primary: #bba07a;
|
|
24
27
|
$tmg-secondary: #241f18;
|
|
@@ -43,6 +46,9 @@ $theme-colors: (
|
|
|
43
46
|
'custom-secondary': $custom-secondary,
|
|
44
47
|
'tm-primary': $tm-primary,
|
|
45
48
|
'tm-secondary': $tm-secondary,
|
|
49
|
+
'wb-primary': $wb-primary,
|
|
50
|
+
'thl-primary': $thl-primary,
|
|
51
|
+
'th-primary': $th-primary,
|
|
46
52
|
'tmg-primary': $tmg-primary,
|
|
47
53
|
'tmg-secondary': $tmg-secondary,
|
|
48
54
|
'secondary': $secondary,
|
|
@@ -3,6 +3,70 @@
|
|
|
3
3
|
@import './configurator-wrapper-steps';
|
|
4
4
|
@import './configurator-thc';
|
|
5
5
|
|
|
6
|
+
@mixin single-order-formula-theme($theme-color) {
|
|
7
|
+
.btn-primary {
|
|
8
|
+
background-color: $theme-color !important;
|
|
9
|
+
border-color: $theme-color !important;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.btn-outline-primary,
|
|
13
|
+
.btn-outline-theme-primary {
|
|
14
|
+
border-color: $theme-color;
|
|
15
|
+
color: $theme-color;
|
|
16
|
+
|
|
17
|
+
&:hover,
|
|
18
|
+
&.active {
|
|
19
|
+
background-color: $theme-color;
|
|
20
|
+
border-color: $theme-color;
|
|
21
|
+
color: $white;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.form-dots__item.active,
|
|
26
|
+
.form__radio-item.active,
|
|
27
|
+
.steps .btn.active,
|
|
28
|
+
.form__radio-default-item span::after,
|
|
29
|
+
.pagination .page-item.active .page-link,
|
|
30
|
+
.pagination .page-item:hover .page-link {
|
|
31
|
+
background-color: $theme-color;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.card-footer .btn-check,
|
|
35
|
+
.form__radio-item.active,
|
|
36
|
+
.form__radio-default-item span::before,
|
|
37
|
+
.dealer-item.active,
|
|
38
|
+
.card__link.card__horizontal.active,
|
|
39
|
+
.card__link.card__horizontal:hover,
|
|
40
|
+
.pagination .page-link,
|
|
41
|
+
.pagination .page-item.active .page-link,
|
|
42
|
+
.pagination .page-item:hover .page-link {
|
|
43
|
+
border-color: $theme-color !important;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.form-check--sm,
|
|
47
|
+
.form-check,
|
|
48
|
+
.form-label span,
|
|
49
|
+
.pagination .page-link,
|
|
50
|
+
.text-primary {
|
|
51
|
+
color: $theme-color !important;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.bg-primary {
|
|
55
|
+
background-color: $theme-color !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.navbar {
|
|
59
|
+
background-color: $theme-color !important;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.form-select {
|
|
63
|
+
&[class*='is-focused'] {
|
|
64
|
+
border-color: $theme-color !important;
|
|
65
|
+
box-shadow: 0 0 0 0.2rem rgba($theme-color, 0.25) !important;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
6
70
|
/* ==========================================================================
|
|
7
71
|
Configurator
|
|
8
72
|
========================================================================== */
|
|
@@ -327,6 +391,27 @@ Configurator TMG theme
|
|
|
327
391
|
}
|
|
328
392
|
}
|
|
329
393
|
|
|
394
|
+
@each $theme-name,
|
|
395
|
+
$theme-color in ('wb': $wb-primary, 'thl': $thl-primary, 'th': $th-primary)
|
|
396
|
+
{
|
|
397
|
+
.thm-configurator.#{$theme-name} {
|
|
398
|
+
@include single-order-formula-theme($theme-color);
|
|
399
|
+
|
|
400
|
+
.loader,
|
|
401
|
+
.hero {
|
|
402
|
+
background-color: $theme-color !important;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.thm-configurator-wrapper.#{$theme-name} {
|
|
407
|
+
@include single-order-formula-theme($theme-color);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.thm-configurator-home.#{$theme-name} {
|
|
411
|
+
background-color: $theme-color !important;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
330
415
|
/* ==========================================================================
|
|
331
416
|
Configurator Home
|
|
332
417
|
========================================================================== */
|
|
@@ -443,3 +528,18 @@ Configurator Form
|
|
|
443
528
|
@extend .my-3;
|
|
444
529
|
}
|
|
445
530
|
}
|
|
531
|
+
|
|
532
|
+
.thm-configurator.wb,
|
|
533
|
+
.thm-configurator.thl,
|
|
534
|
+
.thm-configurator.th {
|
|
535
|
+
.loader,
|
|
536
|
+
.hero,
|
|
537
|
+
.navbar {
|
|
538
|
+
background-color: #111 !important;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.hero__logo--webshop {
|
|
542
|
+
max-height: 4.5rem;
|
|
543
|
+
width: auto;
|
|
544
|
+
}
|
|
545
|
+
}
|
package/package.json
CHANGED
package/dist/src/shared/App.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.string.starts-with.js");
|
|
4
|
-
require("core-js/modules/es.weak-map.js");
|
|
5
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
6
|
-
require("core-js/modules/es.weak-map.js");
|
|
7
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
8
|
-
Object.defineProperty(exports, "__esModule", {
|
|
9
|
-
value: true
|
|
10
|
-
});
|
|
11
|
-
exports.default = void 0;
|
|
12
|
-
require("core-js/modules/es.string.starts-with.js");
|
|
13
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
require("react-datepicker/src/stylesheets/datepicker-cssmodules.scss");
|
|
15
|
-
var _reactGtmModule = _interopRequireDefault(require("react-gtm-module"));
|
|
16
|
-
var _reactHotLoader = require("react-hot-loader");
|
|
17
|
-
var _reactQuery = require("react-query");
|
|
18
|
-
var _reactRouterDom = require("react-router-dom");
|
|
19
|
-
var _Navbar = _interopRequireDefault(require("./__components__/Navbar"));
|
|
20
|
-
var _constants__ = require("./__constants__");
|
|
21
|
-
var _SentryWrapper = _interopRequireDefault(require("./__containers__/SentryWrapper"));
|
|
22
|
-
var _pages__ = _interopRequireDefault(require("./__pages__"));
|
|
23
|
-
var _TEST_ONLY_INTERNAL_ROUTES = _interopRequireDefault(require("./__pages__/internal/__TEST_ONLY_INTERNAL_ROUTES"));
|
|
24
|
-
var _StyleWrapper = _interopRequireDefault(require("./__containers__/StyleWrapper"));
|
|
25
|
-
var _InternalBranchSelectorModal = _interopRequireDefault(require("./__containers__/internal/InternalBranchSelectorModal"));
|
|
26
|
-
var _ActiveMarkerContext = require("./__context__/ActiveMarkerContext");
|
|
27
|
-
var _CountryContext = require("./__context__/CountryContext");
|
|
28
|
-
var _FormulaContext = require("./__context__/FormulaContext");
|
|
29
|
-
var _OrderSessionContext = require("./__context__/OrderSessionContext");
|
|
30
|
-
var _cookiebot = require("./__helpers__/cookiebot");
|
|
31
|
-
var _queryClient = _interopRequireDefault(require("./__helpers__/queryClient"));
|
|
32
|
-
var _Datalayer = require("./__services__/Datalayer");
|
|
33
|
-
var _Experiments = _interopRequireDefault(require("./__services__/Experiments"));
|
|
34
|
-
var _mainExternal = _interopRequireDefault(require("./__style__/main-external.scss"));
|
|
35
|
-
var _main = _interopRequireDefault(require("./__style__/main.scss"));
|
|
36
|
-
function _interopRequireDefault(e) {
|
|
37
|
-
return e && e.__esModule ? e : {
|
|
38
|
-
default: e
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function _getRequireWildcardCache(e) {
|
|
42
|
-
if ("function" != typeof WeakMap) return null;
|
|
43
|
-
var r = new WeakMap(),
|
|
44
|
-
t = new WeakMap();
|
|
45
|
-
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
46
|
-
return e ? t : r;
|
|
47
|
-
})(e);
|
|
48
|
-
}
|
|
49
|
-
function _interopRequireWildcard(e, r) {
|
|
50
|
-
if (!r && e && e.__esModule) return e;
|
|
51
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
52
|
-
default: e
|
|
53
|
-
};
|
|
54
|
-
var t = _getRequireWildcardCache(r);
|
|
55
|
-
if (t && t.has(e)) return t.get(e);
|
|
56
|
-
var n = {
|
|
57
|
-
__proto__: null
|
|
58
|
-
},
|
|
59
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
60
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
61
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
62
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
63
|
-
}
|
|
64
|
-
return n.default = e, t && t.set(e, n), n;
|
|
65
|
-
}
|
|
66
|
-
_reactGtmModule.default.initialize({
|
|
67
|
-
gtmId: APP_CONFIG.googleTagManagerId || 'GTM-TC67SZ4'
|
|
68
|
-
});
|
|
69
|
-
window.styles = APP_CONFIG.internal ? _main.default : _mainExternal.default;
|
|
70
|
-
const ROUTE_PROGRESS_EVENTS = {
|
|
71
|
-
'/configurator/trekhaakpakket': 'configurator_step_trekhaakpakket',
|
|
72
|
-
'/configurator/toebehoren': 'configurator_step_toebehoren',
|
|
73
|
-
'/configurator/overzicht': 'configurator_step_overzicht',
|
|
74
|
-
'/configurator/montagelocatie': 'configurator_step_montagelocatie',
|
|
75
|
-
'/configurator/gegevens': 'configurator_step_afspraak_maken',
|
|
76
|
-
'/configurator/offerte': 'configurator_step_offerte'
|
|
77
|
-
};
|
|
78
|
-
const ConfiguratorProgressTracker = () => {
|
|
79
|
-
const location = (0, _reactRouterDom.useLocation)();
|
|
80
|
-
const hasTrackedStartRef = (0, _react.useRef)(false);
|
|
81
|
-
const lastTrackedPathRef = (0, _react.useRef)('');
|
|
82
|
-
(0, _react.useEffect)(() => {
|
|
83
|
-
const {
|
|
84
|
-
pathname
|
|
85
|
-
} = location;
|
|
86
|
-
if (!hasTrackedStartRef.current && (pathname === '/' || pathname.startsWith('/configurator'))) {
|
|
87
|
-
hasTrackedStartRef.current = true;
|
|
88
|
-
(0, _Datalayer.pushToDataLayer)({
|
|
89
|
-
event: 'start_configurator'
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
const routeEvent = ROUTE_PROGRESS_EVENTS[pathname];
|
|
93
|
-
if (!routeEvent || lastTrackedPathRef.current === pathname) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
lastTrackedPathRef.current = pathname;
|
|
97
|
-
(0, _Datalayer.pushToDataLayer)({
|
|
98
|
-
event: routeEvent
|
|
99
|
-
});
|
|
100
|
-
}, [location]);
|
|
101
|
-
return null;
|
|
102
|
-
};
|
|
103
|
-
const App = () => {
|
|
104
|
-
(0, _cookiebot.listenToCookiebotEvents)();
|
|
105
|
-
(0, _react.useEffect)(() => {
|
|
106
|
-
(0, _Experiments.default)();
|
|
107
|
-
});
|
|
108
|
-
return /*#__PURE__*/_react.default.createElement(_SentryWrapper.default, null, /*#__PURE__*/_react.default.createElement(_FormulaContext.FormulaController, {
|
|
109
|
-
defaultFormula: APP_CONFIG.internal ? null : _constants__.CONFIGURATOR_FORMULAS.THM
|
|
110
|
-
}, /*#__PURE__*/_react.default.createElement(_CountryContext.CountryController, {
|
|
111
|
-
defaultCountry: APP_CONFIG.country
|
|
112
|
-
}, /*#__PURE__*/_react.default.createElement(_OrderSessionContext.OrderSessionController, null, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
|
|
113
|
-
client: _queryClient.default
|
|
114
|
-
}, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_reactHotLoader.AppContainer, null, /*#__PURE__*/_react.default.createElement(_ActiveMarkerContext.ActiveMarkerProvider, null, /*#__PURE__*/_react.default.createElement(_StyleWrapper.default, null, !APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_Navbar.default, null), APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_InternalBranchSelectorModal.default, null), !APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(ConfiguratorProgressTracker, null), /*#__PURE__*/_react.default.createElement(_pages__.default, null))))))))));
|
|
115
|
-
};
|
|
116
|
-
var _default = exports.default = App;
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.json.stringify.js");
|
|
4
|
-
require("core-js/modules/es.json.stringify.js");
|
|
5
|
-
var _queryKeyFactory = require("../queryKeyFactory");
|
|
6
|
-
describe('queryKeyFactory', () => {
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
global.APP_CONFIG = {
|
|
9
|
-
internal: true
|
|
10
|
-
};
|
|
11
|
-
});
|
|
12
|
-
it('normalizes buildYear into constructionYear without mutating input', () => {
|
|
13
|
-
const params = {
|
|
14
|
-
buildYear: '2024',
|
|
15
|
-
formula: 'THC',
|
|
16
|
-
skipFilters: false,
|
|
17
|
-
discountAmount: 0,
|
|
18
|
-
priceCalculationDate: '2026-03-09'
|
|
19
|
-
};
|
|
20
|
-
const normalized = (0, _queryKeyFactory.normalizeOrderParams)(params);
|
|
21
|
-
expect(normalized).toEqual({
|
|
22
|
-
constructionYear: '2024',
|
|
23
|
-
formula: 'THC',
|
|
24
|
-
skipFilters: false,
|
|
25
|
-
discountAmount: 0,
|
|
26
|
-
priceCalculationDate: '2026-03-09'
|
|
27
|
-
});
|
|
28
|
-
expect(params).toEqual({
|
|
29
|
-
buildYear: '2024',
|
|
30
|
-
formula: 'THC',
|
|
31
|
-
skipFilters: false,
|
|
32
|
-
discountAmount: 0,
|
|
33
|
-
priceCalculationDate: '2026-03-09'
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
it('preserves constructionYear when buildYear is absent', () => {
|
|
37
|
-
expect((0, _queryKeyFactory.normalizeOrderParams)({
|
|
38
|
-
formula: 'THC',
|
|
39
|
-
constructionYear: '02/2020 tot heden'
|
|
40
|
-
})).toEqual({
|
|
41
|
-
formula: 'THC',
|
|
42
|
-
constructionYear: '02/2020 tot heden'
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
it('drops priceCalculationDate for external mode', () => {
|
|
46
|
-
global.APP_CONFIG = {
|
|
47
|
-
internal: false
|
|
48
|
-
};
|
|
49
|
-
expect((0, _queryKeyFactory.normalizeOrderParams)({
|
|
50
|
-
formula: 'THC',
|
|
51
|
-
priceCalculationDate: '2026-03-09'
|
|
52
|
-
})).toEqual({
|
|
53
|
-
formula: 'THC'
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
it('serializes order params in stable priority order', () => {
|
|
57
|
-
const first = (0, _queryKeyFactory.serializeOrderParams)({
|
|
58
|
-
cart: '[]',
|
|
59
|
-
formula: 'THC',
|
|
60
|
-
buildYear: '2024',
|
|
61
|
-
licensePlate: '12AB34',
|
|
62
|
-
extraPriceAmount: 10,
|
|
63
|
-
durationAnswer: 'Lang'
|
|
64
|
-
});
|
|
65
|
-
const second = (0, _queryKeyFactory.serializeOrderParams)({
|
|
66
|
-
extraPriceAmount: 10,
|
|
67
|
-
durationAnswer: 'Lang',
|
|
68
|
-
licensePlate: '12AB34',
|
|
69
|
-
formula: 'THC',
|
|
70
|
-
cart: '[]',
|
|
71
|
-
buildYear: '2024'
|
|
72
|
-
});
|
|
73
|
-
expect(first).toBe('licensePlate=12AB34&formula=THC&constructionYear=2024&durationAnswer=Lang&extraPriceAmount=10');
|
|
74
|
-
expect(second).toBe(first);
|
|
75
|
-
});
|
|
76
|
-
it('preserves legacy getOrder request semantics by omitting falsy values', () => {
|
|
77
|
-
expect((0, _queryKeyFactory.serializeOrderParams)({
|
|
78
|
-
licensePlate: '12AB34',
|
|
79
|
-
formula: 'THC',
|
|
80
|
-
discountAmount: 0,
|
|
81
|
-
skipFilters: false,
|
|
82
|
-
extraPriceAmount: null
|
|
83
|
-
})).toBe('licensePlate=12AB34&formula=THC');
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
// Hyper adds the board-computer update when selectBoardComputerUpdate is
|
|
87
|
-
// absent, so an opt-out only survives when the false is serialized
|
|
88
|
-
it('keeps selectBoardComputerUpdate for both true and false', () => {
|
|
89
|
-
expect((0, _queryKeyFactory.serializeOrderParams)({
|
|
90
|
-
licensePlate: '12AB34',
|
|
91
|
-
formula: 'THC',
|
|
92
|
-
selectBoardComputerUpdate: false
|
|
93
|
-
})).toBe('licensePlate=12AB34&formula=THC&selectBoardComputerUpdate=false');
|
|
94
|
-
expect((0, _queryKeyFactory.serializeOrderParams)({
|
|
95
|
-
licensePlate: '12AB34',
|
|
96
|
-
formula: 'THC',
|
|
97
|
-
selectBoardComputerUpdate: true
|
|
98
|
-
})).toBe('licensePlate=12AB34&formula=THC&selectBoardComputerUpdate=true');
|
|
99
|
-
});
|
|
100
|
-
it('gives opting in and opting out of the board computer distinct query keys', () => {
|
|
101
|
-
expect((0, _queryKeyFactory.getOrderQueryKey)({
|
|
102
|
-
licensePlate: '12AB34',
|
|
103
|
-
formula: 'THC',
|
|
104
|
-
selectBoardComputerUpdate: true
|
|
105
|
-
})).not.toEqual((0, _queryKeyFactory.getOrderQueryKey)({
|
|
106
|
-
licensePlate: '12AB34',
|
|
107
|
-
formula: 'THC',
|
|
108
|
-
selectBoardComputerUpdate: false
|
|
109
|
-
}));
|
|
110
|
-
});
|
|
111
|
-
it('builds order query keys from serialized order params', () => {
|
|
112
|
-
expect((0, _queryKeyFactory.getOrderQueryKey)({
|
|
113
|
-
licensePlate: '12AB34',
|
|
114
|
-
formula: 'THC'
|
|
115
|
-
})).toEqual(['order', 'licensePlate=12AB34&formula=THC']);
|
|
116
|
-
});
|
|
117
|
-
it('includes formula in brands and build-years keys', () => {
|
|
118
|
-
expect((0, _queryKeyFactory.getBrandsQueryKey)('TMG')).toEqual(['brands', 'TMG']);
|
|
119
|
-
expect((0, _queryKeyFactory.getBrandsQueryKey)('TBE')).toEqual(['brands', 'TBE']);
|
|
120
|
-
expect((0, _queryKeyFactory.getBuildYearsQueryKey)({
|
|
121
|
-
brand: 'Volvo',
|
|
122
|
-
formula: 'TMG'
|
|
123
|
-
})).toEqual(['buildYears', 'Volvo', 'TMG']);
|
|
124
|
-
});
|
|
125
|
-
it('includes formula in single-order-articles keys', () => {
|
|
126
|
-
const first = (0, _queryKeyFactory.getSingleOrderArticlesKey)({
|
|
127
|
-
filters: {
|
|
128
|
-
brand: 'Volvo',
|
|
129
|
-
articleNumber: '123'
|
|
130
|
-
},
|
|
131
|
-
formula: 'TMG',
|
|
132
|
-
branchId: 'branch-1',
|
|
133
|
-
webshop: false
|
|
134
|
-
});
|
|
135
|
-
const second = (0, _queryKeyFactory.getSingleOrderArticlesKey)({
|
|
136
|
-
filters: {
|
|
137
|
-
articleNumber: '123',
|
|
138
|
-
brand: 'Volvo'
|
|
139
|
-
},
|
|
140
|
-
formula: 'TMG',
|
|
141
|
-
branchId: 'branch-1',
|
|
142
|
-
webshop: false
|
|
143
|
-
});
|
|
144
|
-
expect(first).toEqual(['singleOrderArticles', JSON.stringify({
|
|
145
|
-
articleNumber: '123',
|
|
146
|
-
brand: 'Volvo'
|
|
147
|
-
}), 'TMG', 'branch-1', false]);
|
|
148
|
-
expect(second).toEqual(first);
|
|
149
|
-
});
|
|
150
|
-
});
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.dummyApi = void 0;
|
|
7
|
-
var _bikeCarrier = _interopRequireDefault(require("../../../public/assets/images/dummy/bike-carrier.jpg"));
|
|
8
|
-
var _extra = _interopRequireDefault(require("../../../public/assets/images/dummy/extra.png"));
|
|
9
|
-
var _licensePlateWhite = _interopRequireDefault(require("../../../public/assets/images/dummy/license-plate-white.png"));
|
|
10
|
-
var _towbar = _interopRequireDefault(require("../../../public/assets/images/dummy/towbar-1.jpg"));
|
|
11
|
-
var _towbar2 = _interopRequireDefault(require("../../../public/assets/images/dummy/towbar-2.jpg"));
|
|
12
|
-
function _interopRequireDefault(e) {
|
|
13
|
-
return e && e.__esModule ? e : {
|
|
14
|
-
default: e
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
const dummyApi = exports.dummyApi = {
|
|
18
|
-
getCart: () => ({
|
|
19
|
-
data: {
|
|
20
|
-
editable: [{
|
|
21
|
-
id: 'onetwothree',
|
|
22
|
-
title: 'Trekhaken verticaal afneembaar',
|
|
23
|
-
price: 50,
|
|
24
|
-
image: _towbar.default,
|
|
25
|
-
amount: 50
|
|
26
|
-
}],
|
|
27
|
-
static: [{
|
|
28
|
-
id: 'onetwothree',
|
|
29
|
-
title: 'Trekhaken verticaal afneembaar',
|
|
30
|
-
price: 100,
|
|
31
|
-
image: _towbar2.default
|
|
32
|
-
}]
|
|
33
|
-
}
|
|
34
|
-
}),
|
|
35
|
-
getExtraProducts: () => ({
|
|
36
|
-
data: [{
|
|
37
|
-
isRecommended: false,
|
|
38
|
-
productId: 10,
|
|
39
|
-
productTitle: 'Witte kentekenplaat',
|
|
40
|
-
productDescription: "Witte kentekenplaat voor fietsendragers en aanhangwagens/caravans tot 750 kg.",
|
|
41
|
-
productImage: _licensePlateWhite.default,
|
|
42
|
-
productPrice: 249.99,
|
|
43
|
-
productDiscountedPrice: 199.99,
|
|
44
|
-
productCategory: 'Handige Accessoires'
|
|
45
|
-
}, {
|
|
46
|
-
isRecommended: false,
|
|
47
|
-
productId: 50,
|
|
48
|
-
productTitle: 'Verloopstekker 13- naar 7-polig',
|
|
49
|
-
productDescription: "D.m.v een verloopstekker kunnen ook oudere types\naanhangers, boot- of paardentrailers en fietsendragers\nworden aangesloten op uw 13-polige kabelset.",
|
|
50
|
-
productImage: _extra.default,
|
|
51
|
-
productPrice: 249.99,
|
|
52
|
-
productDiscountedPrice: 199.99,
|
|
53
|
-
productCategory: 'Handige Accessoires'
|
|
54
|
-
}, {
|
|
55
|
-
productId: 20,
|
|
56
|
-
isRecommended: false,
|
|
57
|
-
productTitle: 'Yakima Foldclick 2',
|
|
58
|
-
productDescription: "D.m.v een verloopstekker kunnen ook oudere types\naanhangers, boot- of paardentrailers en\nfietsendragers worden aangesloten op uw\n13-polige kabelset",
|
|
59
|
-
productImage: _bikeCarrier.default,
|
|
60
|
-
productPrice: 299.99,
|
|
61
|
-
productDiscountedPrice: 249.99,
|
|
62
|
-
productCategory: 'Fietsendragers'
|
|
63
|
-
}, {
|
|
64
|
-
productId: 30,
|
|
65
|
-
isRecommended: false,
|
|
66
|
-
productTitle: 'Yakima Foldclick 3',
|
|
67
|
-
productDescription: "D.m.v een verloopstekker kunnen ook oudere types\n aanhangers, boot- of paardentrailers en\n fietsendragers worden aangesloten op uw\n 13-polige kabelset",
|
|
68
|
-
productImage: _bikeCarrier.default,
|
|
69
|
-
productPrice: 500.99,
|
|
70
|
-
productDiscountedPrice: 400.99,
|
|
71
|
-
productCategory: 'Fietsendragers'
|
|
72
|
-
}]
|
|
73
|
-
}),
|
|
74
|
-
getLocations: () => {
|
|
75
|
-
return {
|
|
76
|
-
data: [{
|
|
77
|
-
description: 'Garagebedrijf Peter Peeters is het adres voor trekhaakmontages in Zuiderhout. \r\rBij ons kunt u rekenen op deskundige montage van trekhaak en kabelset. \r\rTevens kunnen wij u uitstekend adviseren over de producten en toepassingen. \r\rKom snel langs of plan een afspraak in.',
|
|
78
|
-
title: 'Trekhaak Montage vestiging',
|
|
79
|
-
postCode: '4921PJ',
|
|
80
|
-
street: 'Brieltjenspolder',
|
|
81
|
-
city: 'Made',
|
|
82
|
-
telephoneNumber: '085-0004122',
|
|
83
|
-
latitude: 51.67353,
|
|
84
|
-
longitude: 4.81503,
|
|
85
|
-
id: 165522,
|
|
86
|
-
image: 'https://trekhaak-labels-api-production.s3.eu-central-1.amazonaws.com/6a88a0b9-5885-4f2a-9243-1dd2e9773fa5'
|
|
87
|
-
}, {
|
|
88
|
-
description: 'Garagebedrijf Peter Peeters is het adres voor trekhaakmontages in Zuiderhout. \r\rBij ons kunt u rekenen op deskundige montage van trekhaak en kabelset. \r\rTevens kunnen wij u uitstekend adviseren over de producten en toepassingen. \r\rKom snel langs of plan een afspraak in.',
|
|
89
|
-
title: 'Misker Hardenberg B.V. (JAMES)',
|
|
90
|
-
postCode: '7772SG',
|
|
91
|
-
street: 'J.C. Kellerlaan',
|
|
92
|
-
city: 'Hardenberg',
|
|
93
|
-
telephoneNumber: '0523 - 262 777',
|
|
94
|
-
latitude: 52.56026,
|
|
95
|
-
longitude: 6.62978,
|
|
96
|
-
id: 1666
|
|
97
|
-
}]
|
|
98
|
-
};
|
|
99
|
-
},
|
|
100
|
-
createQuotation: quotationInput => ({
|
|
101
|
-
data: {
|
|
102
|
-
success: true
|
|
103
|
-
}
|
|
104
|
-
}),
|
|
105
|
-
createAppointment: appointmentInput => ({
|
|
106
|
-
data: {
|
|
107
|
-
success: true
|
|
108
|
-
}
|
|
109
|
-
})
|
|
110
|
-
};
|