ordering-ui-admin-external 1.28.1 → 1.29.3

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 (190) hide show
  1. package/_bundles/main.css +294 -26
  2. package/_bundles/{ordering-ui-admin.d6c72a98321193c34fe9.js → ordering-ui-admin.e0348521ef103574aa53.js} +2 -2
  3. package/_bundles/{ordering-ui-admin.d6c72a98321193c34fe9.js.LICENSE.txt → ordering-ui-admin.e0348521ef103574aa53.js.LICENSE.txt} +12 -18
  4. package/_modules/components/Delivery/AddressForm/styles.js +2 -2
  5. package/_modules/components/Delivery/AddressList/index.js +9 -56
  6. package/_modules/components/Delivery/AddressList/styles.js +1 -1
  7. package/_modules/components/Delivery/DeliveryUsersListing/index.js +45 -7
  8. package/_modules/components/Delivery/DriversGroupLogs/index.js +5 -2
  9. package/_modules/components/Delivery/UsersList/index.js +17 -4
  10. package/_modules/components/Delivery/UsersList/styles.js +9 -4
  11. package/_modules/components/Home/HomePage/index.js +5 -1
  12. package/_modules/components/MyProducts/OrderingWebsite/index.js +5 -1
  13. package/_modules/components/OrderingProducts/SiteTheme/index.js +1 -1
  14. package/_modules/components/Orders/CompanySelector/index.js +2 -2
  15. package/_modules/components/Orders/CompanySelector/styles.js +1 -1
  16. package/_modules/components/Orders/CreateCustomOrder/CardForm/index.js +96 -0
  17. package/_modules/components/Orders/CreateCustomOrder/CardForm/styles.js +35 -0
  18. package/_modules/components/Orders/CreateCustomOrder/CardFormCustom/cardUtils.js +102 -0
  19. package/_modules/components/Orders/CreateCustomOrder/CardFormCustom/index.js +148 -0
  20. package/_modules/components/Orders/CreateCustomOrder/CardFormCustom/styles.js +16 -0
  21. package/_modules/components/Orders/CreateCustomOrder/CartBill/index.js +275 -0
  22. package/_modules/components/Orders/CreateCustomOrder/CartBill/styles.js +23 -0
  23. package/_modules/components/Orders/CreateCustomOrder/Checkout/index.js +498 -0
  24. package/_modules/components/Orders/CreateCustomOrder/Checkout/styles.js +31 -0
  25. package/_modules/components/Orders/CreateCustomOrder/CouponControl/index.js +100 -0
  26. package/_modules/components/Orders/CreateCustomOrder/CouponControl/styles.js +17 -0
  27. package/_modules/components/Orders/CreateCustomOrder/CustomOrderDetails/index.js +139 -0
  28. package/_modules/components/Orders/CreateCustomOrder/CustomOrderDetails/styles.js +17 -0
  29. package/_modules/components/Orders/CreateCustomOrder/DriverTips/index.js +101 -0
  30. package/_modules/components/Orders/CreateCustomOrder/DriverTips/styles.js +37 -0
  31. package/_modules/components/Orders/CreateCustomOrder/Map/index.js +131 -0
  32. package/_modules/components/Orders/CreateCustomOrder/Map/styles.js +12 -0
  33. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionCard/index.js +83 -0
  34. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionCash/index.js +81 -0
  35. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionCash/styles.js +23 -0
  36. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionPaypal/index.js +45 -0
  37. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionPaypal/styles.js +12 -0
  38. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionSquare/index.js +112 -0
  39. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionSquare/styles.js +21 -0
  40. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionStripe/index.js +259 -0
  41. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionStripe/styles.js +66 -0
  42. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionWallet/index.js +173 -0
  43. package/_modules/components/Orders/CreateCustomOrder/PaymentOptionWallet/styles.js +26 -0
  44. package/_modules/components/Orders/CreateCustomOrder/PaymentOptions/index.js +400 -0
  45. package/_modules/components/Orders/CreateCustomOrder/PaymentOptions/styles.js +40 -0
  46. package/_modules/components/Orders/CreateCustomOrder/ProductForm/index.js +613 -0
  47. package/_modules/components/Orders/CreateCustomOrder/ProductForm/styles.js +109 -0
  48. package/_modules/components/Orders/CreateCustomOrder/ProductIngredient/index.js +39 -0
  49. package/_modules/components/Orders/CreateCustomOrder/ProductIngredient/styles.js +23 -0
  50. package/_modules/components/Orders/CreateCustomOrder/ProductOption/index.js +51 -0
  51. package/_modules/components/Orders/CreateCustomOrder/ProductOption/styles.js +29 -0
  52. package/_modules/components/Orders/CreateCustomOrder/ProductOptionSubOption/index.js +148 -0
  53. package/_modules/components/Orders/CreateCustomOrder/ProductOptionSubOption/styles.js +79 -0
  54. package/_modules/components/Orders/CreateCustomOrder/SelectBusinesses/index.js +82 -0
  55. package/_modules/components/Orders/CreateCustomOrder/SelectBusinesses/styles.js +21 -0
  56. package/_modules/components/Orders/CreateCustomOrder/SelectCustomer/index.js +192 -0
  57. package/_modules/components/Orders/CreateCustomOrder/SelectCustomer/styles.js +68 -0
  58. package/_modules/components/Orders/CreateCustomOrder/SelectProducts/index.js +234 -0
  59. package/_modules/components/Orders/CreateCustomOrder/SelectProducts/styles.js +54 -0
  60. package/_modules/components/Orders/CreateCustomOrder/SingleProductCard/index.js +99 -0
  61. package/_modules/components/Orders/CreateCustomOrder/SingleProductCard/styles.js +131 -0
  62. package/_modules/components/Orders/CreateCustomOrder/StripeElementsForm/index.js +73 -0
  63. package/_modules/components/Orders/CreateCustomOrder/StripeElementsForm/styles.js +17 -0
  64. package/_modules/components/Orders/CreateCustomOrder/StripeMethodForm/index.js +124 -0
  65. package/_modules/components/Orders/CreateCustomOrder/StripeMethodForm/styles.js +12 -0
  66. package/_modules/components/Orders/CreateCustomOrder/StripeRedirectForm/index.js +83 -0
  67. package/_modules/components/Orders/CreateCustomOrder/StripeRedirectForm/styles.js +21 -0
  68. package/_modules/components/Orders/CreateCustomOrder/TaxInformation/index.js +48 -0
  69. package/_modules/components/Orders/CreateCustomOrder/TaxInformation/styles.js +14 -0
  70. package/_modules/components/Orders/CreateCustomOrder/index.js +59 -0
  71. package/_modules/components/Orders/DriverSelector/index.js +2 -2
  72. package/_modules/components/Orders/DriverSelector/styles.js +1 -1
  73. package/_modules/components/Orders/OrderContactInformation/styles.js +1 -1
  74. package/_modules/components/Orders/OrderDetails/styles.js +1 -1
  75. package/_modules/components/Orders/OrderStatusTypeSelector/styles.js +1 -1
  76. package/_modules/components/Orders/OrderToPrintTicket/index.js +2 -2
  77. package/_modules/components/Orders/OrdersContentHeader/index.js +6 -4
  78. package/_modules/components/Orders/OrdersContentHeader/styles.js +13 -7
  79. package/_modules/components/Orders/OrdersDashboardControls/index.js +6 -2
  80. package/_modules/components/Orders/OrdersDashboardControls/styles.js +3 -3
  81. package/_modules/components/Orders/OrdersExportCSV/styles.js +14 -8
  82. package/_modules/components/Orders/OrdersManager/index.js +7 -5
  83. package/_modules/components/Orders/OrdersManager/styles.js +1 -1
  84. package/_modules/components/Shared/AutoScroll/index.js +1 -0
  85. package/_modules/components/Shared/LinkableText/index.js +22 -0
  86. package/_modules/components/Shared/Tabs/index.js +32 -0
  87. package/_modules/components/Shared/index.js +20 -0
  88. package/_modules/components/SidebarMenu/index.js +2 -1
  89. package/_modules/components/Stores/BusinessProductsListing/index.js +7 -3
  90. package/_modules/components/Stores/BusinessQRCodeOption/index.js +6 -2
  91. package/_modules/components/Stores/BusinessSummary/index.js +7 -3
  92. package/_modules/components/Users/UserAddForm/index.js +15 -6
  93. package/_modules/components/Users/UserAddForm/styles.js +1 -1
  94. package/_modules/styles/Selects/index.js +1 -1
  95. package/_modules/utils/index.js +9 -2
  96. package/index-template.js +1 -1
  97. package/package.json +6 -4
  98. package/src/components/Delivery/AddressForm/styles.js +3 -3
  99. package/src/components/Delivery/AddressList/index.js +6 -61
  100. package/src/components/Delivery/AddressList/styles.js +1 -1
  101. package/src/components/Delivery/DeliveryUsersListing/index.js +26 -3
  102. package/src/components/Delivery/DriversGroupLogs/index.js +8 -2
  103. package/src/components/Delivery/UsersList/index.js +27 -12
  104. package/src/components/Delivery/UsersList/styles.js +16 -0
  105. package/src/components/Home/HomePage/index.js +3 -2
  106. package/src/components/MyProducts/OrderingWebsite/index.js +9 -8
  107. package/src/components/OrderingProducts/SiteTheme/index.js +1 -1
  108. package/src/components/Orders/CompanySelector/index.js +4 -6
  109. package/src/components/Orders/CompanySelector/styles.js +10 -0
  110. package/src/components/Orders/CreateCustomOrder/CardForm/index.js +135 -0
  111. package/src/components/Orders/CreateCustomOrder/CardForm/styles.js +135 -0
  112. package/src/components/Orders/CreateCustomOrder/CardFormCustom/cardUtils.js +111 -0
  113. package/src/components/Orders/CreateCustomOrder/CardFormCustom/index.js +161 -0
  114. package/src/components/Orders/CreateCustomOrder/CardFormCustom/styles.js +20 -0
  115. package/src/components/Orders/CreateCustomOrder/CartBill/index.js +267 -0
  116. package/src/components/Orders/CreateCustomOrder/CartBill/styles.js +67 -0
  117. package/src/components/Orders/CreateCustomOrder/Checkout/index.js +519 -0
  118. package/src/components/Orders/CreateCustomOrder/Checkout/styles.js +85 -0
  119. package/src/components/Orders/CreateCustomOrder/CouponControl/index.js +90 -0
  120. package/src/components/Orders/CreateCustomOrder/CouponControl/styles.js +22 -0
  121. package/src/components/Orders/CreateCustomOrder/CustomOrderDetails/index.js +132 -0
  122. package/src/components/Orders/CreateCustomOrder/CustomOrderDetails/styles.js +28 -0
  123. package/src/components/Orders/CreateCustomOrder/DriverTips/index.js +113 -0
  124. package/src/components/Orders/CreateCustomOrder/DriverTips/styles.js +91 -0
  125. package/src/components/Orders/CreateCustomOrder/Map/index.js +115 -0
  126. package/src/components/Orders/CreateCustomOrder/Map/styles.js +10 -0
  127. package/src/components/Orders/CreateCustomOrder/PaymentOptionCard/index.js +70 -0
  128. package/src/components/Orders/CreateCustomOrder/PaymentOptionCash/index.js +83 -0
  129. package/src/components/Orders/CreateCustomOrder/PaymentOptionCash/styles.js +50 -0
  130. package/src/components/Orders/CreateCustomOrder/PaymentOptionPaypal/index.js +43 -0
  131. package/src/components/Orders/CreateCustomOrder/PaymentOptionPaypal/styles.js +5 -0
  132. package/src/components/Orders/CreateCustomOrder/PaymentOptionSquare/index.js +105 -0
  133. package/src/components/Orders/CreateCustomOrder/PaymentOptionSquare/styles.js +27 -0
  134. package/src/components/Orders/CreateCustomOrder/PaymentOptionStripe/index.js +261 -0
  135. package/src/components/Orders/CreateCustomOrder/PaymentOptionStripe/styles.js +159 -0
  136. package/src/components/Orders/CreateCustomOrder/PaymentOptionWallet/index.js +172 -0
  137. package/src/components/Orders/CreateCustomOrder/PaymentOptionWallet/styles.js +33 -0
  138. package/src/components/Orders/CreateCustomOrder/PaymentOptions/index.js +440 -0
  139. package/src/components/Orders/CreateCustomOrder/PaymentOptions/styles.js +132 -0
  140. package/src/components/Orders/CreateCustomOrder/ProductForm/index.js +701 -0
  141. package/src/components/Orders/CreateCustomOrder/ProductForm/styles.js +540 -0
  142. package/src/components/Orders/CreateCustomOrder/ProductIngredient/index.js +43 -0
  143. package/src/components/Orders/CreateCustomOrder/ProductIngredient/styles.js +29 -0
  144. package/src/components/Orders/CreateCustomOrder/ProductOption/index.js +58 -0
  145. package/src/components/Orders/CreateCustomOrder/ProductOption/styles.js +76 -0
  146. package/src/components/Orders/CreateCustomOrder/ProductOptionSubOption/index.js +182 -0
  147. package/src/components/Orders/CreateCustomOrder/ProductOptionSubOption/styles.js +195 -0
  148. package/src/components/Orders/CreateCustomOrder/SelectBusinesses/index.js +67 -0
  149. package/src/components/Orders/CreateCustomOrder/SelectBusinesses/styles.js +63 -0
  150. package/src/components/Orders/CreateCustomOrder/SelectCustomer/index.js +242 -0
  151. package/src/components/Orders/CreateCustomOrder/SelectCustomer/styles.js +235 -0
  152. package/src/components/Orders/CreateCustomOrder/SelectProducts/index.js +237 -0
  153. package/src/components/Orders/CreateCustomOrder/SelectProducts/styles.js +161 -0
  154. package/src/components/Orders/CreateCustomOrder/SingleProductCard/index.js +105 -0
  155. package/src/components/Orders/CreateCustomOrder/SingleProductCard/styles.js +314 -0
  156. package/src/components/Orders/CreateCustomOrder/StripeElementsForm/index.js +71 -0
  157. package/src/components/Orders/CreateCustomOrder/StripeElementsForm/styles.js +13 -0
  158. package/src/components/Orders/CreateCustomOrder/StripeMethodForm/index.js +90 -0
  159. package/src/components/Orders/CreateCustomOrder/StripeMethodForm/styles.js +9 -0
  160. package/src/components/Orders/CreateCustomOrder/StripeRedirectForm/index.js +96 -0
  161. package/src/components/Orders/CreateCustomOrder/StripeRedirectForm/styles.js +73 -0
  162. package/src/components/Orders/CreateCustomOrder/TaxInformation/index.js +69 -0
  163. package/src/components/Orders/CreateCustomOrder/TaxInformation/styles.js +25 -0
  164. package/src/components/Orders/CreateCustomOrder/index.js +45 -0
  165. package/src/components/Orders/DriverSelector/index.js +2 -2
  166. package/src/components/Orders/DriverSelector/styles.js +10 -0
  167. package/src/components/Orders/OrderContactInformation/index.js +32 -32
  168. package/src/components/Orders/OrderContactInformation/styles.js +0 -5
  169. package/src/components/Orders/OrderDetails/styles.js +7 -2
  170. package/src/components/Orders/OrderStatusTypeSelector/styles.js +9 -0
  171. package/src/components/Orders/OrderToPrintTicket/index.js +1 -1
  172. package/src/components/Orders/OrdersContentHeader/index.js +4 -4
  173. package/src/components/Orders/OrdersContentHeader/styles.js +7 -2
  174. package/src/components/Orders/OrdersDashboardControls/index.js +4 -1
  175. package/src/components/Orders/OrdersDashboardControls/styles.js +13 -11
  176. package/src/components/Orders/OrdersExportCSV/styles.js +16 -0
  177. package/src/components/Orders/OrdersManager/index.js +6 -2
  178. package/src/components/Orders/OrdersManager/styles.js +2 -0
  179. package/src/components/Shared/AutoScroll/index.js +1 -0
  180. package/src/components/Shared/LinkableText/index.js +17 -0
  181. package/src/components/Shared/Tabs/index.js +28 -0
  182. package/src/components/Shared/index.js +5 -0
  183. package/src/components/SidebarMenu/index.js +1 -1
  184. package/src/components/Stores/BusinessProductsListing/index.js +6 -3
  185. package/src/components/Stores/BusinessQRCodeOption/index.js +5 -3
  186. package/src/components/Stores/BusinessSummary/index.js +6 -4
  187. package/src/components/Users/UserAddForm/index.js +21 -9
  188. package/src/components/Users/UserAddForm/styles.js +2 -2
  189. package/src/styles/Selects/index.js +1 -1
  190. package/src/utils/index.js +5 -0
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useEffect } from 'react'
2
2
  import { useHistory, useLocation } from 'react-router-dom'
