ordering-ui-admin-external 1.23.4 → 1.24.0

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 (106) hide show
  1. package/_bundles/{ordering-ui-admin.152c2c4d99f05215f0c3.js → ordering-ui-admin.0c354f3e7da49f56465b.js} +2 -2
  2. package/_modules/components/CartRecovery/RecoveryActionAdd/index.js +325 -0
  3. package/_modules/components/CartRecovery/RecoveryGeneral/index.js +41 -17
  4. package/_modules/components/Delivery/DriversCompaniesList/styles.js +1 -1
  5. package/_modules/components/Delivery/DriversCompaniesListing/index.js +20 -2
  6. package/_modules/components/Delivery/DriversCompaniesListing/styles.js +2 -2
  7. package/_modules/components/Delivery/DriversCompanyAddForm/GeneralForm/index.js +122 -0
  8. package/_modules/components/Delivery/DriversCompanyAddForm/GeneralForm/styles.js +21 -0
  9. package/_modules/components/Delivery/DriversCompanyAddForm/ScheduleForm/index.js +27 -0
  10. package/_modules/components/Delivery/DriversCompanyAddForm/ScheduleForm/styles.js +14 -0
  11. package/_modules/components/Delivery/DriversCompanyAddForm/WebhooksForm/index.js +60 -0
  12. package/_modules/components/Delivery/DriversCompanyAddForm/WebhooksForm/styles.js +16 -0
  13. package/_modules/components/Delivery/DriversCompanyAddForm/index.js +114 -0
  14. package/_modules/components/Delivery/DriversCompanyAddForm/styles.js +18 -0
  15. package/_modules/components/MyProducts/AdvancedSettings/index.js +66 -82
  16. package/_modules/components/MyProducts/AdvancedSettings/styles.js +40 -44
  17. package/_modules/components/MyProducts/CustomDomain/index.js +150 -0
  18. package/_modules/components/MyProducts/CustomDomain/styles.js +38 -0
  19. package/_modules/components/MyProducts/OrderingWebsite/SelectBusiness.js +59 -0
  20. package/_modules/components/MyProducts/OrderingWebsite/SelectFranchise.js +59 -0
  21. package/_modules/components/MyProducts/OrderingWebsite/index.js +65 -36
  22. package/_modules/components/MyProducts/OrderingWebsite/styles.js +70 -35
  23. package/_modules/components/MyProducts/UploadAudio/index.js +170 -0
  24. package/_modules/components/MyProducts/UploadAudio/styles.js +30 -0
  25. package/_modules/components/MyProducts/index.js +8 -1
  26. package/_modules/components/Orders/DeliveriesLocation/index.js +1 -0
  27. package/_modules/components/Orders/OrderBill/index.js +4 -3
  28. package/_modules/components/Orders/OrderContactInformation/index.js +14 -12
  29. package/_modules/components/Orders/OrderDetails/index.js +6 -131
  30. package/_modules/components/Orders/OrdersTable/index.js +2 -2
  31. package/_modules/components/Settings/NotificationSetting/index.js +1 -1
  32. package/_modules/components/Settings/SettingsList/index.js +1 -1
  33. package/_modules/components/Settings/SettingsList/styles.js +2 -2
  34. package/_modules/components/Shared/InputPhoneNumber/index.js +3 -2
  35. package/_modules/components/SidebarMenu/index.js +22 -22
  36. package/_modules/components/Stores/BusinessDetails/index.js +6 -3
  37. package/_modules/components/Stores/BusinessDeviceDetail/index.js +66 -16
  38. package/_modules/components/Stores/BusinessDeviceDetail/styles.js +7 -5
  39. package/_modules/components/Stores/BusinessProductsListing/index.js +18 -16
  40. package/_modules/components/Stores/BusinessSalesChannel/index.js +13 -4
  41. package/_modules/components/Stores/BusinessSalesFacebook/FacebookProfile.js +2 -2
  42. package/_modules/components/Stores/BusinessSalesFacebook/index.js +2 -2
  43. package/_modules/components/Stores/BusinessSalesGoogle/index.js +2 -2
  44. package/_modules/components/Stores/BusinessSalesInstagram/AdvancedInstagram.js +3 -2
  45. package/_modules/components/Stores/BusinessSalesInstagram/GeneralInstagram.js +2 -2
  46. package/_modules/components/Stores/BusinessSalesInstagram/index.js +3 -5
  47. package/_modules/components/Stores/BusinessSummary/index.js +11 -9
  48. package/_modules/components/Users/CustomersListing/index.js +5 -3
  49. package/_modules/utils/index.js +211 -3
  50. package/index-template.js +1 -1
  51. package/index.html +1 -0
  52. package/package.json +2 -2
  53. package/public/push/onesignal/OneSignalSDKUpdaterWorker.js +1 -0
  54. package/public/push/onesignal/OneSignalSDKWorker.js +1 -0
  55. package/src/components/CartRecovery/RecoveryActionAdd/index.js +355 -0
  56. package/src/components/CartRecovery/RecoveryGeneral/index.js +23 -4
  57. package/src/components/Delivery/DriversCompaniesList/styles.js +1 -1
  58. package/src/components/Delivery/DriversCompaniesListing/index.js +29 -12
  59. package/src/components/Delivery/DriversCompaniesListing/styles.js +1 -1
  60. package/src/components/Delivery/DriversCompanyAddForm/GeneralForm/index.js +120 -0
  61. package/src/components/Delivery/DriversCompanyAddForm/GeneralForm/styles.js +32 -0
  62. package/src/components/Delivery/DriversCompanyAddForm/ScheduleForm/index.js +29 -0
  63. package/src/components/Delivery/DriversCompanyAddForm/ScheduleForm/styles.js +11 -0
  64. package/src/components/Delivery/DriversCompanyAddForm/WebhooksForm/index.js +69 -0
  65. package/src/components/Delivery/DriversCompanyAddForm/WebhooksForm/styles.js +24 -0
  66. package/src/components/Delivery/DriversCompanyAddForm/index.js +121 -0
  67. package/src/components/Delivery/DriversCompanyAddForm/styles.js +39 -0
  68. package/src/components/MyProducts/AdvancedSettings/index.js +35 -36
  69. package/src/components/MyProducts/AdvancedSettings/styles.js +3 -11
  70. package/src/components/MyProducts/CustomDomain/index.js +137 -0
  71. package/src/components/MyProducts/CustomDomain/styles.js +103 -0
  72. package/src/components/MyProducts/OrderingWebsite/SelectBusiness.js +47 -0
  73. package/src/components/MyProducts/OrderingWebsite/SelectFranchise.js +47 -0
  74. package/src/components/MyProducts/OrderingWebsite/index.js +99 -42
  75. package/src/components/MyProducts/OrderingWebsite/styles.js +126 -7
  76. package/src/components/MyProducts/UploadAudio/index.js +168 -0
  77. package/src/components/MyProducts/UploadAudio/styles.js +120 -0
  78. package/src/components/MyProducts/index.js +3 -1
  79. package/src/components/Orders/DeliveriesLocation/index.js +1 -0
  80. package/src/components/Orders/OrderBill/index.js +9 -6
  81. package/src/components/Orders/OrderContactInformation/index.js +5 -1
  82. package/src/components/Orders/OrderDetails/index.js +7 -35
  83. package/src/components/Orders/OrdersTable/index.js +3 -1
  84. package/src/components/Settings/NotificationSetting/index.js +2 -0
  85. package/src/components/Settings/SettingsList/index.js +53 -53
  86. package/src/components/Settings/SettingsList/styles.js +2 -1
  87. package/src/components/Settings/SettingsSelectUI/index.js +1 -1
  88. package/src/components/Shared/InputPhoneNumber/index.js +2 -2
  89. package/src/components/SidebarMenu/index.js +1 -0
  90. package/src/components/Stores/BusinessDetails/index.js +4 -1
  91. package/src/components/Stores/BusinessDeviceDetail/index.js +46 -7
  92. package/src/components/Stores/BusinessDeviceDetail/styles.js +11 -0
  93. package/src/components/Stores/BusinessProductsListing/index.js +6 -2
  94. package/src/components/Stores/BusinessSalesChannel/index.js +12 -6
  95. package/src/components/Stores/BusinessSalesFacebook/FacebookProfile.js +2 -2
  96. package/src/components/Stores/BusinessSalesFacebook/index.js +3 -3
  97. package/src/components/Stores/BusinessSalesGoogle/index.js +3 -3
  98. package/src/components/Stores/BusinessSalesInstagram/AdvancedInstagram.js +2 -2
  99. package/src/components/Stores/BusinessSalesInstagram/GeneralInstagram.js +2 -2
  100. package/src/components/Stores/BusinessSalesInstagram/index.js +3 -3
  101. package/src/components/Stores/BusinessSummary/index.js +6 -2
  102. package/src/components/Users/CustomersListing/index.js +2 -3
  103. package/src/utils/index.js +59 -1
  104. package/template/app.js +76 -3
  105. package/template/config.json +1 -0
  106. /package/_bundles/{ordering-ui-admin.152c2c4d99f05215f0c3.js.LICENSE.txt → ordering-ui-admin.0c354f3e7da49f56465b.js.LICENSE.txt} +0 -0
