ordering-ui-admin-external 1.12.5 → 1.13.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 (118) hide show
  1. package/_bundles/{ordering-ui-admin.d53a7ee886aee7937e13.js → ordering-ui-admin.6980225e31cb682b0268.js} +2 -2
  2. package/_bundles/{ordering-ui-admin.d53a7ee886aee7937e13.js.LICENSE.txt → ordering-ui-admin.6980225e31cb682b0268.js.LICENSE.txt} +0 -0
  3. package/_modules/components/BusinessIntelligence/BusinessReviewDetails/index.js +2 -12
  4. package/_modules/components/BusinessIntelligence/BusinessReviewList/index.js +5 -3
  5. package/_modules/components/BusinessIntelligence/BusinessReviewList/styles.js +1 -1
  6. package/_modules/components/BusinessIntelligence/ReviewProductsListing/index.js +31 -49
  7. package/_modules/components/BusinessIntelligence/ReviewProductsListing/styles.js +20 -33
  8. package/_modules/components/BusinessIntelligence/ReviewsListing/index.js +54 -7
  9. package/_modules/components/BusinessIntelligence/ReviewsListing/styles.js +7 -3
  10. package/_modules/components/Delivery/DriversGroupGeneralForm/index.js +14 -14
  11. package/_modules/components/Loyalty/GiftCards/index.js +168 -0
  12. package/_modules/components/Loyalty/GiftCards/styles.js +80 -0
  13. package/_modules/components/Loyalty/PointsWalletLevels/index.js +5 -2
  14. package/_modules/components/Marketing/BannerDetails/BannerImages.js +6 -4
  15. package/_modules/components/Marketing/BannerDetails/index.js +2 -1
  16. package/_modules/components/Marketing/BannerImageDetails/index.js +1 -1
  17. package/_modules/components/Marketing/PageBanner/index.js +3 -1
  18. package/_modules/components/Marketing/PageBanner/styles.js +1 -1
  19. package/_modules/components/MyProducts/CustomProject/index.js +49 -0
  20. package/_modules/components/MyProducts/CustomProject/styles.js +27 -0
  21. package/_modules/components/MyProducts/index.js +8 -1
  22. package/_modules/components/Orders/OrderDetailsHeader/index.js +4 -4
  23. package/_modules/components/Settings/ApiKeysList/index.js +3 -1
  24. package/_modules/components/Settings/ApiKeysList/styles.js +4 -10
  25. package/_modules/components/Settings/Deliverect/index.js +4 -1
  26. package/_modules/components/Settings/Deliverect/styles.js +33 -31
  27. package/_modules/components/Settings/DoordashConnect/index.js +4 -1
  28. package/_modules/components/Settings/DoordashConnect/styles.js +31 -29
  29. package/_modules/components/Settings/ItsaCheckmate/index.js +4 -1
  30. package/_modules/components/Settings/ItsaCheckmate/styles.js +33 -39
  31. package/_modules/components/Settings/LalamoveConnect/index.js +4 -1
  32. package/_modules/components/Settings/LalamoveConnect/styles.js +32 -30
  33. package/_modules/components/Settings/LanguageTransTable/index.js +9 -2
  34. package/_modules/components/Settings/PickerExpress/index.js +4 -1
  35. package/_modules/components/Settings/PickerExpress/styles.js +32 -30
  36. package/_modules/components/Settings/PluginList/index.js +3 -1
  37. package/_modules/components/Settings/PluginList/styles.js +4 -8
  38. package/_modules/components/Settings/SettingsDetail/index.js +4 -1
  39. package/_modules/components/Settings/SettingsDetail/styles.js +15 -21
  40. package/_modules/components/Settings/SettingsList/index.js +16 -0
  41. package/_modules/components/Settings/SettingsList/styles.js +4 -1
  42. package/_modules/components/Settings/WebhookList/index.js +4 -2
  43. package/_modules/components/Settings/WebhookList/styles.js +4 -8
  44. package/_modules/components/Shared/ImageCrop/index.js +4 -2
  45. package/_modules/components/SidebarMenu/index.js +13 -10
  46. package/_modules/components/Stores/BusinessCateringDelivery/index.js +215 -0
  47. package/_modules/components/Stores/BusinessCateringDelivery/styles.js +20 -0
  48. package/_modules/components/Stores/BusinessDetails/index.js +5 -2
  49. package/_modules/components/Stores/BusinessPreorderDetails/index.js +18 -4
  50. package/_modules/components/Stores/BusinessPreorderDetails/styles.js +7 -5
  51. package/_modules/components/Stores/BusinessSummary/index.js +1 -1
  52. package/_modules/components/Stores/BusinessesListing/index.js +14 -14
  53. package/_modules/components/Stores/BusinessesListing/styles.js +1 -3
  54. package/_modules/components/Stores/ProductTagDetails/styles.js +1 -1
  55. package/_modules/components/Stores/SeoOptions/styles.js +1 -1
  56. package/_modules/index.js +6 -0
  57. package/index-template.js +3 -1
  58. package/package.json +2 -2
  59. package/src/components/BusinessIntelligence/BusinessReviewDetails/index.js +3 -7
  60. package/src/components/BusinessIntelligence/BusinessReviewList/index.js +13 -9
  61. package/src/components/BusinessIntelligence/BusinessReviewList/styles.js +2 -1
  62. package/src/components/BusinessIntelligence/ReviewProductsListing/index.js +33 -55
  63. package/src/components/BusinessIntelligence/ReviewProductsListing/styles.js +3 -53
  64. package/src/components/BusinessIntelligence/ReviewsListing/index.js +59 -8
  65. package/src/components/BusinessIntelligence/ReviewsListing/styles.js +19 -0
  66. package/src/components/Delivery/DriversGroupGeneralForm/index.js +14 -14
  67. package/src/components/Loyalty/GiftCards/index.js +200 -0
  68. package/src/components/Loyalty/GiftCards/styles.js +147 -0
  69. package/src/components/Loyalty/PointsWalletLevels/index.js +9 -12
  70. package/src/components/Marketing/BannerDetails/BannerImages.js +5 -3
  71. package/src/components/Marketing/BannerDetails/index.js +1 -0
  72. package/src/components/Marketing/BannerImageDetails/index.js +1 -1
  73. package/src/components/Marketing/PageBanner/index.js +4 -3
  74. package/src/components/Marketing/PageBanner/styles.js +5 -0
  75. package/src/components/MyProducts/CustomProject/index.js +56 -0
  76. package/src/components/MyProducts/CustomProject/styles.js +108 -0
  77. package/src/components/MyProducts/index.js +3 -1
  78. package/src/components/Orders/OrderDetailsHeader/index.js +2 -2
  79. package/src/components/Settings/ApiKeysList/index.js +5 -4
  80. package/src/components/Settings/ApiKeysList/styles.js +5 -11
  81. package/src/components/Settings/Deliverect/index.js +2 -3
  82. package/src/components/Settings/Deliverect/styles.js +23 -0
  83. package/src/components/Settings/DoordashConnect/index.js +2 -3
  84. package/src/components/Settings/DoordashConnect/styles.js +23 -0
  85. package/src/components/Settings/ItsaCheckmate/index.js +2 -3
  86. package/src/components/Settings/ItsaCheckmate/styles.js +23 -26
  87. package/src/components/Settings/LalamoveConnect/index.js +2 -3
  88. package/src/components/Settings/LalamoveConnect/styles.js +23 -0
  89. package/src/components/Settings/LanguageTransTable/index.js +12 -2
  90. package/src/components/Settings/PickerExpress/index.js +2 -3
  91. package/src/components/Settings/PickerExpress/styles.js +23 -0
  92. package/src/components/Settings/PluginList/index.js +4 -3
  93. package/src/components/Settings/PluginList/styles.js +3 -6
  94. package/src/components/Settings/SettingsDetail/index.js +3 -4
  95. package/src/components/Settings/SettingsDetail/styles.js +24 -27
  96. package/src/components/Settings/SettingsList/index.js +43 -0
  97. package/src/components/Settings/SettingsList/styles.js +1 -1
  98. package/src/components/Settings/WebhookList/index.js +5 -4
  99. package/src/components/Settings/WebhookList/styles.js +3 -5
  100. package/src/components/Shared/ImageCrop/index.js +4 -2
  101. package/src/components/SidebarMenu/index.js +14 -7
  102. package/src/components/Stores/BusinessCateringDelivery/index.js +174 -0
  103. package/src/components/Stores/BusinessCateringDelivery/styles.js +53 -0
  104. package/src/components/Stores/BusinessDetails/index.js +5 -2
  105. package/src/components/Stores/BusinessPreorderDetails/index.js +38 -11
  106. package/src/components/Stores/BusinessPreorderDetails/styles.js +9 -1
  107. package/src/components/Stores/BusinessSummary/index.js +1 -1
  108. package/src/components/Stores/BusinessesListing/index.js +57 -56
  109. package/src/components/Stores/BusinessesListing/styles.js +3 -11
  110. package/src/components/Stores/ProductTagDetails/styles.js +1 -0
  111. package/src/components/Stores/SeoOptions/styles.js +1 -0
  112. package/src/index.js +3 -1
  113. package/template/app.js +4 -4
  114. package/template/assets/images/myProducts/custom-project.png +0 -0
  115. package/template/components/ListenPageChanges/index.js +1 -1
  116. package/template/helmetdata.json +7 -7
  117. package/template/pages/CustomProject/index.js +12 -0
  118. package/template/pages/ReviewProducts/index.js +0 -22