3
- import { UsersList as UsersListController } from 'ordering-components-admin-external'
3
+ import { useLanguage, UsersList as UsersListController } from 'ordering-components-admin-external'
4
4
  import { getStorageItem, removeStorageItem, setStorageItem } from '../../../utils'
5
5
 
6
6
  import { UsersListingHeader } from '../UsersListingHeader'
@@ -10,7 +10,7 @@ import { UserActiveStateFilter } from '../UserActiveStateFilter'
10
10
  import { UserDetailsLateralBar } from '../UserDetailsLateralBar'
11
11
  import { UserAddForm } from '../UserAddForm'
12
12
  import { WizardDelivery } from '../WizardDelivery'
13
- import { SideBar } from '../../Shared'
13
+ import { Alert, SideBar } from '../../Shared'
14
14
 
15
15
  import {
16
16
  UsersListingContainer
@@ -39,6 +39,7 @@ const DeliveryUsersListingUI = (props) => {
39
39
  handleChangeUserActiveState,
40
40
  handleChangeUserType,
41
41
  handleChangeActiveUser,
42
+ handleChangeAvailable,
42
43
  handleDeleteUser,
43
44
  selectedUsers,
44
45
  handleSelectedUsers,
@@ -50,15 +51,18 @@ const DeliveryUsersListingUI = (props) => {
50
51
  handleSuccessDeleteUser,
51
52
  actionDisabled,
52
53
  driversGroupsState,
53
- setSelectedUsers
54
+ setSelectedUsers,
55
+ actionStatus
54
56
  } = props
55
57
 
58
+ const [, t] = useLanguage()
56
59
  const history = useHistory()
57
60
  const query = new URLSearchParams(useLocation().search)
58
61
  const [queryId, setQueryId] = useState(null)
59
62
  const [isOpenUserDetails, setIsOpenUserDetails] = useState(false)
60
63
  const [openUser, setOpenUser] = useState(null)
61
64
  const [openUserAddForm, setOpenUserAddForm] = useState(false)
65
+ const [alertState, setAlertState] = useState({ open: false, content: [] })
62
66
 
63
67
  const [isTourOpen, setIsTourOpen] = useState(false)
64
68
  const [currentTourStep, setCurrentTourStep] = useState(isDriversManagersPage ? 2 : 0)
@@ -149,6 +153,14 @@ const DeliveryUsersListingUI = (props) => {
149
153
  getDataFromStorage()
150
154
  }, [usersList.loading])
151
155
 
156
+ useEffect(() => {
157
+ if (!actionStatus?.error) return
158
+ setAlertState({
159
+ open: true,
160
+ content: actionStatus?.error
161
+ })
162
+ }, [actionStatus?.error])
163
+
152
164
  return (
153
165
  <>
154
166
  <UsersListingContainer>
@@ -189,6 +201,7 @@ const DeliveryUsersListingUI = (props) => {
189
201
  paginationDetail={paginationDetail}
190
202
  handleChangeUserType={handleChangeUserType}
191
203
  handleChangeActiveUser={handleChangeActiveUser}
204
+ handleChangeAvailable={handleChangeAvailable}
192
205
  handleDeleteUser={handleDeleteUser}
193
206
  selectedUsers={selectedUsers}
194
207
  handleSelectedUsers={handleSelectedUsers}
@@ -240,6 +253,16 @@ const DeliveryUsersListingUI = (props) => {
240
253
  currentStep={currentTourStep}
241
254
  />
242
255
  )}
256
+
257
+ <Alert
258
+ title={t('WEB_APPNAME', 'Ordering')}
259
+ content={alertState.content}
260
+ acceptText={t('ACCEPT', 'Accept')}
261
+ open={alertState.open}
262
+ onClose={() => setAlertState({ open: false, content: [] })}
263
+ onAccept={() => setAlertState({ open: false, content: [] })}
264
+ closeOnBackdrop={false}
265
+ />
243
266
  </>
244
267
  )
245
268
  }
