kitchen-simulator 5.0.0-test.6 → 5.0.0-test.8

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 (178) hide show
  1. package/package.json +23 -3
  2. package/src/components/_export.js +11 -0
  3. package/src/components/viewer3d/scene-creator.js +23 -26
  4. package/src/components/viewer3d/viewer3d.js +18 -18
  5. package/src/components/catalog-view/catalog-breadcrumb.jsx +0 -53
  6. package/src/components/catalog-view/catalog-item.jsx +0 -229
  7. package/src/components/catalog-view/catalog-list.jsx +0 -173
  8. package/src/components/catalog-view/catalog-page-item.jsx +0 -110
  9. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +0 -80
  10. package/src/components/configurator/custom-configurator.jsx +0 -77
  11. package/src/components/configurator/project-configurator.jsx +0 -120
  12. package/src/components/export.js +0 -36
  13. package/src/components/firstsetting/button/styles.js +0 -223
  14. package/src/components/firstsetting/export.js +0 -9
  15. package/src/components/firstsetting/firstsetting-content-button.jsx +0 -198
  16. package/src/components/firstsetting/firstsetting-toggle-button.jsx +0 -101
  17. package/src/components/firstsetting/firstsetting.jsx +0 -814
  18. package/src/components/footerbar/button/ControlButton.jsx +0 -43
  19. package/src/components/footerbar/button/DirectionButton.jsx +0 -54
  20. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +0 -36
  21. package/src/components/footerbar/button/ToggleButton.jsx +0 -58
  22. package/src/components/footerbar/button/ToggleConvertButton.jsx +0 -48
  23. package/src/components/footerbar/button/ToggleMeasureButton.jsx +0 -33
  24. package/src/components/footerbar/button/styles.js +0 -217
  25. package/src/components/footerbar/export.js +0 -9
  26. package/src/components/footerbar/footer-content-button.jsx +0 -198
  27. package/src/components/footerbar/footer-toggle-button.jsx +0 -101
  28. package/src/components/footerbar/footerbar.jsx +0 -1103
  29. package/src/components/footerbar/styles.js +0 -263
  30. package/src/components/header/button/MenuButton.jsx +0 -46
  31. package/src/components/header/button/SaveButton.jsx +0 -54
  32. package/src/components/header/button/styles.js +0 -181
  33. package/src/components/header/export.js +0 -5
  34. package/src/components/header/header.jsx +0 -631
  35. package/src/components/header/header.style.css +0 -47
  36. package/src/components/header/styles.js +0 -320
  37. package/src/components/login/Login.js +0 -77
  38. package/src/components/login/LoginForm/index.js +0 -108
  39. package/src/components/login/Register.js +0 -83
  40. package/src/components/login/RegisterForm/index.js +0 -171
  41. package/src/components/login/jwtService.js +0 -201
  42. package/src/components/login/style.css +0 -158
  43. package/src/components/login/style.scss +0 -260
  44. package/src/components/myprojects/export.js +0 -5
  45. package/src/components/myprojects/index.jsx +0 -445
  46. package/src/components/myprojects/styles.js +0 -241
  47. package/src/components/sidebar/custom-accordion.jsx +0 -48
  48. package/src/components/sidebar/export.js +0 -15
  49. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +0 -73
  50. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +0 -101
  51. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +0 -149
  52. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +0 -316
  53. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +0 -108
  54. package/src/components/sidebar/panel-element-editor/element-editor.jsx +0 -1070
  55. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  56. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +0 -104
  57. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +0 -155
  58. package/src/components/sidebar/panel-group-editor.jsx +0 -272
  59. package/src/components/sidebar/panel-groups.jsx +0 -310
  60. package/src/components/sidebar/panel-guides.jsx +0 -192
  61. package/src/components/sidebar/panel-layer-elements.jsx +0 -298
  62. package/src/components/sidebar/panel-layers.jsx +0 -381
  63. package/src/components/sidebar/panel.jsx +0 -71
  64. package/src/components/sidebar/sidebar.jsx +0 -106
  65. package/src/components/sidebar/toolbar-panel.jsx +0 -139
  66. package/src/components/sign/export.js +0 -7
  67. package/src/components/sign/main/index.jsx +0 -523
  68. package/src/components/sign/main/styles.js +0 -163
  69. package/src/components/toolbar/button/ControlButton.jsx +0 -41
  70. package/src/components/toolbar/button/DirectionButton.jsx +0 -34
  71. package/src/components/toolbar/button/RightButton.jsx +0 -103
  72. package/src/components/toolbar/button/ToggleButton.jsx +0 -41
  73. package/src/components/toolbar/button/index.jsx +0 -55
  74. package/src/components/toolbar/button/styles.js +0 -127
  75. package/src/components/toolbar/components/DoorStyleMenu.jsx +0 -103
  76. package/src/components/toolbar/components/Pricing.jsx +0 -126
  77. package/src/components/toolbar/components/ReviewForQuote.jsx +0 -635
  78. package/src/components/toolbar/export.js +0 -21
  79. package/src/components/toolbar/main/Alert.js +0 -122
  80. package/src/components/toolbar/main/TakePictureModal.jsx +0 -104
  81. package/src/components/toolbar/main/confirm-popup.jsx +0 -99
  82. package/src/components/toolbar/main/index.jsx +0 -5687
  83. package/src/components/toolbar/main/lShaped.json +0 -311
  84. package/src/components/toolbar/main/longNarrow.json +0 -238
  85. package/src/components/toolbar/main/myComponents.js +0 -123
  86. package/src/components/toolbar/main/oRectangle.json +0 -220
  87. package/src/components/toolbar/main/rectangle.json +0 -238
  88. package/src/components/toolbar/main/style.css +0 -107
  89. package/src/components/toolbar/main/styles.js +0 -696
  90. package/src/components/toolbar/plugin-item.jsx +0 -123
  91. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +0 -73
  92. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +0 -102
  93. package/src/components/toolbar/popup/appliance/index.jsx +0 -83
  94. package/src/components/toolbar/popup/autosaveprompt/index.jsx +0 -150
  95. package/src/components/toolbar/popup/autosaveprompt/styles.css +0 -64
  96. package/src/components/toolbar/popup/autosaveprompt/styles.js +0 -40
  97. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +0 -73
  98. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +0 -119
  99. package/src/components/toolbar/popup/cabinet/index.jsx +0 -85
  100. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +0 -63
  101. package/src/components/toolbar/popup/doorStyle/index.jsx +0 -71
  102. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +0 -139
  103. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -2
  104. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +0 -157
  105. package/src/components/toolbar/popup/downloadsummary/index.jsx +0 -643
  106. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +0 -51
  107. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +0 -175
  108. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +0 -283
  109. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +0 -2257
  110. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -93
  111. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +0 -132
  112. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +0 -2198
  113. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +0 -152
  114. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +0 -149
  115. package/src/components/toolbar/popup/downloadsummary/styles.css +0 -177
  116. package/src/components/toolbar/popup/downloadsummary/styles.js +0 -453
  117. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +0 -34
  118. package/src/components/toolbar/popup/finishingtouch/index.jsx +0 -58
  119. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +0 -112
  120. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +0 -116
  121. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +0 -101
  122. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +0 -254
  123. package/src/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -311
  124. package/src/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -238
  125. package/src/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -220
  126. package/src/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -238
  127. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -86
  128. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +0 -109
  129. package/src/components/toolbar/popup/floorplan/index.jsx +0 -60
  130. package/src/components/toolbar/popup/index.jsx +0 -241
  131. package/src/components/toolbar/popup/newproject/index.jsx +0 -59
  132. package/src/components/toolbar/popup/newproject/styles.css +0 -64
  133. package/src/components/toolbar/popup/newproject/styles.js +0 -41
  134. package/src/components/toolbar/popup/product/appliance.jsx +0 -54
  135. package/src/components/toolbar/popup/product/cabinetproduct.jsx +0 -15
  136. package/src/components/toolbar/popup/product/doorstyle.jsx +0 -58
  137. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +0 -47
  138. package/src/components/toolbar/popup/product/floor.jsx +0 -36
  139. package/src/components/toolbar/popup/product/floorproduct.jsx +0 -42
  140. package/src/components/toolbar/popup/product/index.jsx +0 -36
  141. package/src/components/toolbar/popup/product/primary.jsx +0 -77
  142. package/src/components/toolbar/popup/product/productline.jsx +0 -93
  143. package/src/components/toolbar/popup/product/reviewItem.jsx +0 -427
  144. package/src/components/toolbar/popup/product/reviewMolding.jsx +0 -310
  145. package/src/components/toolbar/popup/product/style.css +0 -54
  146. package/src/components/toolbar/popup/product/styles.js +0 -260
  147. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +0 -146
  148. package/src/components/toolbar/popup/savedesign/index.jsx +0 -495
  149. package/src/components/toolbar/popup/savedesign/savedesign.style.css +0 -16
  150. package/src/components/toolbar/popup/savedesign/styles.js +0 -151
  151. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +0 -87
  152. package/src/components/toolbar/popup/styles.js +0 -909
  153. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +0 -192
  154. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +0 -96
  155. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +0 -54
  156. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +0 -25
  157. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +0 -116
  158. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -38
  159. package/src/components/toolbar/popup/submitforquote/index.jsx +0 -698
  160. package/src/components/toolbar/popup/submitforquote/styles.css +0 -105
  161. package/src/components/toolbar/popup/submitforquote/styles.js +0 -294
  162. package/src/components/toolbar/popup/submitprompt/index.jsx +0 -89
  163. package/src/components/toolbar/popup/submitprompt/styles.css +0 -64
  164. package/src/components/toolbar/popup/submitprompt/styles.js +0 -42
  165. package/src/components/toolbar/toolbar-button.jsx +0 -90
  166. package/src/components/toolbar/toolbar-load-button.jsx +0 -36
  167. package/src/components/toolbar/toolbar-save-button.jsx +0 -32
  168. package/src/components/wizardstep/button/styles.js +0 -677
  169. package/src/components/wizardstep/export.js +0 -5
  170. package/src/components/wizardstep/index.jsx +0 -1372
  171. package/src/components/wizardstep/styles.js +0 -688
  172. package/src/components/wizardstep/wizardstep-content-button.jsx +0 -198
  173. package/src/components/wizardstep/wizardstep-toggle-button.jsx +0 -101
  174. package/src/hooks/useCheckCart.js +0 -38
  175. package/src/hooks/useGetPricesBySku.js +0 -59
  176. package/src/hooks/useValidateToken.js +0 -181
  177. package/src/styles/export.js +0 -7
  178. package/src/styles/tabs.css +0 -40