@@ -11,8 +11,7 @@ import {
11
11
  ApiKeysListContainer,
12
12
  Header,
13
13
  ApiKeysListTable,
14
- DropdownButtonWrapper,
15
- AddNewButton
14
+ DropdownButtonWrapper
16
15
  } from './styles'
17
16
 
18
17
  const ApiKeysListUI = (props) => {
@@ -106,11 +105,13 @@ const ApiKeysListUI = (props) => {
106
105
  ))
107
106
  )}
108
107
  </ApiKeysListTable>
109
- <AddNewButton
108
+ <Button
109
+ color='primary'
110
+ borderRadius='8px'
110
111
  onClick={() => handleAddApiKey()}
111
112
  >
112
113
  {t('ADD_API_KEY', 'Add API Key')}
113
- </AddNewButton>
114
+ </Button>
114
115
  </ApiKeysListContainer>
115
116
  <Alert
116
117
  title={t('WEB_APPNAME', 'Ordering')}
@@ -4,6 +4,11 @@ export const ApiKeysListContainer = styled.div`
4
4
  width: 100%;
5
5
  padding: 20px;
6
6
  box-sizing: border-box;
7
+
8
+ > button {
9
+ height: 44px;
10
+ margin: 20px 0;
11
+ }
7
12
  `