@@ -63,6 +63,12 @@ export const DriversGroupLogsUI = (props) => {
63
63
  getDriversGroupLogs(expectedPage, pageSize)
64
64
  }
65
65
 
66
+ const getValidLogData = (data) => {
67
+ return typeof data === 'object'
68
+ ? Object.values(data)
69
+ : typeof data === 'string' ? JSON.parse(data) : data
70
+ }
71
+
66
72
  useEffect(() => {
67
73
  if (logsList.loading || logsList.logs.length > 0 || paginationProps.totalPages <= 1) return
68
74
  if (paginationProps.currentPage !== paginationProps.totalPages) {
@@ -133,12 +139,12 @@ export const DriversGroupLogsUI = (props) => {
133
139
  </td>
134
140
  <td>
135
141
  <EventTypeContainer>
136
- <p>{t(log?.event)}</p>
142
+ <p>{t((log?.event || '').toUpperCase())}</p>
137
143
  </EventTypeContainer>
138
144
  </td>
139
145
  <td>
140
146
  <DataListTable>
141
- {log?.data && (typeof log?.data === 'object' ? Object.values(log?.data) : log?.data).map((item, i) => (
147
+ {log?.data && getValidLogData(log?.data).map((item, i) => (
142
148
  <tbody key={i}>
143
149
  <tr>
144
150
  <td>{getAttributeName(item?.attribute)}</td>
@@ -23,7 +23,8 @@ import {
23
23
  UsersBottomContainer,
24
24
  VerifiedItemsContainer,
25
25
  VerifiedItem,
26
- UserIdWrapper
26
+ UserIdWrapper,
27
+ ActionsContainer
27
28
  } from './styles'
28
29
 
29
30
  export const UsersList = (props) => {
@@ -40,7 +41,8 @@ export const UsersList = (props) => {
40
41
  isDriversPage,
41
42
  isDriversManagersPage,
42
43
  actionDisabled,
43
- setSelectedUsers
44
+ setSelectedUsers,
45
+ handleChangeAvailable
44
46
  } = props
45
47
 
46
48
  const [, t] = useLanguage()
@@ -50,7 +52,7 @@ export const UsersList = (props) => {
50
52
  const [isAllChecked, setIsAllChecked] = useState(false)
51
53
 
52
54
  const onChangeUserDetails = (e, user) => {
53
- const isInvalid = e.target.closest('.user_checkbox') || e.target.closest('.user_type_selector') || e.target.closest('.user_enable_control') || e.target.closest('.user_action')
55
+ const isInvalid = e.target.closest('.user_checkbox') || e.target.closest('.user_type_selector') || e.target.closest('.user_enable_control') || e.target.closest('.user_action') || e.target.closest('.user_available_control')
54
56
  if (isInvalid) return
55
57
  handleOpenUserDetails(user)
56
58
  }
@@ -253,15 +255,28 @@ export const UsersList = (props) => {
253
255
  </InfoBlock>
254
256
  </td>
255
257
  <td>
256
- <UserEnableWrapper className='user_enable_control'>
257
- <span>{t('ENABLE', 'Enable')}</span>
258
- <Switch
259
- disabled={actionDisabled}
260
- notAsync={user.level === 0}
261
- defaultChecked={user?.enabled}
262
- onChange={enabled => handleEnable(user, enabled)}
263
- />
264
- </UserEnableWrapper>
258
+ <ActionsContainer>
259
+ <UserEnableWrapper className='user_enable_control'>
260
+ <span>{t('ENABLE', 'Enable')}</span>
261
+ <Switch
262
+ disabled={actionDisabled}
263
+ notAsync={user.level === 0}
264
+ defaultChecked={user?.enabled}
265
+ onChange={enabled => handleEnable(user, enabled)}
266
+ />
267
+ </UserEnableWrapper>
268
+ {isDriversPage && (
269
+ <UserEnableWrapper className='user_available_control'>
270
+ <span>{t('AVAILABLE', 'Available')}</span>
271
+ <Switch
272
+ disabled={actionDisabled}
273
+ notAsync
274
+ defaultChecked={user?.available}
275
+ onChange={available => handleChangeAvailable({ id: user.id, available: available })}
276
+ />
277
+ </UserEnableWrapper>
278
+ )}
279
+ </ActionsContainer>
265
280
  </td>
266
281
  </tr>
267
282
  </tbody>
@@ -17,6 +17,9 @@ export const UsersTable = styled.table`
17
17
  td, th {
18
18
  padding: 10px 0;
19
19
  font-size: 14px;
20
+ &:last-child {
21
+ width: 20%;
22
+ }
20
23
  }
21
24
 
22
25
  thead {
@@ -246,3 +249,16 @@ export const UserIdWrapper = styled.div`
246
249
  display: flex;
247
250
  align-items: center;
248
251
  `
252
+ export const ActionsContainer = styled.div`
253
+ display: flex;
254
+ align-items: center;
255
+ > div {
256
+ &:not(:first-child) {
257
+ ${props => props.theme?.rtl ? css`
258
+ margin-right: 25px;
259
+ ` : css`
260
+ margin-left: 25px;
261
+ `}
262
+ }
263
+ }
264
+ `
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import { useLanguage, useUtils, useEvent, useSession, useApi, Home as HomeController } from 'ordering-components-admin-external'
2
+ import { useLanguage, useUtils, useEvent, useSession, useApi, Home as HomeController, useConfig } from 'ordering-components-admin-external'
3
3
  import { Line } from 'react-chartjs-2'
4
4
  import moment from 'moment'
5
5
  import { IconButton, Button } from '../../../styles/Buttons'
@@ -59,6 +59,7 @@ const HomeUI = (props) => {
59
59
 
60
60
  const theme = useTheme()
61
61
  const [, t] = useLanguage()
62
+ const [{ configs }] = useConfig()
62
63
  const [{ isCollapse }, { handleMenuCollapse }] = useInfoShare()
63
64
  const [timeAxes, setTimeAxes] = useState([])
64
65
  const [events] = useEvent()
@@ -280,7 +281,7 @@ const HomeUI = (props) => {
280
281
  <Button
281
282
  color='primary'
282
283
  borderRadius='8px'
283
- onClick={() => window.open(`https://${ordering?.project}.tryordering.com`, '_blank')}
284
+ onClick={() => window.open(configs?.site_url?.value || `https://${ordering?.project}.tryordering.com`, '_blank')}
284
285
  >
285
286
  {t('VISIT_MY_WEBSITE', 'Visit my Website')}
286
287
  </Button>
@@ -1,5 +1,5 @@
1
1
  import React, { useRef, useState } from 'react'
2
- import { useLanguage, ExamineClick, DragAndDrop, useApi, OrderingWebsite as OrderingWebsiteController } from 'ordering-components-admin-external'
2
+ import { useLanguage, ExamineClick, DragAndDrop, useConfig, useApi, OrderingWebsite as OrderingWebsiteController } from 'ordering-components-admin-external'
3
3
  import { useInfoShare } from '../../../contexts/InfoShareContext'
4
4
  import { useLocation } from 'react-router-dom'
5
5
  import { Button, IconButton, Input, TextArea } from '../../../styles'
@@ -75,6 +75,7 @@ const OrderingWebsiteUI = (props) => {
75
75
  } = props
76
76
 
77
77
  const [, t] = useLanguage()
78
+ const [{ configs }] = useConfig()
78
79
  const [{ isCollapse }, { handleMenuCollapse }] = useInfoShare()
79
80
  const theme = useTheme()
80
81
  const [ordering] = useApi()
@@ -228,7 +229,7 @@ const OrderingWebsiteUI = (props) => {
228
229
  <Button
229
230
  color='primary'
230
231
  borderRadius='8px'
231
- onClick={() => window.open(`https://${ordering?.project}.tryordering.com`, '_blank')}
232
+ onClick={() => window.open(configs?.site_url?.value || `https://${ordering?.project}.tryordering.com`, '_blank')}
232
233
  >
233
234
  {t('VISIT_MY_WEBSITE', 'Visit My Website')}
234
235
  </Button>
@@ -345,14 +346,14 @@ const OrderingWebsiteUI = (props) => {
345
346
  {orderingTheme?.loading ? (
346
347
  <Skeleton height={40} style={{ width: '100%' }} />
347
348
  ) : (
348
- <Button
349
- color='primary'
350
- outline
351
- borderRadius='8px'
349
+ <Button
350
+ color='primary'
351
+ outline
352
+ borderRadius='8px'
352
353
  onClick={() => window.open('https://www.ordering.co/custom-domain-change', '_blank')}
353
- >
354
+ >
354
355
  {t('REQUEST_CUSTOM_DOMAIN', 'Request custom domain')}
355
- </Button>
356
+ </Button>
356
357
  // <>
357
358
  // {site?.domain && site?.ssl_status !== 'error' && (
358
359
  // <TemporalDomail isDisabled={site?.ssl_process_status === 'pending'} marginBottom={site?.ssl_process_status === 'ended'}>
@@ -147,7 +147,7 @@ const SiteThemeUI = (props) => {
147
147
  {!!themeStructure[selectedPage]?.components && (
148
148
  Object.keys(themeStructure[selectedPage]?.components)?.map(block => {
149
149
  const components = themeStructure[selectedPage].components
150
- return (
150
+ return block !== 'birthday' && (
151
151
  <BlockContainer key={block}>
152
152
  <h3>{getTitle(block)}</h3>
153
153
  {(block === 'image' || block === 'dummy_image') && components[block]?.value_type === 'string' && (
@@ -1,7 +1,5 @@
1
1
  import React, { useEffect, useState } from 'react'
2
- import { useLanguage,
3
- DriversList as CompanysController
4
- } from 'ordering-components-admin-external'
2
+ import { useLanguage, DriversList as CompanysController } from 'ordering-components-admin-external'
5
3
  import { useTheme } from 'styled-components'
6
4
  import { Select } from '../../../styles/Select'
7
5
  import { Select as FirstSelect } from '../../../styles/Select/FirstSelect'
@@ -65,7 +63,7 @@ const CompanySelectorUI = (props) => {
65
63
  </OptionContent>
66
64
  </>
67
65
  ) : (
68
- t('SELECT_COMPANY', 'Select company')
66
+ <span>{t('SELECT_COMPANY', 'Select company')}</span>
69
67
  )}
70
68
  </Option>
71
69
  ),
@@ -78,7 +76,7 @@ const CompanySelectorUI = (props) => {
78
76
  _companysOptionList.push({
79
77
  value: 'remove',
80
78
  content: (
81
- <Option isRemove>{t('REMOVE_COMPANY', 'Remove assigned company')}</Option>
79
+ <Option isRemove><span>{t('REMOVE_COMPANY', 'Remove assigned company')}</span></Option>
82
80
  ),
83
81
  disabled: defaultValue === 'default'
84
82
  })
@@ -173,7 +171,7 @@ const CompanySelectorUI = (props) => {
173
171
  defaultValue='default'
174
172
  options={companysLoading}
175
173
  optionInnerMargin='10px'
176
- optionInnerMaxHeight='150px'
174
+ optionInnerMaxHeight='150px'
177
175
  className='driver-select'
178
176
  isShowSearchBar
179
177
  searchBarIsCustomLayout
@@ -28,6 +28,13 @@ export const Option = styled.div`
28
28
  }
29
29
  `}
30
30
 
31
+ span {
32
+ overflow: hidden;
33
+ white-space: nowrap;
34
+ text-overflow: ellipsis;
35
+ max-width: 350px;
36
+ }
37
+
31
38
  @media (max-width: 576px) {
32
39
  padding: ${({ padding }) => padding || '5px 0px'};
33
40
  ${({ isFilterView }) => isFilterView && css`
@@ -37,6 +44,9 @@ export const Option = styled.div`
37
44
  margin-left: 10px;
38
45
  `}
39
46
  `}
47
+ span {
48
+ max-width: 280px;
49
+ }
40
50
  }
41
51
  `
42
52
 
@@ -0,0 +1,135 @@
1
+ import React from 'react'
2
+ import { CardCvcElement, CardElement, CardExpiryElement, CardNumberElement } from '@stripe/react-stripe-js'
3
+ import { CardForm as CardFormController, useLanguage, useValidationFields } from 'ordering-components-admin-external'
4
+ import { Button } from '../../../../styles'
5
+ import {
6
+ FormStripe,
7
+ FormRow,
8
+ ErrorMessage,
9
+ FormActions,
10
+ CardNumberField,
11
+ CardExpiryCvcField,
12
+ CardExpiryField,
13
+ CardCvcField,
14
+ CardZipcodeField,
15
+ ZipcodeField
16
+ } from './styles'
17
+
18
+ const CARD_ELEMENT_OPTIONS = {
19
+ style: {
20
+ base: {
21
+ color: '#32325d',
22
+ fontSmoothing: 'antialiased',
23
+ fontSize: '16px',
24
+ '::placeholder': {
25
+ color: '#aab7c4'
26
+ }
27
+ },
28
+ invalid: {
29
+ color: '#fa755a',
30
+ iconColor: '#fa755a'
31
+ }
32
+ },
33
+ showIcon: true
34
+ }
35
+
36
+ const CardFormUI = (props) => {
37
+ const {
38
+ error,
39
+ errorExpiry,
40
+ errorCvc,
41
+ loading,
42
+ handleSubmit,
43
+ handleChange,
44
+ isSplitForm,
45
+ handleChangeExpiry,
46
+ handleChangeCvc,
47
+ errorZipcode
48
+ } = props
49
+
50
+ const [, t] = useLanguage()
51
+ const [validationFields] = useValidationFields()
52
+ const zipCodeEnabled = validationFields?.fields?.card?.zipcode?.enabled
53
+ const zipCodeRequired = validationFields?.fields?.card?.zipcode?.required
54
+
55
+ return (
56
+ <>
57
+ <FormStripe onSubmit={handleSubmit}>
58
+ <FormRow>
59
+ {!isSplitForm ? (
60
+ <>
61
+ <CardElement
62
+ options={CARD_ELEMENT_OPTIONS}
63
+ onChange={handleChange}
64
+ />
65
+ <ErrorMessage>{error}</ErrorMessage>
66
+ </>
67
+ ) : (
68
+ <>
69
+ <CardNumberField>
70
+ <label>{t('CARD_NUMBER', 'Card number')}</label>
71
+ <CardNumberElement
72
+ options={CARD_ELEMENT_OPTIONS}
73
+ onChange={handleChange}
74
+ />
75
+ <ErrorMessage>{error}</ErrorMessage>
76
+ </CardNumberField>
77
+ <CardExpiryCvcField>
78
+ <CardExpiryField>
79
+ <label>{t('EXPIRE_DATE', 'Expire date')}</label>
80
+ <CardExpiryElement
81
+ options={CARD_ELEMENT_OPTIONS}
82
+ onChange={handleChangeExpiry}
83
+ />
84
+ <ErrorMessage>{errorExpiry}</ErrorMessage>
85
+ </CardExpiryField>
86
+ <CardCvcField>
87
+ <label>{t('CVC', 'CVC')}</label>
88
+ <CardCvcElement
89
+ options={CARD_ELEMENT_OPTIONS}
90
+ onChange={handleChangeCvc}
91
+ />
92
+ <ErrorMessage>{errorCvc}</ErrorMessage>
93
+ </CardCvcField>
94
+ </CardExpiryCvcField>
95
+ {zipCodeEnabled && (
96
+ <CardZipcodeField>
97
+ <label>{t('ZIPCODE', 'Zipcode')}</label>
98
+ <ZipcodeField
99
+ name='zipcode'
100
+ placeholder={`${t('ZIPCODE', 'Zipcode')}${zipCodeRequired ? '*' : ''}`}
101
+ options={CARD_ELEMENT_OPTIONS}
102
+ onChange={handleChange}
103
+ pattern='[0-9]'
104
+ type='number'
105
+ />
106
+ {errorZipcode && (
107
+ <ErrorMessage>{t('ZIPCODE_IS_INCOMPLETED', 'The zipcode is incompleted.')}</ErrorMessage>
108
+ )}
109
+ </CardZipcodeField>
110
+ )}
111
+ </>
112
+ )}
113
+ </FormRow>
114
+ <FormActions>
115
+ <Button
116
+ borderRadius='8px'
117
+ color='primary'
118
+ type='submit'
119
+ disabled={loading}
120
+ >
121
+ {loading ? t('LOADING', 'Loading...') : t('ADD_CARD', 'Add card')}
122
+ </Button>
123
+ </FormActions>
124
+ </FormStripe>
125
+ </>
126
+ )
127
+ }
128
+
129
+ export const CardForm = (props) => {
130
+ const cardFormProps = {
131
+ ...props,
132
+ UIComponent: CardFormUI
133
+ }
134
+ return <CardFormController {...cardFormProps} />
135
+ }
@@ -0,0 +1,135 @@
1
+ import styled, { css } from 'styled-components'
2
+
3
+ export const FormStripe = styled.form`
4
+ display: flex;
5
+ flex-direction: column;
6
+
7
+ .StripeElement,
8
+ .StripeElementIdeal {
9
+ display: block;
10
+ padding: 10px 14px;
11
+ box-shadow: rgba(50, 50, 93, 0.14902) 0px 1px 3px,
12
+ rgba(0, 0, 0, 0.0196078) 0px 1px 0px;
13
+ border-radius: 4px;
14
+ background: white;
15
+ }
16
+
17
+ .StripeElement--focus,
18
+ .StripeElementIdeal--focus {
19
+ box-shadow: rgba(50, 50, 93, 0.109804) 0px 4px 6px,
20
+ rgba(0, 0, 0, 0.0784314) 0px 1px 3px;
21
+ -webkit-transition: all 150ms ease;
22
+ transition: all 150ms ease;
23
+ }
24
+
25
+ .StripeElement.loading {
26
+ height: 41.6px;
27
+ opacity: 0.6;
28
+ }
29
+
30
+ .StripeElementIdeal {
31
+ padding: 0;
32
+ }
33
+ `
34
+
35
+ export const CardExpiryField = styled.div`
36
+ color: #ADB2B9;
37
+ `
38
+
39
+ export const CardCvcField = styled.div`
40
+ color: #ADB2B9;
41
+ `
42
+
43
+ export const CardZipcodeField = styled.div`
44
+ color: #ADB2B9;
45
+ `
46
+
47
+ export const CardNumberField = styled.div`
48
+ width: 100%;
49
+ color: #ADB2B9;
50
+ `
51
+ export const CardExpiryCvcField = styled.div`
52
+ display: grid;
53
+ grid-template-columns: repeat(2, 1fr);
54
+ grid-gap: 10px;
55
+ `
56
+
57
+ export const FormRow = styled.div`
58
+ input {
59
+ display: block;
60
+ border: none;
61
+ font-size: 18px;
62
+ margin: 10px 0 20px 0;
63
+ max-width: 100%;
64
+ padding: 10px 14px;
65
+ box-shadow: rgba(50, 50, 93, 0.14902) 0px 1px 3px,
66
+ rgba(0, 0, 0, 0.0196078) 0px 1px 0px;
67
+ border-radius: 4px;
68
+ background: white;
69
+ color: #424770;
70
+ letter-spacing: 0.025em;
71
+ width: 500px;
72
+ }
73
+
74
+ input::placeholder {
75
+ color: #aab7c4;
76
+ }
77
+ `
78
+
79
+ export const ErrorMessage = styled.div`
80
+ font-size: 16px;
81
+ font-weight: bold;
82
+ margin-top: 10px;
83
+ margin-bottom: 20px;
84
+ color: #D81212;
85
+ margin: 10px 0px 0px 10px;
86
+ ${props => props.theme?.rtl && css`
87
+ margin: 10px 10px 0px 0px
88
+ `}
89
+ `
90
+
91
+ export const FormActions = styled.div`
92
+ width: 100%;
93
+ margin-top: 20px;
94
+
95
+ button {
96
+ height: 44px;
97
+ width: 100%;
98
+ border-radius: 7.6px;
99
+
100
+ &:disabled {
101
+ opacity: 0.5;
102
+ }
103
+ }
104
+ `
105
+
106
+ export const ZipcodeField = styled.input`
107
+ font-weight: 500;
108
+ font-size: 16px;
109
+ box-sizing: border-box;
110
+ width: 100% !important;
111
+ &:-webkit-autofill {
112
+ color: '#fce883'
113
+ }
114
+ &::placeholder {
115
+ font-weight: 500
116
+ }
117
+ &:focus(){
118
+ box-shadow: rgba(50, 50, 93, 0.109804) 0px 4px 6px,
119
+ rgba(0, 0, 0, 0.0784314) 0px 1px 3px;
120
+ -webkit-transition: all 150ms ease;
121
+ transition: all 150ms ease;
122
+ }
123
+
124
+ &::-webkit-outer-spin-button,
125
+ &::-webkit-inner-spin-button {
126
+ -webkit-appearance: none;
127
+ margin: 0;
128
+ }
129
+
130
+ /* Firefox */
131
+ &[type=number] {
132
+ -moz-appearance: textfield;
133
+ }
134
+
135
+ `