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,192 +0,0 @@
1
- import React, { useState, useMemo } from 'react';
2
- import {
3
- Box,
4
- Typography,
5
- FormGroup,
6
- FormControlLabel,
7
- Checkbox,
8
- TextField,
9
- Divider,
10
- Accordion,
11
- AccordionSummary,
12
- AccordionDetails,
13
- Radio
14
- } from '@material-ui/core';
15
- import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
16
- import * as S from './styles';
17
- import { StepDots } from './StepDots';
18
-
19
- const REVIEW_OPTIONS = [
20
- 'Validate my design for accuracy',
21
- 'Confirm door style and finish',
22
- 'Optimize layout for better space usage',
23
- 'Identify potential cost savings',
24
- 'Confirm availability and lead times',
25
- 'Review for any installation concerns',
26
- 'Suggest matching accessories (e.g. moldings, fillers, organizers)',
27
- 'Check compatibility with appliances or plumbing',
28
- 'Provide professional recommendations'
29
- ];
30
-
31
- const AddToCartOptions = ({
32
- onSubmit,
33
- onCancel,
34
- currentStep,
35
- onStepChange
36
- }) => {
37
- const [expanded, setExpanded] = useState('review'); // keep default open
38
- const [selected, setSelected] = useState([]);
39
- const [notes, setNotes] = useState('');
40
- const [skipReview, setSkipReview] = useState(false);
41
-
42
- const handlePanelToggle = panel => (_e, isExpanded) => {
43
- setExpanded(isExpanded ? panel : '');
44
- };
45
-
46
- const handleToggle = option => () => {
47
- setSkipReview(false);
48
- setSelected(prev =>
49
- prev.includes(option) ? prev.filter(v => v !== option) : [...prev, option]
50
- );
51
- };
52
-
53
- const payload = useMemo(
54
- () => ({
55
- reviewOptions: selected,
56
- notes: notes.trim(),
57
- expressCheckout: skipReview
58
- }),
59
- [selected, notes, skipReview]
60
- );
61
-
62
- const handleSubmit = () => {
63
- if (onSubmit) onSubmit(payload);
64
- };
65
-
66
- return (
67
- <Box>
68
- <Divider />
69
- <Box
70
- style={{
71
- maxHeight: '100%',
72
- overflowX: 'auto'
73
- }}
74
- >
75
- <Accordion
76
- elevation={0}
77
- expanded={expanded.includes('review')}
78
- onChange={handlePanelToggle('review')}
79
- >
80
- <AccordionSummary expandIcon={<ExpandMoreIcon />}>
81
- <Typography
82
- style={{
83
- color: 'rgb(67, 77, 99)'
84
- }}
85
- variant="h6"
86
- >
87
- Submit options
88
- </Typography>
89
- </AccordionSummary>
90
- <AccordionDetails
91
- style={{
92
- padding: 0
93
- }}
94
- >
95
- <FormGroup>
96
- {REVIEW_OPTIONS.map(option => (
97
- <FormControlLabel
98
- key={option}
99
- control={
100
- <Checkbox
101
- color="primary"
102
- checked={selected.includes(option)}
103
- onChange={handleToggle(option)}
104
- />
105
- }
106
- label={option}
107
- />
108
- ))}
109
- </FormGroup>
110
- </AccordionDetails>
111
- </Accordion>
112
- <Accordion
113
- elevation={0}
114
- expanded={expanded.includes('others')}
115
- onChange={handlePanelToggle('others')}
116
- >
117
- <AccordionSummary expandIcon={<ExpandMoreIcon />}>
118
- <Typography
119
- style={{
120
- color: 'rgb(67, 77, 99)'
121
- }}
122
- variant="h6"
123
- >
124
- Others (review notes)
125
- </Typography>
126
- </AccordionSummary>
127
- <AccordionDetails
128
- style={{
129
- padding: 0
130
- }}
131
- >
132
- <TextField
133
- label="Add any additional notes"
134
- placeholder="e.g., special instructions or edge cases"
135
- value={notes}
136
- onChange={e => {
137
- if (e.target.value) {
138
- setSkipReview(false);
139
- }
140
- setNotes(e.target.value);
141
- }}
142
- fullWidth
143
- multiline
144
- rows={3}
145
- variant="outlined"
146
- />
147
- </AccordionDetails>
148
- </Accordion>
149
- </Box>
150
-
151
- <Divider />
152
-
153
- <Box mt={2} mb={1}>
154
- <Typography variant="subtitle1">
155
- Express Checkout: <em>(optional)</em>
156
- </Typography>
157
- <FormControlLabel
158
- control={
159
- <Radio
160
- color="primary"
161
- checked={skipReview}
162
- onChange={e => {
163
- const checked = e.target.checked;
164
- setSkipReview(checked);
165
- if (checked) {
166
- setSelected([]);
167
- setNotes('');
168
- setExpanded('');
169
- }
170
- }}
171
- />
172
- }
173
- label="Skip review and Go to Cart."
174
- />
175
- </Box>
176
-
177
- <Box
178
- display="flex"
179
- justifyContent="flex-end"
180
- mt={2}
181
- mb={expanded.includes('review') ? 2 : 0}
182
- >
183
- <StepDots currentStep={currentStep} onStepChange={onStepChange} />
184
-
185
- <S.Button onClick={onCancel}>Cancel</S.Button>
186
- <S.Button onClick={handleSubmit}>Next</S.Button>
187
- </Box>
188
- </Box>
189
- );
190
- };
191
-
192
- export default AddToCartOptions;
@@ -1,96 +0,0 @@
1
- import React, { useMemo, useState } from 'react';
2
- import {
3
- FormGroup,
4
- FormControlLabel,
5
- Checkbox,
6
- TextField,
7
- Box
8
- } from '@material-ui/core';
9
- import * as S from './styles';
10
- import { StepDots } from './StepDots';
11
-
12
- const options = [
13
- 'Setting up my room layout (walls, doors, windows)',
14
- 'Selecting and placing my cabinets',
15
- 'Choosing door style',
16
- 'Understanding product options (e.g. cabinet construction, finishes, accessories)',
17
- 'Matching my budget',
18
- 'Using the DIY design app',
19
- 'Others'
20
- ];
21
-
22
- const CustomerRequestsForm = ({
23
- onSubmit,
24
- onCancel,
25
- currentStep,
26
- onStepChange
27
- }) => {
28
- const [selected, setSelected] = useState([]);
29
- const [notes, setNotes] = useState('');
30
-
31
- const handleToggle = option => () => {
32
- setSelected(prev =>
33
- prev.includes(option) ? prev.filter(v => v !== option) : [...prev, option]
34
- );
35
- };
36
-
37
- const payload = useMemo(
38
- () => ({
39
- reviewOptions: selected,
40
- notes: notes.trim()
41
- }),
42
- [selected, notes]
43
- );
44
-
45
- const handleSubmit = () => {
46
- if (onSubmit) onSubmit(payload);
47
- };
48
-
49
- return (
50
- <Box>
51
- <FormGroup>
52
- {options.map(option => (
53
- <FormControlLabel
54
- key={option}
55
- control={
56
- <Checkbox
57
- checked={selected.includes(option)}
58
- onChange={handleToggle(option)}
59
- color="primary"
60
- />
61
- }
62
- label={option}
63
- />
64
- ))}
65
- </FormGroup>
66
- {selected.includes('Others') && (
67
- <TextField
68
- label="Add any additional notes"
69
- placeholder="e.g., special instructions or edge cases"
70
- value={notes}
71
- fullWidth
72
- multiline
73
- rows={3}
74
- variant="outlined"
75
- onChange={e => setNotes(e.target.value)}
76
- />
77
- )}
78
-
79
- <Box display="flex" justifyContent="flex-end" mt={2}>
80
- <StepDots currentStep={currentStep} onStepChange={onStepChange} />
81
-
82
- <S.Button onClick={onCancel}>Cancel</S.Button>
83
- <S.Button
84
- style={{
85
- marginRight: 0
86
- }}
87
- onClick={handleSubmit}
88
- >
89
- Next
90
- </S.Button>
91
- </Box>
92
- </Box>
93
- );
94
- };
95
-
96
- export default CustomerRequestsForm;
@@ -1,54 +0,0 @@
1
- import React from 'react';
2
- import { Typography, Box } from '@material-ui/core';
3
- import * as S from './styles';
4
- import { StepDots } from './StepDots';
5
-
6
- const SkipDesignerReview = ({
7
- onBack,
8
- onProceed,
9
- currentStep,
10
- onStepChange
11
- }) => {
12
- return (
13
- <Box position="relative">
14
- <Typography variant="h6" gutterBottom>
15
- Going directly to the cart means:
16
- </Typography>
17
- <ul
18
- style={{
19
- marginTop: '1rem',
20
- display: 'flex',
21
- flexDirection: 'column',
22
- gap: '1rem'
23
- }}
24
- >
25
- <li>
26
- <Typography>
27
- You confirm your project is complete and accurate.
28
- </Typography>
29
- </li>
30
- <li>
31
- <Typography>
32
- You accept full responsibility for measurements and order details.
33
- </Typography>
34
- </li>
35
- </ul>
36
-
37
- <Typography>
38
- <strong>
39
- Recommended only for experienced DIY users or small/simple projects.
40
- </strong>{' '}
41
- Otherwise, we suggest a designer review for peace of mind.
42
- </Typography>
43
-
44
- <Box display="flex" justifyContent="flex-end" mt={2}>
45
- <StepDots currentStep={currentStep} onStepChange={onStepChange} />
46
-
47
- <S.Button onClick={onBack}>Back</S.Button>
48
- <S.Button onClick={onProceed}>Proceed to Cart</S.Button>
49
- </Box>
50
- </Box>
51
- );
52
- };
53
-
54
- export default SkipDesignerReview;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import { Box } from '@material-ui/core';
3
-
4
- export const StepDots = ({ currentStep = 0, totalSteps = 2, onStepChange }) => {
5
- const dots = Array.from({ length: totalSteps });
6
- return (
7
- <Box display="flex" alignItems="center" marginRight="auto">
8
- {dots.map((_, i) => (
9
- <Box
10
- key={i}
11
- onClick={onStepChange ? () => onStepChange(i) : undefined}
12
- style={{
13
- width: 10,
14
- height: 10,
15
- borderRadius: '50%',
16
- marginRight: i === totalSteps - 1 ? 0 : 8,
17
- background:
18
- i === currentStep ? 'rgb(98, 0, 238)' : 'rgba(0,0,0,0.25)',
19
- cursor: onStepChange ? 'pointer' : 'default'
20
- }}
21
- />
22
- ))}
23
- </Box>
24
- );
25
- };
@@ -1,116 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import {
3
- FormControl,
4
- FormControlLabel,
5
- FormLabel,
6
- Radio,
7
- RadioGroup
8
- } from '@material-ui/core';
9
- import { useCheckCart } from '../../../../../src/hooks/useCheckCart';
10
- import ls from 'localstorage-slim';
11
- import {
12
- CLIENTS_NAME,
13
- LOCAL_STORAGE_CART_ACTION
14
- } from '../../../../../src/constants';
15
- import Skeleton from '@material-ui/lab/Skeleton';
16
- import { useValidateToken } from '../../../../../src/hooks/useValidateToken';
17
-
18
- export default function CartChoice({ accessToken }) {
19
- const visualizerName = sessionStorage.getItem('visualizerName');
20
- const [cartAction, setCartAction] = React.useState('add');
21
-
22
- const handleChange = event => {
23
- const value = event.target.value;
24
- setCartAction(value);
25
- ls.set(LOCAL_STORAGE_CART_ACTION, value);
26
- };
27
-
28
- const { data } = useValidateToken(accessToken);
29
-
30
- const {
31
- data: { is_empty },
32
- isFetching: isCheckingCart
33
- } = useCheckCart({
34
- enabled: data?.source !== 'none'
35
- });
36
-
37
- useEffect(() => {
38
- if (is_empty) {
39
- ls.set(LOCAL_STORAGE_CART_ACTION, 'add');
40
- }
41
- }, [is_empty]);
42
-
43
- if (isCheckingCart || data?.source === 'none') {
44
- return (
45
- <div
46
- style={{
47
- marginBottom: '1rem'
48
- }}
49
- >
50
- <Skeleton
51
- variant="text"
52
- width={220}
53
- height={32}
54
- style={{ marginBottom: 16 }}
55
- />
56
- <div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>
57
- <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>
58
- <Skeleton variant="circle" width={24} height={24} />
59
- <Skeleton variant="text" width={120} height={28} />
60
- </div>
61
- <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>
62
- <Skeleton variant="circle" width={24} height={24} />
63
- <Skeleton variant="text" width={120} height={28} />
64
- </div>
65
- </div>
66
- </div>
67
- );
68
- }
69
-
70
- if (is_empty) {
71
- return <></>;
72
- }
73
-
74
- return (
75
- <div style={{ marginTop: '0.5rem', marginBottom: '1rem' }}>
76
- <FormControl component="fieldset">
77
- <FormLabel
78
- style={{ marginBottom: '0.5rem', fontSize: '1rem', color: 'black' }}
79
- >
80
- What would you like to do with your cart?
81
- </FormLabel>
82
- <RadioGroup
83
- aria-label="cart-choice"
84
- name="cart-choice"
85
- value={cartAction}
86
- onChange={handleChange}
87
- >
88
- <FormControlLabel
89
- value="add"
90
- control={<Radio style={{ color: 'rgb(76, 18, 161)' }} />}
91
- label="Add to Cart"
92
- />
93
- <FormControlLabel
94
- value="replace"
95
- control={<Radio style={{ color: 'rgb(76, 18, 161)' }} />}
96
- label="Replace Cart*"
97
- />
98
- </RadioGroup>
99
- {cartAction === 'replace' && (
100
- <FormLabel
101
- style={{
102
- fontSize: 14,
103
- color: 'rgba(0, 0, 0, 0.54)',
104
- paddingLeft: '1.75rem',
105
- lineHeight: '1rem'
106
- }}
107
- >
108
- {`*If you replace the items in your cart with your current design, any
109
- pre-existing items will be removed. Log in to your ${CLIENTS_NAME[visualizerName]}
110
- account and save them as a quote first if you wish to keep them.`}
111
- </FormLabel>
112
- )}
113
- </FormControl>
114
- </div>
115
- );
116
- }
@@ -1,38 +0,0 @@
1
- import Select from '@material-ui/core/Select';
2
- import MenuItem from '@material-ui/core/MenuItem';
3
- import React from 'react';
4
-
5
- export let DoorsConcernedMenu = ({ selected, data, onChange, getValue }) => {
6
- return data.length ? (
7
- <Select
8
- className="submit-for-quote-form-item-button"
9
- value={selected}
10
- onChange={e => onChange(e.target.value)}
11
- MenuProps={{
12
- PaperProps: {
13
- style: {
14
- background: '#464647',
15
- color: 'white'
16
- }
17
- }
18
- }}
19
- >
20
- {data.map((item, key) => (
21
- <MenuItem key={key} value={getValue(item)}>
22
- <div className="submit-for-quote-form-item-button-icon">
23
- <img
24
- height="20"
25
- src={item.thumbnail}
26
- className="submit-for-quote-form-item-button-img"
27
- />
28
- </div>
29
- <font size="2">{item.name}</font>
30
- </MenuItem>
31
- ))}
32
- </Select>
33
- ) : null;
34
- };
35
-
36
- DoorsConcernedMenu.defaultProps = {
37
- getValue: it => it.name
38
- };