8
13
 
9
14
  export const Header = styled.div`
@@ -126,14 +131,3 @@ export const DropdownButtonWrapper = styled.div`
126
131
  }
127
132
  }
128
133
  `
129
- export const AddNewButton = styled.div`
130
- cursor: pointer;
131
- font-size: 12px;
132
- color: ${props => props.theme.colors.lightGray};
133
- margin: 20px 0;
134
- width: fit-content;
135
-
136
- &:hover {
137
- color: ${props => props.theme.colors.primary};
138
- }
139
- `
@@ -8,7 +8,6 @@ import { useWindowSize } from '../../../hooks/useWindowSize'
8
8
 
9
9
  import {
10
10
  Header,
11
- AllSetting,
12
11
  Description,
13
12
  CategoryExtraContent,
14
13
  Container,
@@ -119,10 +118,10 @@ export const Deliverect = (props) => {
119
118
  <Button color='lightPrimary'>{t('NEW', 'New')}</Button>
120
119
  </Header>
121
120
  <Description dangerouslySetInnerHTML={{ __html: t('SYNC_DEC_SECOND', 'Deliverect integrates all your <span>online orders</span> to your <span>existing POS</span> or our <span>Delivery Manger app.</span> Restaurants large and small rely on Deliverect to reduce failures and order mistakes while speeding up order preparation.') }} />
122
- <AllSetting onClick={() => setSettingsOpen(true)}>
121
+ <Button color='primary' borderRadius='8px' className='all-setting' onClick={() => setSettingsOpen(true)}>
123
122
  <span>{t('SETTINGS', 'All settings')}</span>
124
123
  <BsArrowRight />
125
- </AllSetting>
124
+ </Button>
126
125
  </DeliverectContainer>
127
126
  {settingsOpen && (
128
127
  <>
@@ -7,6 +7,29 @@ export const DeliverectContainer = styled.div`
7
7
  overflow-x: hidden;
