thm-p3-configurator 0.0.382 → 0.0.384

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/package.json +1 -1
  2. package/dist/src/shared/App.js +0 -116
  3. package/dist/src/shared/__api__/__tests__/queryKeyFactory.test.js +0 -115
  4. package/dist/src/shared/__api__/_dummyApi.js +0 -110
  5. package/dist/src/shared/__api__/authenticatedProxyApi.js +0 -321
  6. package/dist/src/shared/__api__/businessBranches.js +0 -18
  7. package/dist/src/shared/__api__/mutations.js +0 -855
  8. package/dist/src/shared/__api__/orderApi.js +0 -29
  9. package/dist/src/shared/__api__/publicProxyApi.js +0 -71
  10. package/dist/src/shared/__api__/queries.js +0 -957
  11. package/dist/src/shared/__api__/queryKeyFactory.js +0 -156
  12. package/dist/src/shared/__components__/Buttons/LinkButton.js +0 -56
  13. package/dist/src/shared/__components__/Buttons/NavigationButton.js +0 -40
  14. package/dist/src/shared/__components__/Buttons/OutlinedButton.js +0 -63
  15. package/dist/src/shared/__components__/Buttons/PrimaryButton.js +0 -55
  16. package/dist/src/shared/__components__/Cards/Card.js +0 -38
  17. package/dist/src/shared/__components__/Cards/CardWide.js +0 -27
  18. package/dist/src/shared/__components__/Cards/ExpandableCard.js +0 -87
  19. package/dist/src/shared/__components__/Cards/TogglableCard.js +0 -68
  20. package/dist/src/shared/__components__/DangerAlert.js +0 -23
  21. package/dist/src/shared/__components__/EmptyState.js +0 -30
  22. package/dist/src/shared/__components__/Error.js +0 -66
  23. package/dist/src/shared/__components__/Form/CheckboxInput.js +0 -87
  24. package/dist/src/shared/__components__/Form/DatePickerInput.js +0 -123
  25. package/dist/src/shared/__components__/Form/DecimalInput.js +0 -106
  26. package/dist/src/shared/__components__/Form/DropdownInput.js +0 -205
  27. package/dist/src/shared/__components__/Form/ErrorMessage.js +0 -23
  28. package/dist/src/shared/__components__/Form/FormSteps.js +0 -64
  29. package/dist/src/shared/__components__/Form/LicensePlateInput.js +0 -117
  30. package/dist/src/shared/__components__/Form/MenuListWithSearchHint.js +0 -25
  31. package/dist/src/shared/__components__/Form/NumericInput.js +0 -182
  32. package/dist/src/shared/__components__/Form/RadioButtons.js +0 -93
  33. package/dist/src/shared/__components__/Form/RadioInput.js +0 -83
  34. package/dist/src/shared/__components__/Form/SearchableDropdownInput.js +0 -257
  35. package/dist/src/shared/__components__/Form/TextAreaInput.js +0 -91
  36. package/dist/src/shared/__components__/Form/TextInput.js +0 -97
  37. package/dist/src/shared/__components__/Form/TimePickerInput.js +0 -129
  38. package/dist/src/shared/__components__/Header.js +0 -44
  39. package/dist/src/shared/__components__/LocationsSelector/LocationAutoComplete.js +0 -229
  40. package/dist/src/shared/__components__/LocationsSelector/LocationClusteredMap.js +0 -127
  41. package/dist/src/shared/__components__/LocationsSelector/LocationClusteredTreeMarkers.js +0 -247
  42. package/dist/src/shared/__components__/LocationsSelector/LocationDetails.js +0 -295
  43. package/dist/src/shared/__components__/LocationsSelector/LocationInfo.js +0 -140
  44. package/dist/src/shared/__components__/LocationsSelector/LocationList.js +0 -190
  45. package/dist/src/shared/__components__/LocationsSelector/LocationListItem.js +0 -116
  46. package/dist/src/shared/__components__/LocationsSelector/LocationTreeMarker.js +0 -97
  47. package/dist/src/shared/__components__/LocationsSelector/index.js +0 -156
  48. package/dist/src/shared/__components__/Modal.js +0 -78
  49. package/dist/src/shared/__components__/Navbar.js +0 -82
  50. package/dist/src/shared/__components__/NavigationSteps.js +0 -126
  51. package/dist/src/shared/__components__/Pagination.js +0 -53
  52. package/dist/src/shared/__components__/ProductCard/ProductCardCheckbox.js +0 -38
  53. package/dist/src/shared/__components__/ProductCard/ProductCardDescription.js +0 -84
  54. package/dist/src/shared/__components__/ProductCard/ProductCardDiscountAlert.js +0 -57
  55. package/dist/src/shared/__components__/ProductCard/ProductCardImage.js +0 -28
  56. package/dist/src/shared/__components__/ProductCard/ProductCardPrice.js +0 -37
  57. package/dist/src/shared/__components__/ProductCard/ProductCardRibbon.js +0 -28
  58. package/dist/src/shared/__components__/ProductCard/ProductCardSpecifications.js +0 -77
  59. package/dist/src/shared/__components__/ProductCard/ProductCardUsps.js +0 -82
  60. package/dist/src/shared/__components__/ProductCard/index.js +0 -228
  61. package/dist/src/shared/__components__/ProductTable/ProductTableEditableRow.js +0 -66
  62. package/dist/src/shared/__components__/ProductTable/ProductTableHead.js +0 -32
  63. package/dist/src/shared/__components__/ProductTable/ProductTableSection.js +0 -25
  64. package/dist/src/shared/__components__/ProductTable/ProductTableSectionTotal.js +0 -46
  65. package/dist/src/shared/__components__/ProductTable/ProductTableStaticRow.js +0 -47
  66. package/dist/src/shared/__components__/ProductTable/ProductTableTotal.js +0 -41
  67. package/dist/src/shared/__components__/ProductTable/index.js +0 -127
  68. package/dist/src/shared/__components__/SingleOrderCartCard.js +0 -78
  69. package/dist/src/shared/__components__/SingleOrderProductCard.js +0 -352
  70. package/dist/src/shared/__components__/Spinners/FullPageSpinner.js +0 -73
  71. package/dist/src/shared/__components__/Spinners/InlineSpinner.js +0 -26
  72. package/dist/src/shared/__components__/Spinners/TextSpinner.js +0 -31
  73. package/dist/src/shared/__components__/UspsList.js +0 -27
  74. package/dist/src/shared/__components__/internal/InternalCustomerDetailsForm.js +0 -990
  75. package/dist/src/shared/__constants__/__tests__/index.test.js +0 -20
  76. package/dist/src/shared/__constants__/cartTable.js +0 -35
  77. package/dist/src/shared/__constants__/cookiebot.js +0 -7
  78. package/dist/src/shared/__constants__/index.js +0 -379
  79. package/dist/src/shared/__constants__/sentry.js +0 -20
  80. package/dist/src/shared/__containers__/ANWBMembershipInput.js +0 -170
  81. package/dist/src/shared/__containers__/AppointmentForm.js +0 -535
  82. package/dist/src/shared/__containers__/BoardComputerCard.js +0 -139
  83. package/dist/src/shared/__containers__/BottomNavigationBar.js +0 -182
  84. package/dist/src/shared/__containers__/DiscountProductsSelector.js +0 -151
  85. package/dist/src/shared/__containers__/ExitIntentModal.js +0 -403
  86. package/dist/src/shared/__containers__/ExtraProductsOverview.js +0 -202
  87. package/dist/src/shared/__containers__/LicensePlateForm.js +0 -169
  88. package/dist/src/shared/__containers__/ManualSelectionForm.js +0 -277
  89. package/dist/src/shared/__containers__/ProductCartSide.js +0 -362
  90. package/dist/src/shared/__containers__/ProductDiscountCard.js +0 -169
  91. package/dist/src/shared/__containers__/ProductsCartOverview.js +0 -914
  92. package/dist/src/shared/__containers__/ProductsOverview.js +0 -440
  93. package/dist/src/shared/__containers__/QuestionsForm.js +0 -494
  94. package/dist/src/shared/__containers__/QuotationForm.js +0 -520
  95. package/dist/src/shared/__containers__/QuotationSuccessModal.js +0 -34
  96. package/dist/src/shared/__containers__/SentryWrapper.js +0 -60
  97. package/dist/src/shared/__containers__/StyleWrapper.js +0 -81
  98. package/dist/src/shared/__containers__/VehicleData.js +0 -218
  99. package/dist/src/shared/__containers__/internal/DirectVehicleSelectorModal.js +0 -125
  100. package/dist/src/shared/__containers__/internal/InternalAppointmentForm.js +0 -1643
  101. package/dist/src/shared/__containers__/internal/InternalAppointmentSuccessModal.js +0 -116
  102. package/dist/src/shared/__containers__/internal/InternalBranchSelectorModal.js +0 -414
  103. package/dist/src/shared/__containers__/internal/InternalCancelDossierEdit.js +0 -73
  104. package/dist/src/shared/__containers__/internal/InternalDiscountCodeSelector.js +0 -78
  105. package/dist/src/shared/__containers__/internal/InternalDiscountForm.js +0 -156
  106. package/dist/src/shared/__containers__/internal/InternalExtraPriceForm.js +0 -143
  107. package/dist/src/shared/__containers__/internal/InternalLicenseplateModal.js +0 -131
  108. package/dist/src/shared/__containers__/internal/InternalPriceCalculationSelector.js +0 -52
  109. package/dist/src/shared/__containers__/internal/InternalQuotationForm.js +0 -1046
  110. package/dist/src/shared/__containers__/internal/InternalQuotationSuccessModal.js +0 -114
  111. package/dist/src/shared/__containers__/internal/InternalSingleOrderCart.js +0 -97
  112. package/dist/src/shared/__containers__/internal/InternalSingleOrderFilters.js +0 -318
  113. package/dist/src/shared/__containers__/internal/InternalSingleOrderProductOverview.js +0 -201
  114. package/dist/src/shared/__containers__/internal/InternalSingleOrderSidebar.js +0 -21
  115. package/dist/src/shared/__containers__/internal/InternalSingleOrderSuccessModal.js +0 -57
  116. package/dist/src/shared/__containers__/internal/OrderTypeSelectorModal.js +0 -136
  117. package/dist/src/shared/__containers__/internal/index.js +0 -73
  118. package/dist/src/shared/__context__/ActiveMarkerContext.js +0 -44
  119. package/dist/src/shared/__context__/AuthRuntimeContext.js +0 -63
  120. package/dist/src/shared/__context__/AuthSessionContext.js +0 -187
  121. package/dist/src/shared/__context__/CountryContext.js +0 -63
  122. package/dist/src/shared/__context__/FormulaContext.js +0 -77
  123. package/dist/src/shared/__context__/OrderSessionContext.js +0 -1489
  124. package/dist/src/shared/__context__/ThemeContext.js +0 -57
  125. package/dist/src/shared/__helpers__/__tests__/product.test.js +0 -13
  126. package/dist/src/shared/__helpers__/__tests__/singleOrderCustomerDetails.test.js +0 -170
  127. package/dist/src/shared/__helpers__/belgianConfiguratorInfo.js +0 -16
  128. package/dist/src/shared/__helpers__/cartTable.js +0 -449
  129. package/dist/src/shared/__helpers__/cookieManager.js +0 -44
  130. package/dist/src/shared/__helpers__/cookiebot.js +0 -30
  131. package/dist/src/shared/__helpers__/dossier.js +0 -325
  132. package/dist/src/shared/__helpers__/geolocation.js +0 -70
  133. package/dist/src/shared/__helpers__/image.js +0 -88
  134. package/dist/src/shared/__helpers__/index.js +0 -350
  135. package/dist/src/shared/__helpers__/montageRate.js +0 -71
  136. package/dist/src/shared/__helpers__/product.js +0 -204
  137. package/dist/src/shared/__helpers__/queryClient.js +0 -23
  138. package/dist/src/shared/__helpers__/singleOrderArticles.js +0 -365
  139. package/dist/src/shared/__helpers__/singleOrderCustomerDetails.js +0 -186
  140. package/dist/src/shared/__helpers__/ui.js +0 -39
  141. package/dist/src/shared/__hooks__/useArticleTypes.js +0 -23
  142. package/dist/src/shared/__hooks__/useAuthSession.js +0 -12
  143. package/dist/src/shared/__hooks__/useBranchTheme.js +0 -80
  144. package/dist/src/shared/__hooks__/useBreakpoint.js +0 -68
  145. package/dist/src/shared/__hooks__/useCheckEmailExists.js +0 -90
  146. package/dist/src/shared/__hooks__/useDebouncedPush.js +0 -23
  147. package/dist/src/shared/__hooks__/useIsSingleOrder.js +0 -18
  148. package/dist/src/shared/__hooks__/useIsTmg.js +0 -25
  149. package/dist/src/shared/__hooks__/useIsTowmotive.js +0 -23
  150. package/dist/src/shared/__hooks__/useSearchParam.js +0 -29
  151. package/dist/src/shared/__hooks__/useSessionContextReady.js +0 -20
  152. package/dist/src/shared/__hooks__/useUserLocation.js +0 -51
  153. package/dist/src/shared/__pages__/AppointmentPage.js +0 -42
  154. package/dist/src/shared/__pages__/AppointmentThanksPage.js +0 -59
  155. package/dist/src/shared/__pages__/ExtraProductsPage.js +0 -41
  156. package/dist/src/shared/__pages__/LicensePlatePage.js +0 -185
  157. package/dist/src/shared/__pages__/LocationsPage.js +0 -32
  158. package/dist/src/shared/__pages__/ManualSelectionPage.js +0 -168
  159. package/dist/src/shared/__pages__/NoProductsPage.js +0 -124
  160. package/dist/src/shared/__pages__/NotFoundPage.js +0 -27
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thm-p3-configurator",
3
- "version": "0.0.382",
3
+ "version": "0.0.384",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": "EnoRm.",
@@ -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,115 +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('drops priceCalculationDate for external mode', () => {
37
- global.APP_CONFIG = {
38
- internal: false
39
- };
40
- expect((0, _queryKeyFactory.normalizeOrderParams)({
41
- formula: 'THC',
42
- priceCalculationDate: '2026-03-09'
43
- })).toEqual({
44
- formula: 'THC'
45
- });
46
- });
47
- it('serializes order params in stable priority order', () => {
48
- const first = (0, _queryKeyFactory.serializeOrderParams)({
49
- cart: '[]',
50
- formula: 'THC',
51
- buildYear: '2024',
52
- licensePlate: '12AB34',
53
- extraPriceAmount: 10,
54
- durationAnswer: 'Lang'
55
- });
56
- const second = (0, _queryKeyFactory.serializeOrderParams)({
57
- extraPriceAmount: 10,
58
- durationAnswer: 'Lang',
59
- licensePlate: '12AB34',
60
- formula: 'THC',
61
- cart: '[]',
62
- buildYear: '2024'
63
- });
64
- expect(first).toBe('licensePlate=12AB34&formula=THC&constructionYear=2024&durationAnswer=Lang&extraPriceAmount=10&cart=%5B%5D');
65
- expect(second).toBe(first);
66
- });
67
- it('preserves legacy getOrder request semantics by omitting falsy values', () => {
68
- expect((0, _queryKeyFactory.serializeOrderParams)({
69
- licensePlate: '12AB34',
70
- formula: 'THC',
71
- discountAmount: 0,
72
- skipFilters: false,
73
- extraPriceAmount: null
74
- })).toBe('licensePlate=12AB34&formula=THC');
75
- });
76
- it('builds order query keys from serialized order params', () => {
77
- expect((0, _queryKeyFactory.getOrderQueryKey)({
78
- licensePlate: '12AB34',
79
- formula: 'THC'
80
- })).toEqual(['order', 'licensePlate=12AB34&formula=THC']);
81
- });
82
- it('includes formula in brands and build-years keys', () => {
83
- expect((0, _queryKeyFactory.getBrandsQueryKey)('TMG')).toEqual(['brands', 'TMG']);
84
- expect((0, _queryKeyFactory.getBrandsQueryKey)('THCB')).toEqual(['brands', 'THCB']);
85
- expect((0, _queryKeyFactory.getBuildYearsQueryKey)({
86
- brand: 'Volvo',
87
- formula: 'TMG'
88
- })).toEqual(['buildYears', 'Volvo', 'TMG']);
89
- });
90
- it('includes formula in single-order-articles keys', () => {
91
- const first = (0, _queryKeyFactory.getSingleOrderArticlesKey)({
92
- filters: {
93
- brand: 'Volvo',
94
- articleNumber: '123'
95
- },
96
- formula: 'TMG',
97
- branchId: 'branch-1',
98
- webshop: false
99
- });
100
- const second = (0, _queryKeyFactory.getSingleOrderArticlesKey)({
101
- filters: {
102
- articleNumber: '123',
103
- brand: 'Volvo'
104
- },
105
- formula: 'TMG',
106
- branchId: 'branch-1',
107
- webshop: false
108
- });
109
- expect(first).toEqual(['singleOrderArticles', JSON.stringify({
110
- articleNumber: '123',
111
- brand: 'Volvo'
112
- }), 'TMG', 'branch-1', false]);
113
- expect(second).toEqual(first);
114
- });
115
- });
@@ -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
- };
@@ -1,321 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.array.includes.js");
4
- require("core-js/modules/es.promise.js");
5
- require("core-js/modules/es.promise.finally.js");
6
- require("core-js/modules/es.string.includes.js");
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.authenticatedProxyApi = void 0;
11
- require("core-js/modules/es.array.includes.js");
12
- require("core-js/modules/es.promise.js");
13
- require("core-js/modules/es.promise.finally.js");
14
- require("core-js/modules/es.string.includes.js");
15
- var _axios = _interopRequireDefault(require("axios"));
16
- var _AuthRuntime = require("../__services__/AuthRuntime");
17
- function _interopRequireDefault(e) {
18
- return e && e.__esModule ? e : {
19
- default: e
20
- };
21
- }
22
- const authenticatedClient = _axios.default.create({
23
- baseURL: APP_CONFIG.proxyUrl,
24
- withCredentials: true
25
- });
26
- const sessionClient = _axios.default.create({
27
- baseURL: APP_CONFIG.proxyUrl,
28
- withCredentials: true
29
- });
30
- let refreshPromise = null;
31
- const syncRuntimeSession = function syncRuntimeSession() {
32
- var _payload$branch$entit, _payload$branch;
33
- let payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
34
- const authRuntime = (0, _AuthRuntime.getAuthRuntime)();
35
- if (!(payload !== null && payload !== void 0 && payload.authenticated)) {
36
- authRuntime.clear();
37
- return false;
38
- }
39
- authRuntime.setCsrfToken(payload.csrfToken || null);
40
- authRuntime.setActiveBranchId((_payload$branch$entit = (_payload$branch = payload.branch) === null || _payload$branch === void 0 ? void 0 : _payload$branch.entityId) !== null && _payload$branch$entit !== void 0 ? _payload$branch$entit : null);
41
- return true;
42
- };
43
- const refreshSession = () => {
44
- if (!refreshPromise) {
45
- refreshPromise = sessionClient('api/v1/auth', {
46
- method: 'PUT'
47
- }).then(response => {
48
- syncRuntimeSession((response === null || response === void 0 ? void 0 : response.data) || {});
49
- return response;
50
- }).finally(() => {
51
- refreshPromise = null;
52
- });
53
- }
54
- return refreshPromise;
55
- };
56
- const resyncSession = async () => {
57
- const response = await sessionClient('api/v1/auth/session', {
58
- method: 'GET'
59
- });
60
- syncRuntimeSession((response === null || response === void 0 ? void 0 : response.data) || {});
61
- return response;
62
- };
63
- const attachSessionHeaders = function attachSessionHeaders() {
64
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
65
- config.headers = config.headers || {};
66
- const authRuntime = (0, _AuthRuntime.getAuthRuntime)();
67
- const branchId = authRuntime.getActiveBranchId();
68
- if (branchId) {
69
- config.headers['active-branch-id'] = branchId;
70
- }
71
- const method = (config.method || 'get').toLowerCase();
72
- if (!['get', 'head', 'options'].includes(method)) {
73
- const csrf = authRuntime.getCsrfToken();
74
- if (csrf) {
75
- config.headers['X-CSRF-Token'] = csrf;
76
- }
77
- }
78
- return config;
79
- };
80
- authenticatedClient.interceptors.request.use(config => attachSessionHeaders(config));
81
- sessionClient.interceptors.request.use(config => {
82
- const normalizedConfig = attachSessionHeaders(config);
83
- if (normalizedConfig !== null && normalizedConfig !== void 0 && normalizedConfig.headers) {
84
- delete normalizedConfig.headers['active-branch-id'];
85
- }
86
- return normalizedConfig;
87
- });
88
- authenticatedClient.interceptors.response.use(response => response, async error => {
89
- var _error$response, _originalRequest$url;
90
- const status = error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status;
91
- const originalRequest = (error === null || error === void 0 ? void 0 : error.config) || {};
92
- if (![401, 403].includes(status) || originalRequest._retry || (_originalRequest$url = originalRequest.url) !== null && _originalRequest$url !== void 0 && _originalRequest$url.includes('api/v1/auth')) {
93
- return Promise.reject(error);
94
- }
95
- originalRequest._retry = true;
96
- try {
97
- await refreshSession();
98
- } catch (refreshError) {
99
- var _sessionResponse$data;
100
- const sessionResponse = await resyncSession().catch(() => null);
101
- if (!(sessionResponse !== null && sessionResponse !== void 0 && (_sessionResponse$data = sessionResponse.data) !== null && _sessionResponse$data !== void 0 && _sessionResponse$data.authenticated)) {
102
- return Promise.reject(refreshError);
103
- }
104
- }
105
- return authenticatedClient(originalRequest);
106
- });
107
- const authenticatedProxyApi = exports.authenticatedProxyApi = {
108
- getSession: () => sessionClient('api/v1/auth/session', {
109
- method: 'GET'
110
- }),
111
- putSessionContext: function putSessionContext() {
112
- let {
113
- branchEntityId,
114
- formula,
115
- module
116
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
117
- return authenticatedClient('api/v1/auth/context', {
118
- method: 'PUT',
119
- data: {
120
- branchEntityId,
121
- formula,
122
- module
123
- }
124
- });
125
- },
126
- getArticleTypes: () => authenticatedClient("api/v1/articles/types", {
127
- method: 'GET'
128
- }),
129
- getCountries: () => authenticatedClient("api/v1/countries", {
130
- method: 'GET'
131
- }),
132
- putRefreshToken: () => refreshSession(),
133
- getArticleGroups: articleTypeId => authenticatedClient("api/v1/articles/groups/".concat(articleTypeId), {
134
- method: 'GET'
135
- }),
136
- getArticleSubGroups: (articleGroupId, formula) => authenticatedClient("api/v1/articles/subgroups/".concat(articleGroupId, "?formula=").concat(formula), {
137
- method: 'GET'
138
- }),
139
- getArticles: filtersQueryString => authenticatedClient("api/v1/articles?".concat(filtersQueryString), {
140
- method: 'GET'
141
- }),
142
- getBrandsByArticleNumbers: articleNumbersString => authenticatedClient("api/v1/articles/brands?".concat(articleNumbersString), {
143
- method: 'GET'
144
- }),
145
- deleteLogout: () => sessionClient("api/v1/auth", {
146
- method: 'DELETE'
147
- }),
148
- getMyProfile: () => authenticatedClient('api/v1/profile', {
149
- method: 'GET'
150
- }),
151
- getBranchTypes: () => authenticatedClient("api/v1/branch-types", {
152
- method: 'GET'
153
- }),
154
- getBranchesByType: _ref => {
155
- let {
156
- formula,
157
- ownershipType,
158
- organisationType,
159
- searchTerm,
160
- isTmg = false,
161
- isTowCenterBranch = false
162
- } = _ref;
163
- return authenticatedClient("api/v1/branches/by-type?searchTerm=".concat(searchTerm, "&formula=").concat(formula, "&ownershipType=").concat(ownershipType, "&organisationType=").concat(organisationType, "&isTmg=").concat(isTmg, "&isTowCenterBranch=").concat(isTowCenterBranch), {
164
- method: 'GET'
165
- });
166
- },
167
- getBusinessBranches: _ref2 => {
168
- let {
169
- searchTerm,
170
- formula
171
- } = _ref2;
172
- return authenticatedClient("api/v1/branches/zakelijk?searchTerm=".concat(searchTerm, "&formula=").concat(formula), {
173
- method: 'GET'
174
- });
175
- },
176
- getMyBranchesByFormula: formula => authenticatedClient("api/v1/profile/".concat(formula, "/branches"), {
177
- method: 'GET'
178
- }),
179
- getSingleOrderBranchTypes: branchTypesParamsString => authenticatedClient("api/v1/branch-types?".concat(branchTypesParamsString), {
180
- method: 'GET'
181
- }),
182
- getSingleOrderBranches: branchesParamsString => authenticatedClient("api/v1/branches?".concat(branchesParamsString), {
183
- method: 'GET'
184
- }),
185
- getBranchById: id => authenticatedClient("api/v1/branches/".concat(id), {
186
- method: 'GET'
187
- }),
188
- getQuotationById: id => authenticatedClient("api/v1/quotations/".concat(id), {
189
- method: 'GET'
190
- }),
191
- getPlannedAppointmentById: id => authenticatedClient("api/v1/appointments/".concat(id), {
192
- method: 'GET'
193
- }),
194
- getAppointmentRequestById: id => authenticatedClient("api/v1/appointment-requests/".concat(id), {
195
- method: 'GET'
196
- }),
197
- getDossiers: _ref3 => {
198
- let {
199
- term,
200
- offset = 0,
201
- limit = 10,
202
- branchId,
203
- formula
204
- } = _ref3;
205
- return authenticatedClient("api/v1/dossiers?term=".concat(term, "&offset=").concat(offset, "&limit=").concat(limit).concat(branchId ? "&branchId=".concat(branchId) : '').concat(formula ? "&formula=".concat(formula) : ''), {
206
- method: 'GET'
207
- });
208
- },
209
- putDossierById: _ref4 => {
210
- let {
211
- id,
212
- payload
213
- } = _ref4;
214
- return authenticatedClient("api/v1/dossiers/".concat(id), {
215
- method: 'PUT',
216
- data: payload
217
- });
218
- },
219
- postAppointmentRequest: appointmentRequestPayload => authenticatedClient("api/v1/appointment-requests", {
220
- method: 'POST',
221
- data: appointmentRequestPayload,
222
- headers: {
223
- 'Content-Type': 'application/json'
224
- }
225
- }),
226
- postQuotation: quotationPayload => authenticatedClient("api/v1/quotations", {
227
- method: 'POST',
228
- data: quotationPayload,
229
- headers: {
230
- 'Content-Type': 'application/json'
231
- }
232
- }),
233
- postSingleOrder: singleOrderPayload => authenticatedClient("api/v1/single-orders", {
234
- method: 'POST',
235
- data: singleOrderPayload,
236
- headers: {
237
- 'Content-Type': 'application/json'
238
- }
239
- }),
240
- postShopifyOrder: shopifyOrderPayload => authenticatedClient("api/v1/single-orders/shopify", {
241
- method: 'POST',
242
- data: shopifyOrderPayload
243
- }),
244
- postAppointment: appointmentPayload => authenticatedClient("api/v1/appointments", {
245
- method: 'POST',
246
- data: appointmentPayload,
247
- headers: {
248
- 'Content-Type': 'application/json'
249
- }
250
- }),
251
- putQuotationById: _ref5 => {
252
- let {
253
- payload,
254
- id
255
- } = _ref5;
256
- return authenticatedClient("api/v1/quotations/".concat(id), {
257
- method: 'PUT',
258
- data: payload,
259
- headers: {
260
- 'Content-Type': 'application/json'
261
- }
262
- });
263
- },
264
- putAppointmentById: _ref6 => {
265
- let {
266
- payload,
267
- id
268
- } = _ref6;
269
- return authenticatedClient("api/v1/appointments/".concat(id), {
270
- method: 'PUT',
271
- data: payload,
272
- headers: {
273
- 'Content-Type': 'application/json'
274
- }
275
- });
276
- },
277
- putAppointmentRequestById: _ref7 => {
278
- let {
279
- payload,
280
- id
281
- } = _ref7;
282
- return authenticatedClient("api/v1/appointment-requests/".concat(id, "?action=order"), {
283
- method: 'PUT',
284
- data: payload,
285
- headers: {
286
- 'Content-Type': 'application/json'
287
- }
288
- });
289
- },
290
- getActiveDiscounts: _ref8 => {
291
- let {
292
- formulaCode,
293
- limit,
294
- offset
295
- } = _ref8;
296
- return authenticatedClient("api/v1/discounts?limit=".concat(limit, "&offset=").concat(offset, "&formulaCode=").concat(formulaCode), {
297
- method: 'GET',
298
- headers: {
299
- 'Content-Type': 'application/json'
300
- }
301
- });
302
- },
303
- getPartBrands: () => authenticatedClient("api/v1/configurator/part-brands", {
304
- method: 'GET'
305
- }),
306
- getOrder: orderParameters => {
307
- const basePath = APP_CONFIG.internal ? 'api/v1' : 'api/public/v1';
308
- return authenticatedClient("".concat(basePath, "/configurator/order?").concat(orderParameters), {
309
- method: 'GET'
310
- });
311
- },
312
- getArticlePrices: partsQueryString => {
313
- if (!APP_CONFIG.internal) {
314
- return null;
315
- }
316
- const basePath = APP_CONFIG.internal ? 'api/v1' : 'api/public/v1';
317
- return authenticatedClient("".concat(basePath, "/configurator/prices?").concat(partsQueryString), {
318
- method: 'GET'
319
- });
320
- }
321
- };
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.resolveBusinessBranchesFormula = void 0;
7
- var _constants__ = require("../__constants__");
8
- const resolveBusinessBranchesFormula = formulaRaw => {
9
- var _ref, _formulaRaw$entityId;
10
- if (formulaRaw == null) {
11
- return undefined;
12
- }
13
- if (typeof formulaRaw === 'string') {
14
- return formulaRaw;
15
- }
16
- return (_ref = (_formulaRaw$entityId = formulaRaw === null || formulaRaw === void 0 ? void 0 : formulaRaw.entityId) !== null && _formulaRaw$entityId !== void 0 ? _formulaRaw$entityId : formulaRaw === null || formulaRaw === void 0 ? void 0 : formulaRaw.id) !== null && _ref !== void 0 ? _ref : (0, _constants__.getConfiguratorFormulaCode)(formulaRaw);
17
- };
18
- exports.resolveBusinessBranchesFormula = resolveBusinessBranchesFormula;