@@ -1,635 +0,0 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import * as S from '../../../../src/components/toolbar/main/styles';
3
- import {
4
- DECIMAL_PLACES_2,
5
- LOCAL_STORAGE_TOKEN_VALUE,
6
- STATUS_POSITIVE_COLOR,
7
- SUBMIT_ADD_CART,
8
- SUBMIT_REQUEST_ASSIST,
9
- TEXT_COLOR_NEUTRAL_2,
10
- TOE_KICK_MOLDING
11
- } from '../../../../src/constants';
12
- import {
13
- getToeKickMoldingThumbnail,
14
- makeSKUForMagento
15
- } from '../../../../src/components/viewer2d/utils';
16
- import ReviewItem from '../../../../src/components/toolbar/popup/product/reviewItem';
17
- import ReviewMolding from '../../../../src/components/toolbar/popup/product/reviewMolding';
18
- import { formatNumber } from '../../../../src/utils/math';
19
- import {
20
- refineMoldingForSummaryPdf,
21
- refineProductForSummaryPdf
22
- } from '../../../utils/helper';
23
- import { useGetPricesBySku } from '../../../../src/hooks/useGetPricesBySku';
24
- import Skeleton from '@material-ui/lab/Skeleton';
25
- import ls from 'localstorage-slim';
26
- import InfoIcon from '@material-ui/icons/Info';
27
- import Tooltip from '@material-ui/core/Tooltip';
28
- import { useValidateToken } from '../../../../src/hooks/useValidateToken';
29
-
30
- export const ReviewForQuote = ({
31
- accessToken,
32
- currentTexture,
33
- userInfo,
34
- doorStyles,
35
- catalog,
36
- categoryData,
37
- handleSubmitPrompt,
38
- handleSubmitForQuote,
39
- setDownloadPopupVisible,
40
- moldingData,
41
- items,
42
- measurementUnit,
43
- isTokenPresent
44
- }) => {
45
- const getSkus = useCallback(
46
- data => {
47
- if (data && typeof data.entrySeq === 'function') {
48
- return data
49
- .entrySeq()
50
- .map(([itemID, item]) =>
51
- makeSKUForMagento(item, catalog, categoryData)
52
- )
53
- .filter(sku => sku && !sku.startsWith('#'))
54
- .filter(Boolean)
55
- .toJS();
56
- }
57
- if (Array.isArray(data)) {
58
- return data
59
- .map(item => makeSKUForMagento(item, catalog, categoryData))
60
- .filter(sku => sku && !sku.startsWith('#'))
61
- .filter(Boolean);
62
- }
63
- return [];
64
- },
65
- [catalog]
66
- );
67
-
68
- const { data } = useValidateToken(accessToken);
69
-
70
- const {
71
- data: { prices = [] },
72
- isFetching
73
- } = useGetPricesBySku(
74
- data?.source === 'none' ? [] : [...getSkus(items), ...getSkus(moldingData)]
75
- );
76
-
77
- const products = React.useMemo(() => {
78
- const _products = {};
79
-
80
- if (!prices || isFetching || data?.source === 'none') return _products;
81
-
82
- prices.forEach(data => {
83
- _products[data.sku] = {
84
- description: data.description,
85
- discounted_price: data.discounted_price,
86
- name: data.name,
87
- qty: parseInt(data.qty),
88
- regular_price: data.regular_price,
89
- tier: data.tier
90
- };
91
- });
92
-
93
- return _products;
94
- }, [prices, isFetching, data]);
95
-
96
- const downloadToFile = useCallback(
97
- event => {
98
- event.preventDefault();
99
- event.stopPropagation();
100
-
101
- setDownloadPopupVisible(true);
102
-
103
- const productsInReview = [];
104
-
105
- const tmpProduct = [];
106
- Object.keys(usedObjects).forEach(internalSKU => {
107
- const item = items.find(
108
- item => makeSKUForMagento(item, catalog, categoryData) === internalSKU
109
- );
110
- const molding = moldingData.find(
111
- molding =>
112
- makeSKUForMagento(molding, catalog, categoryData) === internalSKU
113
- );
114
-
115
- if (item) {
116
- const prodCount = usedObjects[internalSKU]?.count ?? 1;
117
- tmpProduct.push(
118
- <ReviewItem
119
- key={item.id}
120
- downLoad={true}
121
- catalog={catalog}
122
- categoryData={categoryData}
123
- internalSKU={internalSKU}
124
- product={products[internalSKU]}
125
- suffix={currentTexture?.install}
126
- item={item}
127
- measurementUnit={measurementUnit}
128
- count={prodCount}
129
- loading={isFetching || data?.source === 'none'}
130
- />
131
- );
132
- refineProductForSummaryPdf(
133
- productsInReview,
134
- catalog,
135
- categoryData,
136
- internalSKU,
137
- currentTexture?.install,
138
- item,
139
- products[internalSKU],
140
- measurementUnit,
141
- prodCount
142
- );
143
- } else if (molding) {
144
- tmpProduct.push(
145
- <ReviewMolding
146
- key={molding.id}
147
- downLoad={true}
148
- molding={molding}
149
- internalSKU={internalSKU}
150
- product={products[internalSKU]}
151
- loading={isFetching || data?.source === 'none'}
152
- />
153
- );
154
- refineMoldingForSummaryPdf(
155
- productsInReview,
156
- molding,
157
- products[internalSKU],
158
- internalSKU
159
- );
160
- }
161
- });
162
-
163
- window.productData = tmpProduct;
164
- window.totalPrice = formatNumber(allDiscountedPrices, DECIMAL_PLACES_2);
165
- window.productsInReview = productsInReview;
166
- },
167
- [
168
- currentTexture,
169
- moldingData,
170
- products,
171
- catalog,
172
- categoryData,
173
- measurementUnit,
174
- isFetching,
175
- data
176
- ]
177
- );
178
-
179
- const {
180
- allCount,
181
- usedObjects,
182
- allDiscountedPrices,
183
- allRegularPrices,
184
- allPrices
185
- } = React.useMemo(() => {
186
- let allCount = 0,
187
- usedObjects = {},
188
- allDiscountedPrices = 0,
189
- allRegularPrices = 0,
190
- allPrices = 0;
191
-
192
- function processData(data, getSKU, getCount) {
193
- data.forEach(element => {
194
- const sku = getSKU(element);
195
- if (!sku || sku.startsWith('#')) return;
196
- const count = getCount(element);
197
- const currentProduct = products[sku];
198
-
199
- if (!usedObjects[sku]) {
200
- usedObjects[sku] = {
201
- count,
202
- regularPrice: currentProduct
203
- ? currentProduct.regular_price * count
204
- : 0,
205
- disCountPrice: currentProduct
206
- ? currentProduct.discounted_price * count
207
- : 0
208
- };
209
- } else {
210
- usedObjects[sku].count += count;
211
- if (currentProduct) {
212
- usedObjects[sku].regularPrice +=
213
- currentProduct.regular_price * count;
214
- usedObjects[sku].disCountPrice +=
215
- currentProduct.discounted_price * count;
216
- }
217
- }
218
- if (currentProduct) {
219
- allRegularPrices += currentProduct.regular_price * count;
220
- allDiscountedPrices += currentProduct.discounted_price * count;
221
- allPrices +=
222
- (currentProduct.discounted_price || currentProduct.regular_price) *
223
- count;
224
- }
225
- allCount += count;
226
- if (currentTexture) {
227
- usedObjects[sku].installation_type = currentTexture.install;
228
- }
229
- });
230
- }
231
-
232
- // Process cabinet items
233
- processData(
234
- items.filter(e => e.itemID !== undefined),
235
- element => makeSKUForMagento(element, catalog, categoryData),
236
- () => 1
237
- );
238
-
239
- // Process molding data
240
- processData(
241
- moldingData,
242
- molding => makeSKUForMagento(molding, catalog, categoryData),
243
- molding => molding.count
244
- );
245
-
246
- return {
247
- allCount,
248
- usedObjects,
249
- allDiscountedPrices: parseFloat(allDiscountedPrices.toFixed(2)),
250
- allRegularPrices: parseFloat(allRegularPrices.toFixed(2)),
251
- allPrices: parseFloat(allPrices.toFixed(2))
252
- };
253
- }, [prices, catalog, moldingData, products]);
254
-
255
- useEffect(() => {
256
- if (!isFetching && data?.source !== 'none') {
257
- sessionStorage.setItem('usedObjects', JSON.stringify(usedObjects));
258
- }
259
- }, [usedObjects, isFetching, data]);
260
-
261
- const discountType = () => {
262
- switch (ls.get('DISCOUNT_TYPE')?.toUpperCase()) {
263
- case 'CUSTOM':
264
- return 'Account';
265
- case 'GENERAL':
266
- return 'Active Sale';
267
- default:
268
- return 'Tier';
269
- }
270
- };
271
-
272
- return (
273
- <div style={{ display: 'flex', flexDirection: 'column' }}>
274
- <div
275
- style={{
276
- display: 'flex',
277
- flexDirection: 'row',
278
- justifyContent: 'space-between',
279
- alignItems: 'center'
280
- }}
281
- >
282
- <S.SubCategoryTitle style={{ margin: '0 0 10px 15px' }}>
283
- Review & Quote
284
- </S.SubCategoryTitle>
285
- <div
286
- style={{
287
- display: 'flex',
288
- gap: '1rem',
289
- alignItems: 'center'
290
- }}
291
- >
292
- <div
293
- style={{
294
- background: '#FAFAFF',
295
- padding: '5px 10px',
296
- borderRadius: 5,
297
- display: 'flex',
298
- justifyContent: 'center',
299
- alignItems: 'center',
300
- height: 'fit-content'
301
- }}
302
- >
303
- <img
304
- src={
305
- doorStyles &&
306
- currentTexture &&
307
- doorStyles.filter(
308
- item =>
309
- item.name.toLowerCase() ===
310
- currentTexture.install?.toLowerCase()
311
- )[0]?.thumbnail
312
- }
313
- style={{ height: 24 }}
314
- />
315
- <S.ReviewQuoteItemLabel
316
- style={{
317
- fontWeight: 'bold'
318
- }}
319
- >
320
- {currentTexture && currentTexture.install}
321
- </S.ReviewQuoteItemLabel>
322
- </div>
323
- <div
324
- style={{
325
- background: '#FAFAFF',
326
- padding: '5px 10px',
327
- borderRadius: 5,
328
- display: 'flex',
329
- justifyContent: 'center',
330
- alignItems: 'center',
331
- height: 'fit-content'
332
- }}
333
- >
334
- <img
335
- src={
336
- doorStyles &&
337
- currentTexture &&
338
- doorStyles
339
- .filter(item => item.name === currentTexture.install)[0]
340
- ?.items.filter(
341
- i => i.name === currentTexture.door_style_name
342
- )[0]?.thumbnail
343
- }
344
- style={{ height: 24 }}
345
- />
346
- <S.ReviewQuoteItemLabel
347
- style={{
348
- fontWeight: 'bold'
349
- }}
350
- >
351
- {currentTexture && currentTexture.name}
352
- </S.ReviewQuoteItemLabel>
353
- </div>
354
- </div>
355
- </div>
356
- <S.ReviewQuoteTable>
357
- <S.ReviewQuoteThead style={{ backgroundColor: '#FAFAFF' }}>
358
- <S.ReviewQuoteTh
359
- style={{
360
- width: 310,
361
- textAlign: 'left',
362
- marginLeft: 15,
363
- color: '#565F77'
364
- }}
365
- >
366
- Product
367
- </S.ReviewQuoteTh>
368
- <S.ReviewQuoteTh style={{ width: 80, color: '#565F77' }}>
369
- Door
370
- </S.ReviewQuoteTh>
371
- <S.ReviewQuoteTh style={{ width: 50, color: '#565F77' }}>
372
- Qty
373
- </S.ReviewQuoteTh>
374
- <S.ReviewQuoteTh style={{ width: 100, color: '#565F77' }}>
375
- Retail Price
376
- </S.ReviewQuoteTh>
377
- <S.ReviewQuoteTh style={{ width: 100, color: '#565F77' }}>
378
- Discounted Price
379
- </S.ReviewQuoteTh>
380
- <S.ReviewQuoteTh
381
- style={{
382
- width: 80,
383
- marginRight: 15,
384
- color: '#565F77'
385
- }}
386
- >
387
- Subtotal
388
- </S.ReviewQuoteTh>
389
- </S.ReviewQuoteThead>
390
- <div
391
- style={{
392
- overflowY: 'scroll',
393
- maxHeight: 'calc(100vh - 420px)',
394
- minHeight: 100
395
- }}
396
- >
397
- {Object.keys(usedObjects).map(internalSKU => {
398
- const item = items.find(
399
- item =>
400
- makeSKUForMagento(item, catalog, categoryData) === internalSKU
401
- );
402
-
403
- const molding = moldingData.find(
404
- molding =>
405
- makeSKUForMagento(molding, catalog, categoryData) ===
406
- internalSKU
407
- );
408
-
409
- if (item) {
410
- return (
411
- <ReviewItem
412
- key={internalSKU}
413
- downLoad={false}
414
- catalog={catalog}
415
- categoryData={categoryData}
416
- internalSKU={internalSKU}
417
- suffix={currentTexture?.install}
418
- item={item}
419
- measurementUnit={measurementUnit}
420
- count={
421
- usedObjects[internalSKU] !== undefined
422
- ? usedObjects[internalSKU].count
423
- : 1
424
- }
425
- product={products[internalSKU]}
426
- loading={isFetching || data?.source === 'none'}
427
- />
428
- );
429
- }
430
- if (molding) {
431
- return (
432
- <ReviewMolding
433
- key={internalSKU}
434
- downLoad={false}
435
- molding={molding}
436
- internalSKU={internalSKU}
437
- product={products[internalSKU]}
438
- loading={isFetching || data?.source === 'none'}
439
- />
440
- );
441
- }
442
-
443
- return <></>;
444
- })}
445
- </div>
446
- <S.ReviewQuoteThead
447
- style={{ backgroundColor: '#FAFAFF', marginBottom: 15 }}
448
- >
449
- <S.ReviewQuoteTh2
450
- style={{
451
- width: 310,
452
- textAlign: 'left',
453
- marginLeft: 15
454
- }}
455
- >
456
- Grand Total
457
- {ls.get('DISCOUNT_TYPE') &&
458
- ls.get('DISCOUNT_TYPE') !== 'retail' && (
459
- <span
460
- style={{
461
- marginLeft: '0.5rem',
462
- fontSize: '12px'
463
- }}
464
- >
465
- *Discounts based on your {discountType()}
466
- </span>
467
- )}
468
- </S.ReviewQuoteTh2>
469
- <S.ReviewQuoteTh2 style={{ width: 80 }} />
470
- <S.ReviewQuoteTh2 style={{ width: 50 }}>
471
- {isFetching || data?.source === 'none' ? (
472
- <Skeleton variant="text" width={30} height={18} />
473
- ) : (
474
- allCount
475
- )}
476
- </S.ReviewQuoteTh2>
477
- <S.ReviewQuoteTh2 style={{ width: 100 }}>
478
- {isFetching || data?.source === 'none' ? (
479
- <Skeleton variant="text" width={50} height={18} />
480
- ) : (
481
- `$${formatNumber(allRegularPrices, DECIMAL_PLACES_2)}`
482
- )}
483
- </S.ReviewQuoteTh2>
484
- <S.ReviewQuoteTh2
485
- style={{
486
- width: 100,
487
- color:
488
- allDiscountedPrices !== allRegularPrices
489
- ? STATUS_POSITIVE_COLOR
490
- : TEXT_COLOR_NEUTRAL_2
491
- }}
492
- >
493
- {isFetching || data?.source === 'none' ? (
494
- <Skeleton variant="text" width={50} height={18} />
495
- ) : allDiscountedPrices !== allRegularPrices ? (
496
- `$${formatNumber(allDiscountedPrices, DECIMAL_PLACES_2)}`
497
- ) : (
498
- `-`
499
- )}
500
- </S.ReviewQuoteTh2>
501
- <S.ReviewQuoteTh2
502
- style={{
503
- width: 80,
504
- marginRight: 15,
505
- color: '#4C12A1'
506
- }}
507
- >
508
- {isFetching || data?.source === 'none' ? (
509
- <Skeleton variant="text" width={50} height={18} />
510
- ) : (
511
- `$${formatNumber(allDiscountedPrices, DECIMAL_PLACES_2)}`
512
- )}
513
- </S.ReviewQuoteTh2>
514
- </S.ReviewQuoteThead>
515
- </S.ReviewQuoteTable>
516
-
517
- <div
518
- style={{
519
- display: 'flex',
520
- marginTop: 15,
521
- justifyContent: 'flex-start'
522
- }}
523
- >
524
- <Tooltip
525
- title={
526
- !isTokenPresent ? (
527
- <span
528
- style={{
529
- fontSize: 14
530
- }}
531
- >
532
- You need to <b>save the project</b> before requesting Designer
533
- Assistance.
534
- </span>
535
- ) : (
536
- ''
537
- )
538
- }
539
- >
540
- <S.Button
541
- style={{ fontSize: 16 }}
542
- onClick={() => {
543
- if (userInfo.pid === undefined)
544
- handleSubmitPrompt(SUBMIT_REQUEST_ASSIST);
545
- else handleSubmitForQuote(true, SUBMIT_REQUEST_ASSIST);
546
- }}
547
- >
548
- <img
549
- style={{ marginRight: 10 }}
550
- src="\assets\img\svg\headerbar\assist.svg"
551
- />
552
- Designer Assistance
553
- {!isTokenPresent && (
554
- <div
555
- style={{
556
- width: '5px',
557
- height: '5px',
558
- position: 'relative'
559
- }}
560
- >
561
- <InfoIcon
562
- style={{
563
- position: 'absolute',
564
- width: '15px',
565
- height: '15px',
566
- bottom: '8px',
567
- right: '-20px'
568
- }}
569
- />
570
- </div>
571
- )}
572
- </S.Button>
573
- </Tooltip>
574
-
575
- <Tooltip
576
- key="test"
577
- title={
578
- !isTokenPresent ? (
579
- <span
580
- style={{
581
- fontSize: 14
582
- }}
583
- >
584
- You need to <b>save the project</b> before Adding to Cart
585
- </span>
586
- ) : (
587
- ''
588
- )
589
- }
590
- >
591
- <S.Button
592
- onClick={() => {
593
- if (userInfo.pid === undefined)
594
- handleSubmitPrompt(SUBMIT_ADD_CART);
595
- else handleSubmitForQuote(true, SUBMIT_ADD_CART);
596
- }}
597
- >
598
- <img
599
- style={{ marginRight: 10 }}
600
- src="\assets\img\svg\toolbar\shopping-cart.svg"
601
- />
602
- Add to Cart
603
- {!isTokenPresent && (
604
- <div
605
- style={{
606
- width: '5px',
607
- height: '5px',
608
- position: 'relative'
609
- }}
610
- >
611
- <InfoIcon
612
- style={{
613
- position: 'absolute',
614
- width: '15px',
615
- height: '15px',
616
- bottom: '8px',
617
- right: '-20px'
618
- }}
619
- />
620
- </div>
621
- )}
622
- </S.Button>
623
- </Tooltip>
624
-
625
- {/*<S.Button onClick={downloadToFile}>*/}
626
- {/* <img*/}
627
- {/* style={{ marginRight: 10 }}*/}
628
- {/* src="\assets\img\svg\toolbar\download.svg"*/}
629
- {/* />*/}
630
- {/* Download Summary*/}
631
- {/*</S.Button>*/}
632
- </div>
633
- </div>
634
- );
635
- };
@@ -1,21 +0,0 @@
1
- import ToolbarButton from './button/ToggleButton';
2
- import RightButton from './button/RightButton';
3
- import ToolbarSaveButton from './toolbar-save-button';
4
- import ToolbarLoadButton from './toolbar-load-button';
5
- import Toolbar from './main';
6
-
7
- export {
8
- ToolbarButton,
9
- RightButton,
10
- ToolbarSaveButton,
11
- ToolbarLoadButton,
12
- Toolbar
13
- };
14
-
15
- export default {
16
- ToolbarButton,
17
- RightButton,
18
- ToolbarSaveButton,
19
- ToolbarLoadButton,
20
- Toolbar
21
- };