8
8
  position: relative;
9
9
 
10
+ button.all-setting {
11
+ height: 44px;
12
+ user-select: none;
13
+ margin-top: 36px;
14
+ span {
15
+ font-weight: 600;
16
+ font-size: 14px;
17
+ }
18
+ svg {
19
+ margin-left: 5px;
20
+ transition: 0.2s linear;
21
+ ${props => props.theme.rtl && css`
22
+ margin-right: 5px;
23
+ margin-left: 0px;
24
+ `}
25
+ }
26
+ &:hover {
27
+ svg {
28
+ transform: translateX(3px);
29
+ }
30
+ }
31
+ }
32
+
10
33
  @media (min-width: 768px) {
11
34
  padding: 26px 40px;
12
35
  }
@@ -7,7 +7,6 @@ import { XLg } from 'react-bootstrap-icons'
7
7
 
8
8
  import {
9
9
  Header,
10
- AllSetting,
11
10
  Description,
12
11
  CategoryExtraContent,
13
12
  Container,
@@ -164,10 +163,10 @@ const DoordashConnectUI = (props) => {
164
163
  <Description>
165
164
  {t('CONNECT_WITH_DOORDASH_DESCRIPTION', 'If you have already worked with Doordash or are running your business with Doordash and Ordering simultaneously, this integration will help you connect both platforms and assign orders through them, making your job easy and automated.')}
166
165
  </Description>
167
- <AllSetting onClick={() => setSettingsOpen(true)}>
166
+ <Button color='primary' borderRadius='8px' className='all-setting' onClick={() => setSettingsOpen(true)}>
168
167
  <span>{t('SETTINGS', 'All settings')}</span>
169
168
  <BsArrowRight />
170
- </AllSetting>
169
+ </Button>
171
170
  </DoordashConnectContainer>
172
171
  {settingsOpen && (
173
172
  <>
@@ -7,6 +7,29 @@ export const DoordashConnectContainer = styled.div`
7
7
  overflow-x: hidden;
8
8
  position: relative;
9
9
 
10
+ button.all-setting {
11
+ height: 44px;
12
+ user-select: none;
13
+ margin-top: 36px;
14
+ span {
15
+ font-weight: 600;
16
+ font-size: 14px;
17
+ }
18
+ svg {
19
+ margin-left: 5px;
20
+ transition: 0.2s linear;
21
+ ${props => props.theme.rtl && css`
22
+ margin-right: 5px;
23
+ margin-left: 0px;
24
+ `}
25
+ }
26
+ &:hover {
27
+ svg {
28
+ transform: translateX(3px);
29
+ }
30
+ }
31
+ }
32
+
10
33
  @media (min-width: 768px) {
11
34
  padding: 26px 40px;
12
35
  }
@@ -8,7 +8,6 @@ import { useWindowSize } from '../../../hooks/useWindowSize'
8
8
 
9
9
  import {
10
10
  Header,
11
- AllSetting,
12
11
  Description,
13
12
  CategoryExtraContent,
14
13
  Container,
@@ -140,10 +139,10 @@ export const ItsaCheckmate = (props) => {
140
139
  <p>{t('ITSACHECKMATE_MENU_4', 'Add, edit, or delete items ')}</p>
141
140
  </div>
142
141
  </Description>
143
- <AllSetting onClick={() => setSettingsOpen(true)}>
142
+ <Button color='primary' borderRadius='8px' className='all-setting' onClick={() => setSettingsOpen(true)}>
144
143
  <span>{t('SETTINGS', 'All settings')}</span>
145
144
  <BsArrowRight />
146
- </AllSetting>
145
+ </Button>
147
146
  </ItsaCheckmateContainer>
148
147
  {settingsOpen && (
149
148
  <>
@@ -7,6 +7,29 @@ export const ItsaCheckmateContainer = styled.div`
7
7
  overflow-x: hidden;
8
8
  position: relative;
9
9
 
10
+ button.all-setting {
11
+ height: 44px;
12
+ user-select: none;
13
+ margin-top: 36px;
14
+ span {
15
+ font-weight: 600;
16
+ font-size: 14px;
17
+ }
18
+ svg {
19
+ margin-left: 5px;
20
+ transition: 0.2s linear;
21
+ ${props => props.theme.rtl && css`
22
+ margin-right: 5px;
23
+ margin-left: 0px;
24
+ `}
25
+ }
26
+ &:hover {
27
+ svg {
28
+ transform: translateX(3px);
29
+ }
30
+ }
31
+ }
32
+
10
33
  @media (min-width: 768px) {
11
34
  padding: 26px 40px;
12
35
  }
@@ -153,32 +176,6 @@ export const AddNewButton = styled.div`
153
176
  }
154
177
  `
155
178
 
156
- export const AllSetting = styled.div`
157
- user-select: none;
158
- cursor: pointer;
159
- margin-top: 36px;
160
- cursor: pointer;
161
- span {
162
- font-weight: 600;
163
- font-size: 14px;
164
- color: ${props => props.theme.colors.primary};
165
- }
166
- svg {
167
- color: ${props => props.theme.colors.primary};
168
- margin-left: 5px;
169
- transition: 0.2s linear;
170
- ${props => props.theme.rtl && css`
171
- margin-right: 5px;
172
- margin-left: 0px;
173
- `}
174
- }
175
- &:hover {
176
- svg {
177
- transform: translateX(3px);
178
- }
179
- }
180
- `
181
-
182
179
  export const Description = styled.p`
183
180
  margin-top: 40px;
184
181
  font-size: 14px;
@@ -8,7 +8,6 @@ import { useWindowSize } from '../../../hooks/useWindowSize'
8
8
 
9
9
  import {
10
10
  Header,
11
- AllSetting,
12
11
  Description,
13
12
  CategoryExtraContent,
14
13
  Container,
@@ -164,10 +163,10 @@ const LalaMoveConnectUI = (props) => {
164
163
  <Description>
165
164
  {t('CONNECT_WITH_LALAMOVE_DESCRIPTION', 'If you have already worked with LalaMove or are running your business with LalaMove and Ordering simultaneously, this integration will help you connect both platforms and assign orders through them, making your job easy and automated.')}
166
165
  </Description>
167
- <AllSetting onClick={() => setSettingsOpen(true)}>
166
+ <Button color='primary' borderRadius='8px' className='all-setting' onClick={() => setSettingsOpen(true)}>
168
167
  <span>{t('SETTINGS', 'All settings')}</span>
169
168
  <BsArrowRight />
170
- </AllSetting>
169
+ </Button>
171
170
  </LalaMoveConnectContainer>
172
171
  {settingsOpen && (
173
172
  <>
@@ -7,6 +7,29 @@ export const LalaMoveConnectContainer = styled.div`
7
7
  overflow-x: hidden;
8
8
  position: relative;
9
9
 
10
+ button.all-setting {
11
+ height: 44px;
12
+ user-select: none;
13
+ margin-top: 36px;
14
+ span {
15
+ font-weight: 600;
16
+ font-size: 14px;
17
+ }
18
+ svg {
19
+ margin-left: 5px;
20
+ transition: 0.2s linear;
21
+ ${props => props.theme.rtl && css`
22
+ margin-right: 5px;
23
+ margin-left: 0px;
24
+ `}
25
+ }
26
+ &:hover {
27
+ svg {
28
+ transform: translateX(3px);
29
+ }
30
+ }
31
+ }
32
+
10
33
  @media (min-width: 768px) {
11
34
  padding: 26px 40px;
12
35
  }
@@ -37,6 +37,8 @@ const LanguageTransTableUI = (props) => {
37
37
  const [currentPages, setCurrentPages] = useState([])
38
38
  const [totalPages, setTotalPages] = useState(null)
39
39
 
40
+ let timeout = null
41
+
40
42
  const closeAlert = () => {
41
43
  setAlertState({
42
44
  open: false,
@@ -44,6 +46,14 @@ const LanguageTransTableUI = (props) => {
44
46
  })
45
47
  }
46
48
 
49
+ const handleChangeValue = (id, key, value) => {
50
+ clearTimeout(timeout)
51
+
52
+ timeout = setTimeout(function () {
53
+ handleChangeText(id, key, value)
54
+ }, 750)
55
+ }
56
+
47
57
  const handleChangePage = (translation) => {
48
58
  setCurrentPage(translation)
49
59
  }
@@ -132,13 +142,13 @@ const LanguageTransTableUI = (props) => {
132
142
  <td>
133
143
  <input
134
144
  type='text'
135
- value={
145
+ defaultValue={
136
146
  textEditState?.id === translation.id
137
147
  ? textEditState?.text
138
148
  : translation.text
139
149
  }
140
150
  placeholder={t('WRITE_A_TEXT', 'Write a text')}
141
- onChange={(e) => handleChangeText(translation.id, translation.key, e.target.value)}
151
+ onChange={(e) => handleChangeValue(translation.id, translation.key, e.target.value)}
142
152
  />
143
153
  </td>
144
154
  </tr>
@@ -8,7 +8,6 @@ import { useWindowSize } from '../../../hooks/useWindowSize'
8
8
 
9
9
  import {
10
10
  Header,
11
- AllSetting,
12
11
  Description,
13
12
  CategoryExtraContent,
14
13
  Container,
@@ -164,10 +163,10 @@ const PickerExpressUI = (props) => {
164
163
  <Description>
165
164
  {t('CONNECT_WITH_PICKER_EXPRESS_DESCRIPTION', 'If you have already worked with Pickerexpress or are running your business with Pickerexpress and Ordering simultaneously, this integration will help you connect both platforms and assign orders through them, making your job easy and automated.')}
166
165
  </Description>
167
- <AllSetting onClick={() => setSettingsOpen(true)}>
166
+ <Button color='primary' borderRadius='8px' className='all-setting' onClick={() => setSettingsOpen(true)}>
168
167
  <span>{t('SETTINGS', 'All settings')}</span>
169
168
  <BsArrowRight />
170
- </AllSetting>
169
+ </Button>
171
170
  </PickerExpressContainer>
172
171
  {settingsOpen && (
173
172
  <>
@@ -7,6 +7,29 @@ export const PickerExpressContainer = styled.div`
7
7
  overflow-x: hidden;
8
8
  position: relative;
9
9
 
10
+ button.all-setting {
11
+ height: 44px;
12
+ user-select: none;
13
+ margin-top: 36px;
14
+ span {
15
+ font-weight: 600;
16
+ font-size: 14px;
17
+ }
18
+ svg {
19
+ margin-left: 5px;
20
+ transition: 0.2s linear;
21
+ ${props => props.theme.rtl && css`
22
+ margin-right: 5px;
23
+ margin-left: 0px;
24
+ `}
25
+ }
26
+ &:hover {
27
+ svg {
28
+ transform: translateX(3px);
29
+ }
30
+ }
31
+ }
32
+
10
33
  @media (min-width: 768px) {
11
34
  padding: 26px 40px;
12
35
  }
@@ -17,7 +17,6 @@ import {
17
17
  PluginsTable,
18
18
  PluginTbody,
19
19
  PagesBottomContainer,
20
- AddNewPageButton,
21
20
  ActionsContainer,
22
21
  EnableWrapper,
23
22
  ActionSelectorWrapper,
@@ -216,11 +215,13 @@ const PluginListUI = (props) => {
216
215
  </PluginsTable>
217
216
  {!pluginListState.loading && (
218
217
  <PagesBottomContainer>
219
- <AddNewPageButton
218
+ <Button
219
+ color='primary'
220
+ borderRadius='8px'
220
221
  onClick={() => setIsAddMode(true)}
221
222
  >
222
223
  {t('ADD_NEW_PLUGIN ', 'Add new plugin')}
223
- </AddNewPageButton>
224
+ </Button>
224
225
  {currentPlugins.plugins?.length > 0 && (
225
226
  <Pagination
226
227
  currentPage={currentPage.plugins}
@@ -183,10 +183,7 @@ export const PagesBottomContainer = styled.div`
183
183
  flex-wrap: wrap;
184
184
  row-gap: 10px;
185
185
  margin: 15px 0;
186
- `
187
-
188
- export const AddNewPageButton = styled.div`
189
- cursor: pointer;
190
- font-size: 12px;
191
- color: ${props => props.theme.colors.lightGray};
186
+ > button {
187
+ height: 44px;
188
+ }
192
189
  `
@@ -3,7 +3,7 @@ import { XLg, LifePreserver } from 'react-bootstrap-icons'
3
3
  import Skeleton from 'react-loading-skeleton'
4
4
  import { useWindowSize } from '../../../hooks/useWindowSize'
5
5
  import { useLanguage } from 'ordering-components-admin-external'
6
- import { IconButton } from '../../../styles'
6
+ import { IconButton, Button } from '../../../styles'
7
7
  import { Modal, NotFoundSource } from '../../Shared'
8
8
  import MdcPlayCircle from '@meronex/icons/mdc/MdcPlayCircle'
9
9
  import BsArrowRight from '@meronex/icons/bs/BsArrowRight'
@@ -19,7 +19,6 @@ import {
19
19
  CategoryName,
20
20
  Description,
21
21
  VideoContainer,
22
- AllSetting,
23
22
  MoreInfo,
24
23
  CategoryExtraContent,
25
24
  IframeWrapper,
@@ -177,10 +176,10 @@ export const SettingsDetail = (props) => {
177
176
  </video>
178
177
  </VideoContainer>
179
178
  )}
180
- <AllSetting onClick={() => handleExtraOpen(false)}>
179
+ <Button className='all-setting' color='primary' borderRadius='8px' onClick={() => handleExtraOpen(false)}>
181
180
  <span>{t('SETTINGS', 'All settings')}</span>
182
181
  <BsArrowRight />
183
- </AllSetting>
182
+ </Button>
184
183
  </Content>
185
184
  )}
186
185
  </DescriptionContent>
@@ -66,7 +66,30 @@ export const HeaderIcons = styled.div`
66
66
  }
67
67
  `
68
68
 
69
- export const Content = styled.div``
69
+ export const Content = styled.div`
70
+ button.all-setting {
71
+ height: 44px;
72
+ user-select: none;
73
+ margin-top: 36px;
74
+ span {
75
+ font-weight: 600;
76
+ font-size: 14px;
77
+ }
78
+ svg {
79
+ margin-left: 5px;
80
+ transition: 0.2s linear;
81
+ ${props => props.theme.rtl && css`
82
+ margin-right: 5px;
83
+ margin-left: 0px;
84
+ `}
85
+ }
86
+ &:hover {
87
+ svg {
88
+ transform: translateX(3px);
89
+ }
90
+ }
91
+ }
92
+ `
70
93
 
71
94
  export const CategoryName = styled.div`
72
95
  p {
@@ -137,32 +160,6 @@ export const VideoContainer = styled.div`
137
160
  }
138
161
  `
139
162
 
140
- export const AllSetting = styled.div`
141
- user-select: none;
142
- cursor: pointer;
143
- margin-top: 36px;
144
- cursor: pointer;
145
- span {
146
- font-weight: 600;
147
- font-size: 14px;
148
- color: ${props => props.theme.colors.primary};
149
- }
150
- svg {
151
- color: ${props => props.theme.colors.primary};
152
- margin-left: 5px;
153
- transition: 0.2s linear;
154
- ${props => props.theme.rtl && css`
155
- margin-right: 5px;
156
- margin-left: 0px;
157
- `}
158
- }
159
- &:hover {
160
- svg {
161
- transform: translateX(3px);
162
- }
163
- }
164
- `
165
-
166
163
  export const MoreInfo = styled.span`
167
164
  cursor: pointer;
168
165
  user-select: none;
@@ -42,6 +42,11 @@ export const SettingsListUI = (props) => {
42
42
  })
43
43
  }
44
44
 
45
+ const valuesTypeSix = [
46
+ 'catering_delivery',
47
+ 'catering_pickup'
48
+ ]
49
+
45
50
  const formatArray = (values) => {
46
51
  values = values.replace('[', '')
47
52
  values = values.replace(']', '')
@@ -78,6 +83,21 @@ export const SettingsListUI = (props) => {
78
83
  handleClickUpdate && handleClickUpdate()
79
84
  }
80
85
 
86
+ let timeout = null
87
+ let previousSearch = null
88
+
89
+ const handleChangeTypeSix = (catering, config) => {
90
+ if (previousSearch !== catering.value) {
91
+ clearTimeout(timeout)
92
+ timeout = setTimeout(() => {
93
+ const cateringString = config?.value
94
+ const stringParam = cateringString.split('|').map(string => string.includes(catering.type) ? `${catering.type},${catering.value}` : string).join('|')
95
+ handleInputChange(stringParam, config.id)
96
+ }, 1500)
97
+ }
98
+ previousSearch = catering.value
99
+ }
100
+
81
101
  const handleKeyPress = (e, key) => {
82
102
  switch (key) {
83
103
  case 'platform_fee_fixed':
@@ -243,6 +263,29 @@ export const SettingsListUI = (props) => {
243
263
  />
244
264
  )
245
265
  }
266
+ {/* {config.type === 6 && (
267
+ <>
268
+ <FormGroupText className='form-group'>
269
+ <label>{config?.name}</label>
270
+ {config?.description && <Description>{config?.description}</Description>}
271
+ {config?.value?.split('|')?.filter(value => valuesTypeSix.includes(value?.split(',')[0]))?.map((value, i, hash) => (
272
+ <React.Fragment key={`${config?.id} ${value}`}>
273
+ <Description typeSix>{t(value?.split(',')[0], value?.split(',')[0].replace('_', ' '))}</Description>
274
+ <input
275
+ type='text'
276
+ defaultValue={value?.split(',')[1]}
277
+ onChange={(e) => handleChangeTypeSix({
278
+ value: e.target.value,
279
+ type: value?.split(',')[0]
280
+ }, config)}
281
+ className='form-control'
282
+ placeholder={0}
283
+ />
284
+ </React.Fragment>
285
+ ))}
286
+ </FormGroupText>
287
+ </>
288
+ )} */}
246
289
  </div>
247
290
  ))
248
291
  }
@@ -114,6 +114,6 @@ export const SubmitBtnWrapper = styled.div`
114
114
 
115
115
  export const Description = styled.p`
116
116
  font-size: 14px;
117
- margin-top: 0px;
117
+ margin-top: ${({ typeSix }) => typeSix ? '20px' : '0px'};
118
118
  margin-bottom: 5px;
119
119
  `
@@ -16,8 +16,7 @@ import {
16
16
  WebhookListTable,
17
17
  DropdownButtonWrapper,
18
18
  SelectorWrapper,
19
- PagesBottomContainer,
20
- AddNewPageButton
19
+ PagesBottomContainer
21
20
  } from './styles'
22
21
 
23
22
  const WebhookListUI = (props) => {
@@ -217,11 +216,13 @@ const WebhookListUI = (props) => {
217
216
  </WebhookListTable>
218
217
  {!webhookListState.loading && (
219
218
  <PagesBottomContainer>
220
- <AddNewPageButton
219
+ <Button
221
220
  onClick={() => setIsAddMode(true)}
221
+ color='primary'
222
+ borderRadius='8px'
222
223
  >
223
224
  {t('ADD_NEW_WEBHOOK ', 'Add new webhook')}
224
- </AddNewPageButton>
225
+ </Button>
225
226
  {currentWebhooks?.length > 0 && (
226
227
  <Pagination
227
228
  currentPage={currentPage}
@@ -187,10 +187,8 @@ export const PagesBottomContainer = styled.div`
187
187
  flex-wrap: wrap;
188
188
  row-gap: 10px;
189
189
  margin: 15px 0;
190
- `
191
190
 
192
- export const AddNewPageButton = styled.div`
193
- cursor: pointer;
194
- font-size: 12px;
195
- color: ${props => props.theme.colors.lightGray};
191
+ > button {
192
+ height: 44px;
193
+ }
196
194
  `
@@ -55,13 +55,15 @@ export const ImageCrop = (props) => {
55
55
  aspectRatio: aspectRatio,
56
56
  dragMode: 'move',
57
57
  zoomable: false,
58
- toggleDragModeOnDblclick: false
58
+ toggleDragModeOnDblclick: false,
59
+ autoCropArea: 1
59
60
  })
60
61
  } else {
61
62
  _cropper = new Cropper(cropperRef.current, {
62
63
  dragMode: 'move',
63
64
  zoomable: false,
64
- toggleDragModeOnDblclick: false
65
+ toggleDragModeOnDblclick: false,
66
+ autoCropArea: 1
65
67
  })
66
68
  }
67
69
  setCropper(_cropper)