ordering-ui-admin-external 1.25.1 → 1.26.1

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 (159) hide show
  1. package/_bundles/main.css +1829 -1829
  2. package/_bundles/{ordering-ui-admin.bb3d2f1a6bc2f5d19b6c.js → ordering-ui-admin.45097ebbca4f4a7d30b7.js} +2 -2
  3. package/_modules/components/BusinessIntelligence/AnalyticsCalendar/index.js +8 -1
  4. package/_modules/components/Delivery/DriversCompanyAddForm/styles.js +1 -1
  5. package/_modules/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/index.js +68 -0
  6. package/_modules/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/styles.js +42 -0
  7. package/_modules/components/Delivery/DriversGroupAddForm/BusinessesForm/index.js +89 -0
  8. package/_modules/components/Delivery/DriversGroupAddForm/BusinessesForm/styles.js +47 -0
  9. package/_modules/components/Delivery/DriversGroupAddForm/GeneralForm/index.js +106 -0
  10. package/_modules/components/Delivery/DriversGroupAddForm/GeneralForm/styles.js +16 -0
  11. package/_modules/components/Delivery/DriversGroupAddForm/PaymethodsForm/index.js +87 -0
  12. package/_modules/components/Delivery/DriversGroupAddForm/PaymethodsForm/styles.js +33 -0
  13. package/_modules/components/Delivery/DriversGroupAddForm/index.js +132 -0
  14. package/_modules/components/Delivery/DriversGroupAddForm/styles.js +18 -0
  15. package/_modules/components/Delivery/DriversGroupCompanies/styles.js +1 -1
  16. package/_modules/components/Delivery/DriversGroupDrivers/styles.js +1 -1
  17. package/_modules/components/Delivery/DriversGroupOrders/index.js +5 -5
  18. package/_modules/components/Delivery/DriversGroupsList/styles.js +1 -1
  19. package/_modules/components/Delivery/DriversGroupsListing/index.js +28 -7
  20. package/_modules/components/Delivery/DriversGroupsListing/styles.js +2 -2
  21. package/_modules/components/Delivery/UserAddForm/index.js +39 -6
  22. package/_modules/components/Delivery/UserAddForm/styles.js +28 -21
  23. package/_modules/components/Delivery/UserDetails/index.js +2 -2
  24. package/_modules/components/Home/HomePage/index.js +71 -3
  25. package/_modules/components/Home/HomePage/styles.js +27 -5
  26. package/_modules/components/Login/LoginForm/index.js +0 -5
  27. package/_modules/components/MyProducts/AdvancedLayouts/LayoutStyleGroup.js +46 -0
  28. package/_modules/components/MyProducts/AdvancedLayouts/index.js +213 -0
  29. package/_modules/components/MyProducts/AdvancedLayouts/styles.js +146 -0
  30. package/_modules/components/MyProducts/AdvancedSettings/index.js +12 -0
  31. package/_modules/components/MyProducts/CustomDomain/index.js +6 -4
  32. package/_modules/components/MyProducts/CustomDomain/styles.js +27 -9
  33. package/_modules/components/MyProducts/OrderingWebsite/index.js +94 -17
  34. package/_modules/components/MyProducts/OrderingWebsite/styles.js +20 -11
  35. package/_modules/components/Orders/AllInOne/DriversManager/index.js +128 -0
  36. package/_modules/components/Orders/AllInOne/DriversManager/styles.js +27 -0
  37. package/_modules/components/Orders/AllInOne/index.js +337 -0
  38. package/_modules/components/Orders/AllInOne/styles.js +67 -0
  39. package/_modules/components/Orders/CompanySelector/index.js +259 -0
  40. package/_modules/components/Orders/CompanySelector/styles.js +86 -0
  41. package/_modules/components/Orders/DriversBusyStatusFilter/styles.js +6 -3
  42. package/_modules/components/Orders/DriversList/index.js +3 -2
  43. package/_modules/components/Orders/DriversList/styles.js +2 -2
  44. package/_modules/components/Orders/DriversManager/index.js +2 -1
  45. package/_modules/components/Orders/DriversOnlineOfflineFilter/styles.js +5 -2
  46. package/_modules/components/Orders/OrderBill/RefundToWallet.js +1 -1
  47. package/_modules/components/Orders/OrderBill/index.js +17 -18
  48. package/_modules/components/Orders/OrderContactInformation/index.js +14 -3
  49. package/_modules/components/Orders/OrderDetails/index.js +1 -1
  50. package/_modules/components/Orders/OrderStatusSubFilter/styles.js +1 -1
  51. package/_modules/components/Orders/OrderToPrint/index.js +2 -1
  52. package/_modules/components/Orders/OrderToPrintTicket/index.js +4 -2
  53. package/_modules/components/Orders/OrdersContentHeader/index.js +2 -1
  54. package/_modules/components/Orders/OrdersListing/index.js +3 -1
  55. package/_modules/components/Orders/OrdersManager/index.js +5 -1
  56. package/_modules/components/Orders/OrdersTable/index.js +11 -10
  57. package/_modules/components/Orders/ProductItemAccordion/index.js +5 -9
  58. package/_modules/components/Orders/WebsocketStatus/index.js +119 -0
  59. package/_modules/components/Orders/WebsocketStatus/styles.js +65 -0
  60. package/_modules/components/Orders/index.js +7 -0
  61. package/_modules/components/Settings/IntegrationListing/Analytics.js +130 -0
  62. package/_modules/components/Settings/IntegrationListing/PaymentGateway.js +130 -0
  63. package/_modules/components/Settings/IntegrationListing/index.js +174 -31
  64. package/_modules/components/Settings/IntegrationListing/styles.js +42 -11
  65. package/_modules/components/Settings/NotificationSetting/index.js +25 -4
  66. package/_modules/components/Settings/NotificationSetting/styles.js +5 -3
  67. package/_modules/components/Settings/SettingsSelectUI/index.js +3 -2
  68. package/_modules/components/Shared/RangeCalendar/index.js +9 -1
  69. package/_modules/components/Shared/SearchBar/index.js +11 -6
  70. package/_modules/components/Shared/SearchBar/styles.js +9 -15
  71. package/_modules/components/SidebarMenu/index.js +19 -10
  72. package/_modules/components/Users/UserDetails/index.js +2 -2
  73. package/_modules/config/currency.js +1017 -0
  74. package/_modules/index.js +6 -0
  75. package/_modules/utils/index.js +26 -3
  76. package/index-template.js +10 -0
  77. package/package.json +3 -2
  78. package/src/components/BusinessIntelligence/AnalyticsCalendar/index.js +7 -1
  79. package/src/components/Delivery/DriversCompanyAddForm/styles.js +0 -1
  80. package/src/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/index.js +113 -0
  81. package/src/components/Delivery/DriversGroupAddForm/AdvancedLogisticsForm/styles.js +72 -0
  82. package/src/components/Delivery/DriversGroupAddForm/BusinessesForm/index.js +87 -0
  83. package/src/components/Delivery/DriversGroupAddForm/BusinessesForm/styles.js +87 -0
  84. package/src/components/Delivery/DriversGroupAddForm/GeneralForm/index.js +104 -0
  85. package/src/components/Delivery/DriversGroupAddForm/GeneralForm/styles.js +31 -0
  86. package/src/components/Delivery/DriversGroupAddForm/PaymethodsForm/index.js +82 -0
  87. package/src/components/Delivery/DriversGroupAddForm/PaymethodsForm/styles.js +46 -0
  88. package/src/components/Delivery/DriversGroupAddForm/index.js +130 -0
  89. package/src/components/Delivery/DriversGroupAddForm/styles.js +38 -0
  90. package/src/components/Delivery/DriversGroupCompanies/styles.js +1 -0
  91. package/src/components/Delivery/DriversGroupDrivers/styles.js +1 -0
  92. package/src/components/Delivery/DriversGroupOrders/index.js +2 -2
  93. package/src/components/Delivery/DriversGroupsList/styles.js +1 -1
  94. package/src/components/Delivery/DriversGroupsListing/index.js +35 -13
  95. package/src/components/Delivery/DriversGroupsListing/styles.js +1 -1
  96. package/src/components/Delivery/UserAddForm/index.js +34 -2
  97. package/src/components/Delivery/UserAddForm/styles.js +25 -0
  98. package/src/components/Delivery/UserDetails/index.js +1 -1
  99. package/src/components/Home/HomePage/index.js +215 -142
  100. package/src/components/Home/HomePage/styles.js +105 -1
  101. package/src/components/Login/LoginForm/index.js +0 -7
  102. package/src/components/MyProducts/AdvancedLayouts/LayoutStyleGroup.js +37 -0
  103. package/src/components/MyProducts/AdvancedLayouts/index.js +240 -0
  104. package/src/components/MyProducts/AdvancedLayouts/styles.js +388 -0
  105. package/src/components/MyProducts/AdvancedSettings/index.js +5 -2
  106. package/src/components/MyProducts/CustomDomain/index.js +35 -16
  107. package/src/components/MyProducts/CustomDomain/styles.js +73 -1
  108. package/src/components/MyProducts/OrderingWebsite/index.js +147 -79
  109. package/src/components/MyProducts/OrderingWebsite/styles.js +38 -0
  110. package/src/components/Orders/AllInOne/DriversManager/index.js +137 -0
  111. package/src/components/Orders/AllInOne/DriversManager/styles.js +51 -0
  112. package/src/components/Orders/AllInOne/index.js +339 -0
  113. package/src/components/Orders/AllInOne/styles.js +144 -0
  114. package/src/components/Orders/CompanySelector/index.js +250 -0
  115. package/src/components/Orders/CompanySelector/styles.js +142 -0
  116. package/src/components/Orders/DriversBusyStatusFilter/styles.js +7 -1
  117. package/src/components/Orders/DriversList/index.js +7 -4
  118. package/src/components/Orders/DriversList/styles.js +2 -1
  119. package/src/components/Orders/DriversManager/index.js +2 -0
  120. package/src/components/Orders/DriversOnlineOfflineFilter/styles.js +8 -1
  121. package/src/components/Orders/OrderBill/RefundToWallet.js +12 -10
  122. package/src/components/Orders/OrderBill/index.js +18 -18
  123. package/src/components/Orders/OrderContactInformation/index.js +20 -1
  124. package/src/components/Orders/OrderDetails/index.js +8 -8
  125. package/src/components/Orders/OrderStatusSubFilter/styles.js +1 -1
  126. package/src/components/Orders/OrderToPrint/index.js +2 -1
  127. package/src/components/Orders/OrderToPrintTicket/index.js +160 -173
  128. package/src/components/Orders/OrdersContentHeader/index.js +2 -0
  129. package/src/components/Orders/OrdersListing/index.js +2 -0
  130. package/src/components/Orders/OrdersManager/index.js +2 -2
  131. package/src/components/Orders/OrdersTable/index.js +39 -25
  132. package/src/components/Orders/ProductItemAccordion/index.js +3 -3
  133. package/src/components/Orders/WebsocketStatus/index.js +138 -0
  134. package/src/components/Orders/WebsocketStatus/styles.js +171 -0
  135. package/src/components/Orders/index.js +2 -0
  136. package/src/components/Settings/IntegrationListing/Analytics.js +127 -0
  137. package/src/components/Settings/IntegrationListing/PaymentGateway.js +126 -0
  138. package/src/components/Settings/IntegrationListing/index.js +189 -96
  139. package/src/components/Settings/IntegrationListing/styles.js +90 -1
  140. package/src/components/Settings/NotificationSetting/index.js +73 -10
  141. package/src/components/Settings/NotificationSetting/styles.js +19 -0
  142. package/src/components/Settings/SettingsSelectUI/index.js +12 -9
  143. package/src/components/Shared/RangeCalendar/index.js +7 -1
  144. package/src/components/Shared/SearchBar/index.js +14 -5
  145. package/src/components/Shared/SearchBar/styles.js +19 -32
  146. package/src/components/SidebarMenu/index.js +15 -8
  147. package/src/components/Users/UserDetails/index.js +1 -1
  148. package/src/config/currency.js +1010 -0
  149. package/src/index.js +2 -0
  150. package/src/utils/index.js +21 -0
  151. package/template/app.js +4 -0
  152. package/template/assets/images/preview/franchise.png +0 -0
  153. package/template/assets/images/preview/marketplace.png +0 -0
  154. package/template/assets/images/preview/single-store.png +0 -0
  155. package/template/components/AutologinParams/index.js +1 -3
  156. package/template/components/ListenPageChanges/index.js +1 -0
  157. package/template/helmetdata.json +7 -0
  158. package/template/pages/AllInOne/index.js +23 -0
  159. /package/_bundles/{ordering-ui-admin.bb3d2f1a6bc2f5d19b6c.js.LICENSE.txt → ordering-ui-admin.45097ebbca4f4a7d30b7.js.LICENSE.txt} +0 -0