@@ -0,0 +1,103 @@
1
+ import styled, { css } from 'styled-components'
2
+
3
+ export const Container = styled.div`
4
+ > h1 {
5
+ font-weight: 700;
6
+ font-size: 24px;
7
+ line-height: 36px;
8
+ margin-top: 0px;
9
+ margin-bottom: 25px;
10
+ }
11
+ `
12
+
13
+ export const FormControl = styled.div`
14
+ margin-bottom: 20px;
15
+
16
+ label {
17
+ display: block;
18
+ margin-bottom: 12px;
19
+ font-weight: 400;
20
+ font-size: 14px;
21
+ line-height: 24px;
22
+ }
23
+ input {
24
+ width: 100%;
25
+ }
26
+ `
27
+
28
+ export const SelectWrapper = styled.div`
29
+ > div {
30
+ width: 100%;
31
+ border: none;
32
+
33
+ > div:first-child {
34
+ background-color: ${props => props.theme.colors.secundary};
35
+ height: 43px;
36
+ border: none;
37
+ border-radius: 7.6px;
38
+ font-weight: 400;
39
+ font-size: 14px;
40
+ line-height: 24px;
41
+ color: ${props => props.theme.colors.secundaryContrast};
42
+ }
43
+ .list {
44
+ background-color: ${props => props.theme.colors.secundary};
45
+ border: none;
46
+
47
+ .list-wrapper {
48
+ > div {
49
+ padding: 6px 10px;
50
+ &:hover {
51
+ background-color: #f2f5f7;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ `
58
+
59
+ export const Option = styled.div`
60
+ font-weight: 400;
61
+ font-size: 14px;
62
+ line-height: 24px;
63
+ color: ${props => props.theme.colors.secundaryContrast};
64
+ `
65
+
66
+ export const ButtonGroup = styled.div`
67
+ display: flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ margin-bottom: 15px;
71
+
72
+ button {
73
+ height: 44px;
74
+ margin: 15px;
75
+ border-radius: 8px;
76
+ }
77
+ `
78
+
79
+ export const CheckBoxWrapper = styled.div`
80
+ margin-bottom: 15px;
81
+ display: flex;
82
+ align-items: center;
83
+ cursor: pointer;
84
+ width: fit-content;
85
+ svg {
86
+ font-size: 16px;
87
+ color: ${props => props.theme.colors.secundaryLight};
88
+ &.active {
89
+ color: ${props => props.theme.colors.primary};
90
+ }
91
+ margin-right: 15px;
92
+ ${props => props.theme.rtl && css`
93
+ margin-left: 15px;
94
+ margin-right: 0px;
95
+ `}
96
+ }
97
+ span {
98
+ font-weight: 400;
99
+ font-size: 14px;
100
+ line-height: 24px;
101
+ user-select: none;
102
+ }
103
+ `
@@ -0,0 +1,47 @@
1
+ import React, { useEffect, useState } from 'react'
2
+ import { useLanguage, useUtils } from 'ordering-components-admin-external'
3
+ import { useTheme } from 'styled-components'
4
+ import { DefaultSelect as Select } from '../../../styles'
5
+ import { SelectWrapper, Option } from './styles'
6
+
7
+ export const SelectBusiness = (props) => {
8
+ const {
9
+ businessesList,
10
+ defaultValue,
11
+ onChange
12
+ } = props
13
+
14
+ const theme = useTheme()
15
+ const [, t] = useLanguage()
16
+ const [{ optimizeImage }] = useUtils()
17
+ const [businessOptions, setBusinessOptions] = useState([])
18
+
19
+ useEffect(() => {
20
+ if (businessesList?.loading || !businessesList?.businesses) return
21
+ const _businessOptions = []
22
+ businessesList.businesses.map(business => {
23
+ _businessOptions.push({
24
+ value: business?.slug,
25
+ content: (
26
+ <Option>
27
+ <img src={optimizeImage(business?.logo || theme.images?.dummies?.businessLogo, 'h_50,c_limit')} alt='' />
28
+ <span>{business?.name}</span>
29
+ </Option>
30
+ )
31
+ })
32
+ })
33
+ setBusinessOptions(_businessOptions)
34
+ }, [businessesList])
35
+
36
+ return (
37
+ <SelectWrapper>
38
+ <Select
39
+ placeholder={<Option>{t('SELECT_BUSINESS', 'Select business')}</Option>}
40
+ defaultValue={defaultValue}
41
+ options={businessOptions}
42
+ onChange={onChange}
43
+ optionInnerMaxHeight='300px'
44
+ />
45
+ </SelectWrapper>
46
+ )
47
+ }
@@ -0,0 +1,47 @@
1
+ import React, { useEffect, useState } from 'react'
2
+ import { useLanguage, useUtils } from 'ordering-components-admin-external'
3
+ import { useTheme } from 'styled-components'
4
+ import { DefaultSelect as Select } from '../../../styles'
5
+ import { SelectWrapper, Option } from './styles'
6
+
7
+ export const SelectFranchise = (props) => {
8
+ const {
9
+ franchisesList,
10
+ defaultValue,
11
+ onChange
12
+ } = props
13
+
14
+ const theme = useTheme()
15
+ const [, t] = useLanguage()
16
+ const [{ optimizeImage }] = useUtils()
17
+ const [options, setOptions] = useState([])
18
+
19
+ useEffect(() => {
20
+ if (franchisesList?.loading || !franchisesList?.franchises) return
21
+ const _options = []
22
+ franchisesList.franchises.map(franchise => {
23
+ _options.push({
24
+ value: franchise?.id,
25
+ content: (
26
+ <Option>
27
+ <img src={optimizeImage(franchise?.logo || theme.images?.dummies?.businessLogo, 'h_50,c_limit')} alt='' />
28
+ <span>{franchise?.name}</span>
29
+ </Option>
30
+ )
31
+ })
32
+ })
33
+ setOptions(_options)
34
+ }, [franchisesList])
35
+
36
+ return (
37
+ <SelectWrapper>
38
+ <Select
39
+ placeholder={<Option>{t('SELECT_FRANCHISE', 'Select a franchise')}</Option>}
40
+ defaultValue={defaultValue}
41
+ options={options}
42
+ onChange={onChange}
43
+ optionInnerMaxHeight='300px'
44
+ />
45
+ </SelectWrapper>
46
+ )
47
+ }
@@ -10,13 +10,19 @@ import {
10
10
  Square as UnCheckedIcon,
11
11
  InfoCircle,
12
12
  RecordCircleFill,
13
- Circle
13
+ Circle,
14
+ InfoCircleFill
14
15
  } from 'react-bootstrap-icons'