@@ -8,6 +8,8 @@ import Skeleton from 'react-loading-skeleton'
8
8
  import { useWindowSize } from '../../../hooks/useWindowSize'
9
9
  import { useTheme } from 'styled-components'
10
10
  import { getCurrentDiffDays } from '../../../utils'
11
+ import { Modal } from '../../Shared'
12
+ import HubspotForm from 'react-hubspot-form'
11
13
  import {
12
14
  List as MenuIcon,
13
15
  Basket as OrdersIcon,
@@ -39,7 +41,11 @@ import {
39
41
  GreetingText,
40
42
  ProjectStatusDescription,
41
43
  ProjectCurrentStatus,
42
- ProjectStatusWrapper
44
+ ProjectStatusWrapper,
45
+ OrderingButtonWrapper,
46
+ OrderingButtonBlock,
47
+ CloseButtonWrapper,
48
+ HubspotFormWrapper
43
49
  } from './styles'
44
50
 
45
51
  const HomeUI = (props) => {
@@ -59,6 +65,8 @@ const HomeUI = (props) => {
59
65
  const { width } = useWindowSize()
60
66
  const [{ parsePrice }] = useUtils()
61
67
  const [sessionState] = useSession()
68
+ const [showForm, setShowForm] = useState(false)
69
+ const [isSubmitted, setIsSubmitted] = useState(false)
62
70
  const [ordering] = useApi()
63
71
 
64
72
  const project = {
@@ -205,154 +213,219 @@ const HomeUI = (props) => {
205
213
  updateTimeAxes()
206
214
  }, [])
207
215
 
216
+ const FormLoading = () => {
217
+ return (
218
+ <div>
219
+ {[...Array(4).keys()].map(key => (
220
+ <React.Fragment key={key}>
221
+ <Skeleton height={15} width={300} style={{ marginBottom: 10 }} />
222
+ <Skeleton height={35} style={{ marginBottom: 30 }} />
223
+ </React.Fragment>
224
+ ))}
225
+ </div>
226
+ )
227
+ }
228
+
208
229
  return (
209
- <HomeContainer>
210
- <Breadcrumb>
211
- {isCollapse && (
212
- <IconButton
213
- color='black'
214
- onClick={() => handleMenuCollapse(false)}
215
- >
216
- <MenuIcon />
217
- </IconButton>
230
+ <>
231
+ <HomeContainer>
232
+ {width > 997 && (
233
+ <OrderingButtonWrapper>
234
+ <span>{t('WHAT_DO_YOU_WANT_SEE_ORDERING', 'What do you want to see in ordering?')}</span>
235
+ <Button color='primary' onClick={() => setShowForm(true)}>{t('CLICK_HERE', 'Click here')}</Button>
236
+ </OrderingButtonWrapper>
218
237
  )}
219
- <h1>{t('HOME', 'Home')}</h1>
220
- </Breadcrumb>
238
+ <Breadcrumb>
239
+ {isCollapse && (
240
+ <IconButton
241
+ color='black'
242
+ onClick={() => handleMenuCollapse(false)}
243
+ >
244
+ <MenuIcon />
245
+ </IconButton>
246
+ )}
247
+ <h1>{t('HOME', 'Home')}</h1>
248
+ </Breadcrumb>
221
249
 
222
- {projectStatus?.loading && (
223
- <HeaderContainer>
224
- <Skeleton height={150} />
225
- </HeaderContainer>
226
- )}
250
+ {projectStatus?.loading && (
251
+ <HeaderContainer>
252
+ <Skeleton height={150} />
253
+ </HeaderContainer>
254
+ )}
227
255
 
228
- {!projectStatus?.loading && (
229
- <>
230
- {!projectStatus?.project?.current_status ? (
231
- <HeaderContainer>
232
- <WelcomeMsg>{t('WELCOME_TO_ORDERING', 'Welcome to Ordering')}!</WelcomeMsg>
233
- <GuideMsg>{t('ORDERING_GUIDE_MSG', 'Our guide helps you to configure your Ordering products.')}</GuideMsg>
234
- </HeaderContainer>
235
- ) : (
236
- <ProjectStatusContainer>
237
- <ProjectInfoWrapper>
238
- <GreetingText>{t('WELCOME', 'Welcome')} {sessionState?.user?.name}!</GreetingText>
239
- <ProjectStatusDescription>
240
- {
241
- (projectStatus.project?.current_status_until && projectStatus.project?.current_status === 'past_due')
242
- ? project[projectStatus.project?.current_status]?.description.replace('_days_', getCurrentDiffDays(projectStatus.project?.current_status_until))
243
- : project[projectStatus.project?.current_status]?.description
244
- }
245
- </ProjectStatusDescription>
246
- <ProjectStatusWrapper>
247
- <ProjectCurrentStatus
248
- isActive={projectStatus.project?.current_status === 'active'}
249
- >
250
- {project[projectStatus.project?.current_status]?.status}
251
- </ProjectCurrentStatus>
252
- <Button
253
- color='primary'
254
- borderRadius='8px'
255
- onClick={() => window.open(`https://${ordering?.project}.tryordering.com`, '_blank')}
256
- >
257
- {t('VISIT_MY_WEBSITE', 'Visit my Website')}
258
- </Button>
259
- </ProjectStatusWrapper>
260
- </ProjectInfoWrapper>
261
- <img src={project[projectStatus.project?.current_status]?.image} alt='' />
262
- </ProjectStatusContainer>
263
- )}
264
- </>
265
- )}
256
+ {!projectStatus?.loading && (
257
+ <>
258
+ {!projectStatus?.project?.current_status ? (
259
+ <HeaderContainer>
260
+ <WelcomeMsg>{t('WELCOME_TO_ORDERING', 'Welcome to Ordering')}!</WelcomeMsg>
261
+ <GuideMsg>{t('ORDERING_GUIDE_MSG', 'Our guide helps you to configure your Ordering products.')}</GuideMsg>
262
+ </HeaderContainer>
263
+ ) : (
264
+ <ProjectStatusContainer>
265
+ <ProjectInfoWrapper>
266
+ <GreetingText>{t('WELCOME', 'Welcome')} {sessionState?.user?.name}!</GreetingText>
267
+ <ProjectStatusDescription>
268
+ {
269
+ (projectStatus.project?.current_status_until && projectStatus.project?.current_status === 'past_due')
270
+ ? project[projectStatus.project?.current_status]?.description.replace('_days_', getCurrentDiffDays(projectStatus.project?.current_status_until))
271
+ : project[projectStatus.project?.current_status]?.description
272
+ }
273
+ </ProjectStatusDescription>
274
+ <ProjectStatusWrapper>
275
+ <ProjectCurrentStatus
276
+ isActive={projectStatus.project?.current_status === 'active'}
277
+ >
278
+ {project[projectStatus.project?.current_status]?.status}
279
+ </ProjectCurrentStatus>
280
+ <Button
281
+ color='primary'
282
+ borderRadius='8px'
283
+ onClick={() => window.open(`https://${ordering?.project}.tryordering.com`, '_blank')}
284
+ >
285
+ {t('VISIT_MY_WEBSITE', 'Visit my Website')}
286
+ </Button>
287
+ </ProjectStatusWrapper>
288
+ </ProjectInfoWrapper>
289
+ <img src={project[projectStatus.project?.current_status]?.image} alt='' />
290
+ </ProjectStatusContainer>
291
+ )}
292
+ </>
293
+ )}
266
294
 
267
- <ParagraphHeaders>
268
- <p>{t('REPORTS', 'Reports')}</p>
269
- <Button
270
- color='lightPrimary'
271
- onClick={() => handleGoToPage({ page: 'business_analytics' })}
272
- >
273
- {t('SEE_MORE_REPORTS', 'See more reports')}
274
- </Button>
275
- </ParagraphHeaders>
276
- <Reports>
277
- <SalesGraphContainer>
278
- <ChartHeaderContainer>
279
- <p>{t('THIS_MONTH_SALES', 'This month sales')}</p>
280
- {
281
- monthSalesList?.loading ? <Skeleton width={70} height={30} /> : <h3>{getTotalSales()}</h3>
282
- }
283
- </ChartHeaderContainer>
284
- {
285
- monthSalesList?.loading ? <Skeleton height={150} /> : <Line data={defaultData} options={options} height={width > 1400 ? '106px' : ''} />
286
- }
287
- </SalesGraphContainer>
288
- <OrdersAndSalesWrapper>
289
- <OrdersOrSalesContainer>
290
- <DetailsContent>
291
- <p>{t('TODAY_ORDERS', 'Today Orders')}</p>
292
- {
293
- ordersList?.loading ? <Skeleton width={70} height={30} /> : <h2>{ordersList?.orders}</h2>
294
- }
295
- </DetailsContent>
296
- <BoxIconContainer>
297
- <OrdersIcon />
298
- </BoxIconContainer>
299
- </OrdersOrSalesContainer>
300
- <OrdersOrSalesContainer>
301
- <DetailsContent>
302
- <p>{t('TODAY_SALES', 'Today Sales')}</p>
295
+ {width < 997 && (
296
+ <OrderingButtonBlock>
297
+ <h2>
298
+ {t('WHAT_DO_YOU_WANT', 'What do you want to')}
299
+ <span>{` ${t('SEE_IN_ORDERING', 'see in ordering')}`}?</span>
300
+ </h2>
301
+ <Button color='primary' onClick={() => setShowForm(true)}>{t('CLICK_HERE', 'Click here')}</Button>
302
+ </OrderingButtonBlock>
303
+ )}
304
+
305
+ <ParagraphHeaders>
306
+ <p>{t('REPORTS', 'Reports')}</p>
307
+ <Button
308
+ color='lightPrimary'
309
+ onClick={() => handleGoToPage({ page: 'business_analytics' })}
310
+ >
311
+ {t('SEE_MORE_REPORTS', 'See more reports')}
312
+ </Button>
313
+ </ParagraphHeaders>
314
+ <Reports>
315
+ <SalesGraphContainer>
316
+ <ChartHeaderContainer>
317
+ <p>{t('THIS_MONTH_SALES', 'This month sales')}</p>
303
318
  {
304
- todaySalelsList?.loading ? <Skeleton width={70} height={30} /> : <h2>{parsePrice(todaySalelsList?.sales, { separator: '.' })}</h2>
319
+ monthSalesList?.loading ? <Skeleton width={70} height={30} /> : <h3>{getTotalSales()}</h3>
305
320
  }
306
- </DetailsContent>
307
- <BoxIconContainer isSales>
308
- <SalesIcon />
309
- </BoxIconContainer>
310
- </OrdersOrSalesContainer>
311
- </OrdersAndSalesWrapper>
312
- </Reports>
313
- {sessionState?.user?.level !== 2 && (
314
- <>
315
- <ParagraphHeaders>
316
- <p>{t('SUPPORT', 'Support')}</p>
317
- </ParagraphHeaders>
318
- <AssistanceWidgets>
319
- <AssistanceTitle>
320
- <h1>{t('SUPPORT_TITLE_START', 'Which kind of')}{' '}
321
- <span>{t('SUPPORT_TITLE_END', 'assistance do you need?')}</span>
322
- </h1>
323
- <p>{t('ASSIST_SUB_TITILE', 'Choose the asistance you are looking for in the buttons below.')}</p>
324
- </AssistanceTitle>
325
- <AssistanceBody>
326
- <WidgeBlock>
327
- <h3>{t('CONTACT_SALES_TEAM', 'Contact our Sales Team')}</h3>
328
- <p>{t('CONTACT_SALES_SUB_TITLE', 'Ask about pricing, custom work, budget and more money talk')}</p>
329
- <Button outline color='primary' onClick={() => goToLink('sales')}>{t('SALES_CONTACT', 'Sales Contact')}</Button>
330
- </WidgeBlock>
331
- <WidgeBlock>
332
- <h3>{t('CONTACT_SUPPORT_TEAM', 'Contact our Support Team')}</h3>
333
- <p>{t('CONTACT_SUPPORT_SUB_TITLE', 'Ask about your ordering installation, products and features')}</p>
334
- <Button outline color='primary' onClick={() => goToLink('tech')}>{t('TECH_SUPPORT', 'Tech Support')}</Button>
335
- </WidgeBlock>
336
- </AssistanceBody>
337
- </AssistanceWidgets>
338
- </>
339
- )}
340
- {sessionState?.user?.level === 0 && (
341
- <FeedbackWidgets>
342
- <ParagraphHeaders>
343
- <p>{t('FEEDBACK', 'Feedback')}</p>
344
- </ParagraphHeaders>
345
- <FeedbackContainer>
346
- <h2>{t('SHARE_WITH_US_YOUR_IDEAS', 'Share with us your ideas')}</h2>
347
- <p className='center'>{t('FEEDBACK_DESCRIPTION', 'Do you think our functionalities can be improved or do you want to see a new feature?')}</p>
348
- <p>{t('SHARE_US_YOUR_COMMENTS', 'Share us your comments')}</p>
349
- <ButtonWrapper>
350
- <Button outline color='primary' onClick={() => goToLink('canny')}>{t('REQUESTS', 'Requests')}</Button>
351
- </ButtonWrapper>
352
- </FeedbackContainer>
353
- </FeedbackWidgets>
354
- )}
355
- </HomeContainer>
321
+ </ChartHeaderContainer>
322
+ {
323
+ monthSalesList?.loading ? <Skeleton height={150} /> : <Line data={defaultData} options={options} height={width > 1400 ? '106px' : ''} />
324
+ }
325
+ </SalesGraphContainer>
326
+ <OrdersAndSalesWrapper>
327
+ <OrdersOrSalesContainer>
328
+ <DetailsContent>
329
+ <p>{t('TODAY_ORDERS', 'Today Orders')}</p>
330
+ {
331
+ ordersList?.loading ? <Skeleton width={70} height={30} /> : <h2>{ordersList?.orders}</h2>
332
+ }
333
+ </DetailsContent>
334
+ <BoxIconContainer>
335
+ <OrdersIcon />
336
+ </BoxIconContainer>
337
+ </OrdersOrSalesContainer>
338
+ <OrdersOrSalesContainer>
339
+ <DetailsContent>
340
+ <p>{t('TODAY_SALES', 'Today Sales')}</p>
341
+ {
342
+ todaySalelsList?.loading ? <Skeleton width={70} height={30} /> : <h2>{parsePrice(todaySalelsList?.sales, { separator: '.' })}</h2>
343
+ }
344
+ </DetailsContent>
345
+ <BoxIconContainer isSales>
346
+ <SalesIcon />
347
+ </BoxIconContainer>
348
+ </OrdersOrSalesContainer>
349
+ </OrdersAndSalesWrapper>
350
+ </Reports>
351
+ {sessionState?.user?.level !== 2 && (
352
+ <>
353
+ <ParagraphHeaders>
354
+ <p>{t('SUPPORT', 'Support')}</p>
355
+ </ParagraphHeaders>
356
+ <AssistanceWidgets>
357
+ <AssistanceTitle>
358
+ <h1>{t('SUPPORT_TITLE_START', 'Which kind of')}{' '}
359
+ <span>{t('SUPPORT_TITLE_END', 'assistance do you need?')}</span>
360
+ </h1>
361
+ <p>{t('ASSIST_SUB_TITILE', 'Choose the asistance you are looking for in the buttons below.')}</p>
362
+ </AssistanceTitle>
363
+ <AssistanceBody>
364
+ <WidgeBlock>
365
+ <h3>{t('CONTACT_SALES_TEAM', 'Contact our Sales Team')}</h3>
366
+ <p>{t('CONTACT_SALES_SUB_TITLE', 'Ask about pricing, custom work, budget and more money talk')}</p>
367
+ <Button outline color='primary' onClick={() => goToLink('sales')}>{t('SALES_CONTACT', 'Sales Contact')}</Button>
368
+ </WidgeBlock>
369
+ <WidgeBlock>
370
+ <h3>{t('CONTACT_SUPPORT_TEAM', 'Contact our Support Team')}</h3>
371
+ <p>{t('CONTACT_SUPPORT_SUB_TITLE', 'Ask about your ordering installation, products and features')}</p>
372
+ <Button outline color='primary' onClick={() => goToLink('tech')}>{t('TECH_SUPPORT', 'Tech Support')}</Button>
373
+ </WidgeBlock>
374
+ </AssistanceBody>
375
+ </AssistanceWidgets>
376
+ </>
377
+ )}
378
+ {sessionState?.user?.level === 0 && (
379
+ <FeedbackWidgets>
380
+ <ParagraphHeaders>
381
+ <p>{t('FEEDBACK', 'Feedback')}</p>
382
+ </ParagraphHeaders>
383
+ <FeedbackContainer>
384
+ <h2>{t('SHARE_WITH_US_YOUR_IDEAS', 'Share with us your ideas')}</h2>
385
+ <p className='center'>{t('FEEDBACK_DESCRIPTION', 'Do you think our functionalities can be improved or do you want to see a new feature?')}</p>
386
+ <p>{t('SHARE_US_YOUR_COMMENTS', 'Share us your comments')}</p>
387
+ <ButtonWrapper>
388
+ <Button outline color='primary' onClick={() => goToLink('canny')}>{t('REQUESTS', 'Requests')}</Button>
389
+ </ButtonWrapper>
390
+ </FeedbackContainer>
391
+ </FeedbackWidgets>
392
+ )}
393
+ </HomeContainer>
394
+ <Modal
395
+ width='769px'
396
+ padding='30px'
397
+ title={t('ORDERING', 'Ordering')}
398
+ open={showForm}
399
+ onClose={() => {
400
+ setIsSubmitted(false)
401
+ setShowForm(false)
402
+ }}
403
+ >
404
+ <HubspotFormWrapper>
405
+ <HubspotForm
406
+ region='na1'
407
+ portalId='6130635'
408
+ formId='a307934c-a5da-4b85-845e-f6d616351814'
409
+ onFormSubmitted={() => setIsSubmitted(true)}
410
+ onReady={(form) => console.log('Form ready!')}
411
+ loading={<FormLoading />}
412
+ />
413
+ {isSubmitted && (
414
+ <CloseButtonWrapper>
415
+ <Button
416
+ color='primary'
417
+ onClick={() => {
418
+ setIsSubmitted(false)
419
+ setShowForm(false)
420
+ }}
421
+ >
422
+ {t('CLOSE', 'Close')}
423
+ </Button>
424
+ </CloseButtonWrapper>
425
+ )}
426
+ </HubspotFormWrapper>
427
+ </Modal>
428
+ </>
356
429
  )
357
430
  }
358
431
 
@@ -2,6 +2,7 @@ import styled, { css } from 'styled-components'
2
2
  import { lighten } from 'polished'
3
3
 
4
4
  export const HomeContainer = styled.div`
5
+ position: relative;
5
6
  flex: 1;
6
7
  padding: 20px;
7
8
  box-sizing: border-box;
@@ -32,7 +33,7 @@ export const Breadcrumb = styled.div`
32
33
  flex: 1;
33
34
  display: flex;
34
35
  align-items: center;
35
- margin: 10px 0 30px 0;
36
+ margin: 10px 0 50px 0;
36
37
  h1 {
37
38
  font-weight: bold;
38
39
  font-size: 20px;
@@ -483,3 +484,106 @@ export const ProjectStatusWrapper = styled.div`
483
484
  `}
484
485
  }
485
486
  `
487
+
488
+ export const OrderingButtonWrapper = styled.div`
489
+ position: absolute;
490
+ width: calc(100% - 125px);
491
+ top: 0;
492
+ right: 0;
493
+ display: flex;
494
+ align-items: center;
495
+ justify-content: space-between;
496
+ background-color: ${props => props.theme.colors.lightPrimary};
497
+ padding: 14px 24px;
498
+ border: 2px solid ${props => props.theme.colors.primary};
499
+ border-radius: 8px;
500
+ margin-left: 30px;
501
+ ${props => props.theme.rtl && css`
502
+ left: 0;
503
+ right: initial;
504
+ `}
505
+
506
+ span {
507
+ color: ${props => props.theme.colors.primary};
508
+ font-weight: 700;
509
+ font-size: 20px;
510
+ }
511
+
512
+ button {
513
+ height: 44px;
514
+ width: 180px;
515
+ margin: 0;
516
+ border-radius: 8px;
517
+ }
518
+
519
+ @media (min-width: 800px) {
520
+ button {
521
+ margin-right: 76px;
522
+ ${props => props.theme.rtl && css`
523
+ margin-right: 0;
524
+ margin-left: 76px;
525
+ `}
526
+ }
527
+ }
528
+
529
+ @media (min-width: 1200px) {
530
+ width: calc(100% - 130px);
531
+ button {
532
+ width: 216px;
533
+ }
534
+ }
535
+
536
+ @media (min-width: 1440px) {
537
+ button {
538
+ margin-right: 156px;
539
+ ${props => props.theme.rtl && css`
540
+ margin-right: 0;
541
+ margin-left: 156px;
542
+ `}
543
+ }
544
+ }
545
+ `
546
+
547
+ export const OrderingButtonBlock = styled.div`
548
+ box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
549
+ border-radius: 7.6px;
550
+ padding: 42px 20px;
551
+ margin-bottom: 42px;
552
+ display: flex;
553
+ flex-direction: column;
554
+ align-items: center;
555
+ h2 {
556
+ font-weight: 700;
557
+ font-size: 24px;
558
+ margin: 0;
559
+ text-align: center;
560
+ span {
561
+ color: ${props => props.theme.colors.primary};
562
+ }
563
+ }
564
+ button {
565
+ margin-top: 22px;
566
+ width: 214px;
567
+ height: 44px;
568
+ border-radius: 8px;
569
+ }
570
+ `
571
+
572
+ export const CloseButtonWrapper = styled.div`
573
+ position: sticky;
574
+ top: 100%;
575
+ display: flex;
576
+ justify-content: center;
577
+ margin-top: 20px;
578
+
579
+ button {
580
+ height: 44px;
581
+ border-radius: 8px;
582
+ width: 100%;
583
+ }
584
+ `
585
+
586
+ export const HubspotFormWrapper = styled.div`
587
+ min-height: 445px;
588
+ position: relative;
589
+ `
@@ -235,13 +235,6 @@ const LoginFormUI = (props) => {
235
235
  }
236
236
  }, [configs])
237
237
 
238
- useEffect(() => {
239
- setConfigFile({
240
- ...configFile,
241
- project: window.localStorage.getItem('project') || null
242
- })
243
- }, [])
244
-
245
238
  return (
246
239
  <LoginContainer isPopup={isPopup}>
247
240
  <LoginHeroContainer bgimage={configs?.dashboard_login_background?.value || theme.images?.general?.loginHero}>
@@ -0,0 +1,37 @@
1
+ import React, { useEffect, useState } from 'react'
2
+ import { RecordCircleFill, Circle } from 'react-bootstrap-icons'
3
+ import {
4
+ FormControl,
5
+ FontWeightListWrapper,
6
+ FontWeightItem
7
+ } from '../AdvancedSettings/styles'
8
+
9
+ export const LayoutStyleGroup = (props) => {
10
+ const { layoutList, layouts, path, handleUpdateThemeValue } = props
11
+
12
+ const [layoutType, setLayoutType] = useState([])
13
+
14
+ const handleChangeWeights = (value) => {
15
+ handleUpdateThemeValue(value, [path, 'type'].join('.'))
16
+ setLayoutType(value)
17
+ }
18
+
19
+ useEffect(() => {
20
+ setLayoutType(layouts?.type)
21
+ }, [JSON.stringify(layouts)])
22
+
23
+ return (
24
+ <>
25
+ <FormControl>
26
+ <FontWeightListWrapper>
27
+ {layoutList.map(_layoutType => (
28
+ <FontWeightItem key={_layoutType.value} onClick={() => handleChangeWeights(_layoutType?.value)}>
29
+ {layoutType === _layoutType.value ? <RecordCircleFill className='active' /> : <Circle />}
30
+ <span>{_layoutType.name}</span>
31
+ </FontWeightItem>
32
+ ))}
33
+ </FontWeightListWrapper>
34
+ </FormControl>
35
+ </>
36
+ )
37
+ }