15
16
 
16
17
  import { useTheme } from 'styled-components'
17
18
  import { Alert, Modal, ImageCrop, ColorPicker } from '../../Shared'
18
19
  import { ContentForm } from '../ContentForm'
20
+ import Skeleton from 'react-loading-skeleton'
21
+ import { AdvancedSettings } from '../AdvancedSettings'
22
+ import { CustomDomain } from '../CustomDomain'
19
23
  import { bytesConverter } from '../../../utils'
24
+ import { SelectBusiness } from './SelectBusiness'
25
+ import { SelectFranchise } from './SelectFranchise'
20
26
  import {
21
27
  Container,
22
28
  HeaderTitleContainer,
@@ -44,10 +50,11 @@ import {
44
50
  HeaderInfoWrapper,
45
51
  InfoContent,
46
52
  RadioItem,
47
- SlugWrapper
53
+ CustomeDomainDesc,
54
+ TitleWrapper,
55
+ CustomDomainInfo,
56
+ CustomDomainInfoContent
48
57
  } from './styles'
49
- import Skeleton from 'react-loading-skeleton'
50
- import { AdvancedSettings } from '../AdvancedSettings'
51
58
 
52
59
  const OrderingWebsiteUI = (props) => {
53
60
  const {
@@ -57,7 +64,11 @@ const OrderingWebsiteUI = (props) => {
57
64
  handleUpdateSiteTheme,
58
65
  advancedValues,
59
66
  setAdvancedValues,
60
- themesList
67
+ themesList,
68
+ site,
69
+ setSite,
70
+ businessesList,
71
+ franchisesList
61
72
  } = props
62
73
 
63
74
  const [, t] = useLanguage()
@@ -75,10 +86,11 @@ const OrderingWebsiteUI = (props) => {
75
86
  const [homePageContent, setHomePageContent] = useState(false)
76
87
  const [footerContent, setFooterContent] = useState(false)
77
88
  const [selectedSetting, setSelectedSetting] = useState('basic')
89
+ const [isCustomDomain, setIsCustomDomain] = useState(false)
78
90
 
79
91
  const settingsList = [
80
- { key: 'basic', name: t('BASIC_SETTINGS', 'Basic Settings') },
81
- { key: 'advanced', name: t('ADVANCED_SETTINGS', 'Advanced Settings') }
92
+ { key: 'basic', name: t('BASIC_SETTINGS', 'Basic Settings') }
93
+ // { key: 'advanced', name: t('ADVANCED_SETTINGS', 'Advanced Settings') }
82
94
  ]
83
95
 
84
96
  const handleClickImage = (type) => {
@@ -221,7 +233,21 @@ const OrderingWebsiteUI = (props) => {
221
233
  <FormWrapper>
222
234
  <InputFormWrapper>
223
235
  <InnerBlock>
224
- <h4>{t('WEBSITE_SETTINGS', 'Website settings')}</h4>
236
+ <TitleWrapper>
237
+ <h4>{t('WEBSITE_SETTINGS', 'Website settings')}</h4>
238
+ <CustomDomainInfo>
239
+ <IconButton
240
+ color='primary'
241
+ >
242
+ <InfoCircleFill />
243
+ </IconButton>
244
+ <CustomDomainInfoContent>
245
+ <span>{t('CUSTOM_DOMAIN_INFO_DESC_1', 'When creating a custom domain, add your domain or subdomain without http protocol or slashes.')}</span>
246
+ <span>{t('EXAMPLE', 'Example')}: www.customerwebsite.ordering.co</span>
247
+ <span>{t('CUSTOM_DOMAIN_INFO_DESC_2', 'If you have problems with the set-up, please contact our')}<a href='https://www.ordering.co/contact-ordering' rel='noopener noreferrer' target='_blank'>{t('CUSTOMER_SUPPORT_TEAM', 'customer support team')}</a></span>
248
+ </CustomDomainInfoContent>
249
+ </CustomDomainInfo>
250
+ </TitleWrapper>
225
251
  <FormGroup>
226
252
  <label>
227
253
  {orderingTheme?.loading ? (
@@ -295,14 +321,48 @@ const OrderingWebsiteUI = (props) => {
295
321
  {orderingTheme?.loading ? (
296
322
  <Skeleton height={40} style={{ width: '100%' }} />
297
323
  ) : (
298
- <Button
299
- color='primary'
300
- outline
301
- borderRadius='8px'
302
- onClick={() => window.open('https://www.ordering.co/custom-domain-change', '_blank')}
303
- >
304
- {t('REQUEST_CUSTOM_DOMAIN', 'Request custom domain')}
305
- </Button>
324
+ <>
325
+ {site?.domain && site?.ssl_status !== 'error' && (
326
+ <TemporalDomail isDisabled={site?.ssl_process_status === 'pending'} marginBottom={site?.ssl_process_status === 'ended'}>
327
+ {t('VISIT', 'Visit')}: <a href={`https://${site?.domain}`} rel='noopener noreferrer' target='_blank'>https://{site?.domain}</a>
328
+ </TemporalDomail>
329
+ )}
330
+ {(site?.ssl_process_status === 'ended') && (
331
+ <Button
332
+ color='primary'
333
+ outline
334
+ borderRadius='8px'
335
+ onClick={() => setIsCustomDomain(true)}
336
+ >
337
+ {site?.domain ? t('REQUEST_CUSTOM_DOMAIN', 'Request custom domain') : t('CHANGE_CUSTOM_DOMAIN', 'Change custom domain')}
338
+ </Button>
339
+ )}
340
+ {site?.domain && (
341
+ <>
342
+ {site?.ssl_status === 'issued' && (
343
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_ISSUED', 'Your domain is now added , please verify the custom domain link above.')}</CustomeDomainDesc>
344
+ )}
345
+ {site?.ssl_status === 'pre-issued' && (
346
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_PRE_ISSUED', 'Process almost finish, please wait')}</CustomeDomainDesc>
347
+ )}
348
+ {site?.ssl_status === 'error' && (
349
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_ERROR', 'Custom domain can\'t be created, please try again with valid data')}</CustomeDomainDesc>
350
+ )}
351
+ {((site?.ssl_status === 'pending_validation') || (site?.ssl_status === 'void' && site?.ssl_process_status === 'pending')) && (
352
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_PENDING_VALIDATION', 'A custom domain is being created, please wait')}</CustomeDomainDesc>
353
+ )}
354
+ {site?.ssl_status === 'revoked' && (
355
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_REVOKED', 'Warning: Custom domain is revoked')}</CustomeDomainDesc>
356
+ )}
357
+ {site?.ssl_status === 'cancelled' && (
358
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_CANCELLED', 'Custom domain is cancelled')}</CustomeDomainDesc>
359
+ )}
360
+ {site?.ssl_status === 'expired' && (
361
+ <CustomeDomainDesc>{t('CUSTOM_DOMAIN_STATUS_EXPIRED', 'Custom domain is expired')}</CustomeDomainDesc>
362
+ )}
363
+ </>
364
+ )}
365
+ </>
306
366
  )}
307
367
  </FormGroup>
308
368
  </InnerBlock>
@@ -328,18 +388,11 @@ const OrderingWebsiteUI = (props) => {
328
388
  <span>{t('REPORT_HEADER_FRANCHISES', 'Franchise')}</span>
329
389
  </RadioItem>
330
390
  {themeValues?.website_theme?.components?.type === 'franchise' && (
331
- <SlugWrapper>
332
- <label>{t('FRANCHISE_SLUG', 'Franchise slug')}</label>
333
- <Input
334
- name='name'
335
- placeholder={t('SLUG', 'Slug')}
336
- value={themeValues?.website_theme?.components?.franchise_slug || ''}
337
- onChange={e => handleChangeValue(e.target.value, 'website_theme', 'franchise_slug')}
338
- onKeyPress={e => {
339
- if (e.which === 32) { e.preventDefault() }
340
- }}
341
- />
342
- </SlugWrapper>
391
+ <SelectFranchise
392
+ defaultValue={themeValues?.website_theme?.components?.franchise_slug}
393
+ franchisesList={franchisesList}
394
+ onChange={value => handleChangeValue(value, 'website_theme', 'franchise_slug')}
395
+ />
343
396
  )}
344
397
 
345
398
  <RadioItem
@@ -349,18 +402,11 @@ const OrderingWebsiteUI = (props) => {
349
402
  <span>{t('SINGLE_STORE', 'Single Store')}</span>
350
403
  </RadioItem>
351
404
  {themeValues?.website_theme?.components?.type === 'single_store' && (
352
- <SlugWrapper>
353
- <label>{t('BUSINESS_SLUG', 'Business slug')}</label>
354
- <Input
355
- name='name'
356
- placeholder={t('SLUG', 'Slug')}
357
- value={themeValues?.website_theme?.components?.business_slug || ''}
358
- onChange={e => handleChangeValue(e.target.value, 'website_theme', 'business_slug')}
359
- onKeyPress={e => {
360
- if (e.which === 32) { e.preventDefault() }
361
- }}
362
- />
363
- </SlugWrapper>
405
+ <SelectBusiness
406
+ defaultValue={themeValues?.website_theme?.components?.business_slug}
407
+ businessesList={businessesList}
408
+ onChange={value => handleChangeValue(value, 'website_theme', 'business_slug')}
409
+ />
364
410
  )}
365
411
  </>
366
412
  )}
@@ -547,14 +593,14 @@ const OrderingWebsiteUI = (props) => {
547
593
  </Button>
548
594
  </FormWrapper>
549
595
  )}
550
- {/* {selectedSetting === 'advanced' && !orderingTheme?.loading && (
596
+ {selectedSetting === 'advanced' && !orderingTheme?.loading && (
551
597
  <AdvancedSettings
552
598
  themesList={themesList}
553
599
  advancedValues={advancedValues}
554
600
  setAdvancedValues={setAdvancedValues}
555
601
  handleUpdateSiteTheme={handleUpdateSiteTheme}
556
602
  />
557
- )} */}
603
+ )}
558
604
  </Container>
559
605
  <Alert
560
606
  title={t('ORDERING', 'Ordering')}
@@ -606,6 +652,17 @@ const OrderingWebsiteUI = (props) => {
606
652
  type='footer_content'
607
653
  />
608
654
  </Modal>
655
+ <Modal
656
+ width='70%'
657
+ open={isCustomDomain}
658
+ onClose={() => setIsCustomDomain(false)}
659
+ >
660
+ <CustomDomain
661
+ site={site}
662
+ onClose={() => setIsCustomDomain(false)}
663
+ setSite={setSite}
664
+ />
665
+ </Modal>
609
666
  </>
610
667
  )
611
668
  }
@@ -178,6 +178,18 @@ export const TemporalDomail = styled.div`
178
178
  > a {
179
179
  color: ${props => props.theme.colors.primary};
180
180
  }
181
+
182
+ ${({ isDisabled }) => isDisabled && css`
183
+ pointer-events: none;
184
+ color: ${props => props.theme.colors.disabled};
185
+ > a {
186
+ color: ${props => props.theme.colors.disabled};
187
+ }
188
+ `}
189
+
190
+ ${({ marginBottom }) => marginBottom && css`
191
+ margin-bottom: 10px;
192
+ `}
181
193
  `
182
194
 
183
195
  export const ImageFormGroup = styled.div`
@@ -472,16 +484,123 @@ export const RadioItem = styled.div`
472
484
  line-height: 24px;
473
485
  }
474
486
  `
475
- export const SlugWrapper = styled.div`
476
- margin-bottom: 20px;
477
- label {
487
+
488
+ export const CustomeDomainDesc = styled.p`
489
+ margin-top: 5px;
490
+ margin-bottom: 0px;
491
+ font-weight: 400;
492
+ font-size: 12px;
493
+ `
494
+
495
+ export const TitleWrapper = styled.div`
496
+ display: flex;
497
+ align-items: center;
498
+ `
499
+
500
+ export const CustomDomainInfo = styled.div`
501
+ position: relative;
502
+
503
+ > button {
504
+ height: 21px;
505
+ svg {
506
+ width: 13px;
507
+ height: 13px;
508
+ color: ${props => props.theme.colors.headingColor};
509
+ }
510
+ }
511
+ &:hover > div {
512
+ visibility: visible;
513
+ opacity: 1;
514
+ }
515
+ `
516
+
517
+ export const CustomDomainInfoContent = styled.div`
518
+ position: absolute;
519
+ top: 100%;
520
+ z-index: 999;
521
+ background: ${props => props.theme.colors.backgroundInfo};
522
+ box-sizing: border-box;
523
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
524
+ border-radius: 7.6px;
525
+ padding: 8px 12px;
526
+ font-size: 12px;
527
+ line-height: 18px;
528
+ min-width: 150px;
529
+ transition: all 0.3s linear;
530
+ visibility: hidden;
531
+ opacity: 0;
532
+ right: -100px;
533
+ ${props => props.theme.rtl && css`
534
+ left: 0px;s
535
+ right: initial;
536
+ `}
537
+
538
+ span {
478
539
  display: block;
479
- margin-bottom: 12px;
480
- font-weight: 400;
540
+ }
541
+
542
+ a {
543
+ color: ${props => props.theme.colors.primary};
544
+ padding-left: 5px;
545
+ }
546
+
547
+ @media (min-width: 576px) {
548
+ min-width: 350px;
549
+ padding: 10px 16px;
550
+ left: 0px;
551
+ ${props => props.theme.rtl && css`
552
+ right: 0px;
553
+ left: initial;
554
+ `}
555
+ }
556
+ `
557
+ export const Option = styled.div`
558
+ display: flex;
559
+ align-items: center;
560
+ cursor: pointer;
561
+ padding: 5px;
562
+ border-radius: 7.6px;
563
+ img {
564
+ min-height: 38px;
565
+ min-width: 38px;
566
+ height: 38px;
567
+ width: 38px;
568
+ border-radius: 8px;
569
+ object-fit: cover;
570
+ box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
571
+ ${props => props.theme?.rtl ? css`
572
+ margin-left: 8px;
573
+ ` : css`
574
+ margin-right: 8px;
575
+ `}
576
+ }
577
+ > span {
578
+ max-width: 200px;
481
579
  font-size: 14px;
482
- line-height: 24px;
580
+ font-weight: 700;
581
+ text-overflow: ellipsis;
582
+ white-space: nowrap;
583
+ overflow: hidden;
483
584
  }
484
- > input, textarea {
585
+
586
+ @media (min-width: 768px) {
587
+ > span {
588
+ max-width: 560px;
589
+ }
590
+ }
591
+ `
592
+ export const SelectWrapper = styled.div`
593
+ margin-bottom: 20px;
594
+
595
+ .select {
485
596
  width: 100%;
597
+ background: ${props => props.theme.colors.secundary};
598
+ border: none;
599
+ font-size: 14px;
600
+
601
+ > div:first-child {
602
+ padding-top: 4px;
603
+ padding-bottom: 4px;
604
+ }
486
605
  }
487
606
  `