ordering-ui-react-native 0.21.55 → 0.21.56-release

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 (165) hide show
  1. package/package.json +8 -9
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/PaymentOptionsWebView/index.tsx +1 -0
  5. package/src/components/StripeMethodForm/index.tsx +6 -4
  6. package/src/components/VerifyPhone/styles.tsx +1 -2
  7. package/src/types/index.tsx +3 -1
  8. package/themes/business/index.tsx +4 -0
  9. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +4 -3
  10. package/themes/business/src/components/BusinessProductList/ProductList.tsx +2 -1
  11. package/themes/business/src/components/BusinessProductList/index.tsx +2 -1
  12. package/themes/business/src/components/DriverMap/index.tsx +36 -23
  13. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  14. package/themes/business/src/components/Home/index.tsx +5 -1
  15. package/themes/business/src/components/LanguageSelector/index.tsx +1 -2
  16. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  17. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  18. package/themes/business/src/components/MapView/index.tsx +30 -15
  19. package/themes/business/src/components/NewOrderNotification/index.tsx +66 -26
  20. package/themes/business/src/components/OrderDetails/Business.tsx +52 -2
  21. package/themes/business/src/components/OrderDetails/Delivery.tsx +43 -24
  22. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +68 -61
  23. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +35 -21
  24. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +220 -0
  25. package/themes/business/src/components/OrderSummary/index.tsx +240 -76
  26. package/themes/business/src/components/OrdersOption/index.tsx +229 -112
  27. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  28. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +29 -19
  29. package/themes/business/src/components/PreviousOrders/index.tsx +5 -3
  30. package/themes/business/src/components/PrinterEdition/index.tsx +363 -0
  31. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
  32. package/themes/business/src/components/PrinterSettings/index.tsx +267 -0
  33. package/themes/business/src/components/PrinterSettings/styles.tsx +30 -0
  34. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  35. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  36. package/themes/business/src/components/SearchBar/index.tsx +2 -1
  37. package/themes/business/src/components/Sessions/index.tsx +187 -0
  38. package/themes/business/src/components/Sessions/styles.tsx +20 -0
  39. package/themes/business/src/components/StoresList/index.tsx +4 -3
  40. package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
  41. package/themes/business/src/components/UserProfileForm/index.tsx +106 -54
  42. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  43. package/themes/business/src/components/shared/OInput.tsx +2 -0
  44. package/themes/business/src/components/shared/OTextarea.tsx +8 -9
  45. package/themes/business/src/hooks/useLocation.tsx +5 -4
  46. package/themes/business/src/types/index.tsx +22 -5
  47. package/themes/business/src/utils/index.tsx +5 -0
  48. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  49. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  50. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  51. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  52. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  53. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  54. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  55. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  56. package/themes/original/index.tsx +6 -2
  57. package/themes/original/src/components/AddressDetails/index.tsx +20 -10
  58. package/themes/original/src/components/AddressForm/index.tsx +32 -17
  59. package/themes/original/src/components/AddressList/index.tsx +8 -7
  60. package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
  61. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  62. package/themes/original/src/components/BusinessBasicInformation/index.tsx +6 -9
  63. package/themes/original/src/components/BusinessController/index.tsx +18 -10
  64. package/themes/original/src/components/BusinessController/styles.tsx +8 -7
  65. package/themes/original/src/components/BusinessItemAccordion/index.tsx +15 -7
  66. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +316 -0
  67. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +94 -0
  68. package/themes/original/src/components/BusinessListingSearch/index.tsx +48 -359
  69. package/themes/original/src/components/BusinessPreorder/index.tsx +20 -16
  70. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +5 -5
  71. package/themes/original/src/components/BusinessProductsList/index.tsx +3 -3
  72. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  73. package/themes/original/src/components/BusinessProductsListing/index.tsx +29 -14
  74. package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
  75. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  76. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +1 -1
  77. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  78. package/themes/original/src/components/Cart/index.tsx +26 -9
  79. package/themes/original/src/components/CartContent/index.tsx +60 -45
  80. package/themes/original/src/components/Checkout/index.tsx +106 -64
  81. package/themes/original/src/components/CitiesControl/index.tsx +0 -3
  82. package/themes/original/src/components/CouponControl/index.tsx +1 -3
  83. package/themes/original/src/components/DatePicker/index.tsx +18 -2
  84. package/themes/original/src/components/DriverTips/index.tsx +1 -3
  85. package/themes/original/src/components/Favorite/index.tsx +1 -5
  86. package/themes/original/src/components/FavoriteList/index.tsx +0 -1
  87. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
  88. package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
  89. package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
  90. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
  91. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
  92. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
  93. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +9 -11
  94. package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
  95. package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
  96. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +82 -0
  97. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
  98. package/themes/original/src/components/GoogleMap/index.tsx +39 -18
  99. package/themes/original/src/components/Help/index.tsx +2 -0
  100. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +2 -2
  101. package/themes/original/src/components/Home/index.tsx +2 -10
  102. package/themes/original/src/components/LoginForm/Otp/index.tsx +4 -19
  103. package/themes/original/src/components/LoginForm/index.tsx +4 -7
  104. package/themes/original/src/components/MessageListing/index.tsx +1 -0
  105. package/themes/original/src/components/Messages/index.tsx +8 -7
  106. package/themes/original/src/components/MomentOption/index.tsx +13 -2
  107. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
  108. package/themes/original/src/components/MultiCheckout/index.tsx +124 -63
  109. package/themes/original/src/components/MultiCheckout/styles.tsx +17 -0
  110. package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -14
  111. package/themes/original/src/components/MyOrders/index.tsx +21 -26
  112. package/themes/original/src/components/NavBar/index.tsx +4 -2
  113. package/themes/original/src/components/NetworkError/index.tsx +2 -8
  114. package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
  115. package/themes/original/src/components/Notifications/index.tsx +2 -4
  116. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +5 -7
  117. package/themes/original/src/components/OrderDetails/index.tsx +5 -7
  118. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  119. package/themes/original/src/components/OrderProgress/index.tsx +22 -3
  120. package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
  121. package/themes/original/src/components/OrdersOption/index.tsx +2 -4
  122. package/themes/original/src/components/PaymentOptionCard/index.tsx +4 -2
  123. package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
  124. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  125. package/themes/original/src/components/PaymentOptions/index.tsx +47 -6
  126. package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
  127. package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
  128. package/themes/original/src/components/ProductForm/ActionButton.tsx +16 -19
  129. package/themes/original/src/components/ProductForm/index.tsx +123 -112
  130. package/themes/original/src/components/ProductItemAccordion/index.tsx +55 -49
  131. package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
  132. package/themes/original/src/components/ProductOptionSubOption/index.tsx +112 -91
  133. package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
  134. package/themes/original/src/components/Promotions/index.tsx +6 -9
  135. package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
  136. package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
  137. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  138. package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
  139. package/themes/original/src/components/ServiceForm/index.tsx +52 -54
  140. package/themes/original/src/components/Sessions/index.tsx +3 -3
  141. package/themes/original/src/components/SignupForm/index.tsx +65 -67
  142. package/themes/original/src/components/SingleOrderCard/index.tsx +1 -2
  143. package/themes/original/src/components/SingleProductCard/index.tsx +5 -6
  144. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  145. package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
  146. package/themes/original/src/components/StripeCardsList/index.tsx +12 -36
  147. package/themes/original/src/components/StripeElementsForm/index.tsx +78 -59
  148. package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
  149. package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
  150. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
  151. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
  152. package/themes/original/src/components/UserFormDetails/index.tsx +88 -91
  153. package/themes/original/src/components/UserFormDetails/styles.tsx +7 -0
  154. package/themes/original/src/components/UserProfile/index.tsx +11 -2
  155. package/themes/original/src/components/Wallets/index.tsx +7 -4
  156. package/themes/original/src/components/Wallets/styles.tsx +1 -1
  157. package/themes/original/src/components/WebsocketStatus/index.tsx +169 -0
  158. package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
  159. package/themes/original/src/components/shared/OAlert.tsx +2 -1
  160. package/themes/original/src/components/shared/OButton.tsx +8 -7
  161. package/themes/original/src/components/shared/OInput.tsx +1 -4
  162. package/themes/original/src/layouts/Container.tsx +4 -2
  163. package/themes/original/src/types/index.tsx +5 -1
  164. package/themes/original/src/utils/index.tsx +12 -1
  165. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -1,3 +1,6 @@
1
+
2
+
3
+
1
4
  import * as React from 'react'
2
5
  import styled, { useTheme } from 'styled-components/native'
3
6
  import { OButton, OIcon, OText } from '../shared'
@@ -64,6 +67,7 @@ const NavBar = (props: Props) => {
64
67
  <Wrapper style={{ paddingTop: props.paddingTop, ...{ flexDirection: props.isVertical ? 'column' : 'row', alignItems: props.isVertical ? 'flex-start' : 'center' }, ...props.style }}>
65
68
  {!props.hideArrowLeft && (
66
69
  <OButton
70
+ useArrow
67
71
  iconProps={{
68
72
  name: 'arrowleft',
69
73
  size: 26
@@ -114,8 +118,6 @@ const NavBar = (props: Props) => {
114
118
  {props.showCall
115
119
  ? (<OButton
116
120
  isCircle={true}
117
- bgColor={theme.colors.primary}
118
- borderColor={theme.colors.primary}
119
121
  imgRightSrc={null}
120
122
  imgLeftStyle={{ tintColor: 'white', width: 30, height: 30 }}
121
123
  imgLeftSrc={theme.images.general.support}
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { useLanguage, useOrderingTheme } from 'ordering-components/native'
2
+ import { useLanguage } from 'ordering-components/native'
3
3
  import { Dimensions } from 'react-native'
4
4
  import RNRestart from 'react-native-restart'
5
5
  import { OText, OIcon, OButton } from '../shared'
@@ -16,8 +16,7 @@ export const NetworkError = (props: NoNetworkParams) => {
16
16
  } = props
17
17
  const theme = useTheme()
18
18
  const [, t] = useLanguage()
19
- const [orderingTheme] = useOrderingTheme()
20
- const urlimage = orderingTheme?.theme?.no_internet?.components?.image
19
+ const urlimage = theme?.no_internet?.components?.image
21
20
  const noNetworkImage = image || theme.images.general.noNetwork
22
21
  const deviceWidth = Dimensions.get('screen').width
23
22
 
@@ -46,15 +45,10 @@ export const NetworkError = (props: NoNetworkParams) => {
46
45
  />
47
46
  <OButton
48
47
  text={t('REFRESH', 'Refresh')}
49
- bgColor={theme.colors.primary}
50
- borderColor={theme.colors.primary}
51
48
  style={{
52
49
  borderRadius: 8,
53
50
  marginTop: 45
54
51
  }}
55
- textStyle={{
56
- color: theme.colors.white
57
- }}
58
52
  onClick={() => RNRestart.Restart()}
59
53
  />
60
54
  </ImageContainer>
@@ -42,11 +42,8 @@ export const NotFoundSource = (props: NotFoundSourceParams) => {
42
42
  <View style={{ marginTop: 10, width: '100%' }}>
43
43
  <OButton
44
44
  style={{ width: '100%', height: 50, ...btnStyle }}
45
- bgColor={theme.colors.primary}
46
- borderColor={theme.colors.primary}
47
45
  onClick={() => onClickButton()}
48
46
  text={btnTitle}
49
- textStyle={{ color: theme.colors.white }}
50
47
  />
51
48
  </View>
52
49
  )}
@@ -3,7 +3,6 @@ import {
3
3
  UserFormDetails as NotificationsController,
4
4
  useLanguage,
5
5
  useSession,
6
- useOrderingTheme,
7
6
  useToast,
8
7
  ToastType,
9
8
  } from 'ordering-components/native'
@@ -28,7 +27,6 @@ const NotificationsUI = (props: any) => {
28
27
  const [{ user: userSession }] = useSession()
29
28
  const [, t] = useLanguage();
30
29
  const [, { showToast }] = useToast();
31
- const [orderingTheme] = useOrderingTheme()
32
30
 
33
31
  const user = userData || userSession
34
32
 
@@ -45,8 +43,8 @@ const NotificationsUI = (props: any) => {
45
43
  })
46
44
 
47
45
  const goToBack = () => navigation?.canGoBack() && navigation.goBack()
48
- const showCustomerPromotions = !orderingTheme?.theme?.profile?.components?.promotions?.hidden
49
- const showNotifications = !orderingTheme?.theme?.profile?.components?.notification_settings?.hidden
46
+ const showCustomerPromotions = !theme?.profile?.components?.promotions?.hidden
47
+ const showNotifications = !theme?.profile?.components?.notification_settings?.hidden
50
48
 
51
49
  const handleEditNotifications = (key: any, value: any) => {
52
50
  setNotificationsList({
@@ -145,10 +145,10 @@ export const OrderHistory = (props: any) => {
145
145
  </>
146
146
  )
147
147
  : message.change?.attribute === 'prepared_in' ? (
148
- <>
149
- {t('TIME_ADDED_BY_BUSINESS', 'Time added by business')}{'\n'}
150
- {formatSeconds(parseInt(message.change.new, 10))}
151
- </>
148
+ <>
149
+ {t('TIME_ADDED_BY_BUSINESS', 'Time added by business')}{'\n'}
150
+ {formatSeconds(parseInt(message.change.new, 10))}
151
+ </>
152
152
  ) : t(ORDER_STATUS[parseInt(message.change.new, 10)])
153
153
  }
154
154
  </OText>
@@ -170,11 +170,9 @@ export const OrderHistory = (props: any) => {
170
170
  ))}
171
171
  <OButton
172
172
  text={enableReview ? t('REVIEW_ORDER', 'Review order') : t('CONTINUE', 'Continue')}
173
- textStyle={{ fontSize: 14, color: theme.colors.white }}
173
+ textStyle={{ fontSize: 14 }}
174
174
  imgRightSrc={theme.images.general.arrow_right}
175
175
  imgRightStyle={{ tintColor: theme.colors.white, right: 5, margin: 5 }}
176
- borderColor='transparent'
177
- bgColor={theme.colors.primary}
178
176
  style={{ borderRadius: 7.6, borderWidth: 1, height: 44, shadowOpacity: 0, marginBottom: 30, marginTop: 20 }}
179
177
  onClick={() => handleReview()}
180
178
  />
@@ -270,7 +270,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
270
270
  title: t('DRIVER', 'Driver'),
271
271
  icon:
272
272
  order?.driver?.photo ||
273
- 'https://res.cloudinary.com/demo/image/fetch/c_thumb,g_face,r_max/https://www.freeiconspng.com/thumbs/driver-icon/driver-icon-14.png',
273
+ theme?.images?.general?.driverPng,
274
274
  },
275
275
  {
276
276
  ...order?.business?.location,
@@ -368,7 +368,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
368
368
  }, [order?.delivery_type])
369
369
 
370
370
  return (
371
- <SafeAreaView>
371
+ <>
372
372
  <View style={styles.wrapperNavbar}>
373
373
  <TopHeader>
374
374
  <>
@@ -643,7 +643,6 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
643
643
  <OButton
644
644
  text={t('GET_DIRECTIONS', 'Get Directions')}
645
645
  imgRightSrc=''
646
- textStyle={{ color: theme.colors.white }}
647
646
  style={{
648
647
  alignSelf: 'center',
649
648
  borderRadius: 10,
@@ -750,6 +749,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
750
749
  }
751
750
  locations={parsedLocations}
752
751
  readOnly
752
+ manualZoom
753
753
  />
754
754
  </Map>
755
755
  )}
@@ -832,9 +832,8 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
832
832
  <OButton
833
833
  text={t('YOUR_ORDERS', 'Your Orders')}
834
834
  textStyle={{ fontSize: 14, color: theme.colors.primary }}
835
+ bgColor={theme.colors.white}
835
836
  imgRightSrc={null}
836
- borderColor={theme.colors.primary}
837
- bgColor={theme.colors.clear}
838
837
  style={{ borderRadius: 7.6, borderWidth: 1, height: 44, shadowOpacity: 0 }}
839
838
  parentStyle={{ marginTop: 29, marginEnd: 15 }}
840
839
  onClick={() => navigation.navigate('BottomTab', { screen: 'MyOrders' })}
@@ -1125,8 +1124,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
1125
1124
  />
1126
1125
  </OModal>
1127
1126
  </OrderDetailsContainer>
1128
- </SafeAreaView>
1129
-
1127
+ </>
1130
1128
  );
1131
1129
  };
1132
1130
 
@@ -5,7 +5,6 @@ export const OrderDetailsContainer = styled.ScrollView`
5
5
  `
6
6
 
7
7
  export const NavBack = styled.TouchableOpacity`
8
-
9
8
  `
10
9
 
11
10
 
@@ -23,6 +23,7 @@ import {
23
23
  OrderProgressWrapper
24
24
  } from './styles'
25
25
  import { getOrderStatuPickUp, getOrderStatus } from '../../utils'
26
+ import DeviceInfo from 'react-native-device-info'
26
27
 
27
28
  const OrderProgressUI = (props: any) => {
28
29
  const {
@@ -56,7 +57,9 @@ const OrderProgressUI = (props: any) => {
56
57
  shadowColor: '#000',
57
58
  shadowOpacity: 0.2,
58
59
  shadowRadius: 2,
59
- elevation: 3
60
+ elevation: 3,
61
+ borderWidth: 1,
62
+ borderColor: 'rgba(0,0,0,0.1)'
60
63
  },
61
64
  logoWrapper: {
62
65
  overflow: 'hidden',
@@ -110,7 +113,7 @@ const OrderProgressUI = (props: any) => {
110
113
  setInitialLoaded(true)
111
114
  }, [orderList.loading, initialLoaded])
112
115
 
113
- const progressBarObjt = lastOrder?.delivery_type && lastOrder?.delivery_type === 2 ? getOrderStatuPickUp : getOrderStatus
116
+ const progressBarObjt = (s: any) => lastOrder?.delivery_type && lastOrder?.delivery_type === 2 ? getOrderStatuPickUp(s) : getOrderStatus(s)
114
117
 
115
118
  return (
116
119
  <>
@@ -130,7 +133,7 @@ const OrderProgressUI = (props: any) => {
130
133
  <View style={styles.logoWrapper}>
131
134
  <FastImage
132
135
  style={{ width: 50, height: 50 }}
133
- source={orderList?.orders.length === 1 ? {
136
+ source={orderList?.orders.length === 1 && lastOrder?.business?.logo?.includes?.('http') ? {
134
137
  uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
135
138
  priority: FastImage.priority.normal,
136
139
  } : theme.images.logos.logotype}
@@ -209,6 +212,22 @@ export const OrderProgress = (props: any) => {
209
212
  pageSize: 10,
210
213
  controlType: 'infinity'
211
214
  },
215
+ propsToFetch: [
216
+ 'id',
217
+ 'name',
218
+ 'business',
219
+ 'status',
220
+ 'delivery_type',
221
+ 'delivery_datetime_utc',
222
+ 'delivery_datetime',
223
+ 'reporting_data',
224
+ 'eta_current_status_time',
225
+ 'eta_previous_status_times',
226
+ 'eta_time',
227
+ 'delivered_in',
228
+ 'prepared_in',
229
+ 'eta_drive_time'
230
+ ],
212
231
  noGiftCardOrders: true
213
232
  }
214
233
 
@@ -31,14 +31,14 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
31
31
  const [orderState] = useOrder();
32
32
  const [, t] = useLanguage();
33
33
  const _orderTypes = orderTypes.filter((type: any) => configTypes?.includes(type.value));
34
- const orderTypeTitle = (type : string) => theme?.header?.components?.order_types?.components?.[type]?.components?.title
35
- const orderTypeDescription = (type : string) => theme?.header?.components?.order_types?.components?.[type]?.components?.description
36
- const orderTypeCallAction = (type : string) => theme?.header?.components?.order_types?.components?.[type]?.components?.call_to_action
34
+ const orderTypeTitle = (type: string) => theme?.header?.components?.order_types?.components?.[type]?.components?.title
35
+ const orderTypeDescription = (type: string) => theme?.header?.components?.order_types?.components?.[type]?.components?.description
36
+ const orderTypeCallAction = (type: string) => theme?.header?.components?.order_types?.components?.[type]?.components?.call_to_action
37
37
  const items = _orderTypes.map((type) => {
38
38
  return {
39
39
  value: type.value,
40
- label: orderTypeTitle(type.value) || t(type.content, type.content),
41
- description: orderTypeDescription(type.value) || t(type.description, 'Lorem ipsum dolor sit amet, consectetur.')
40
+ label: t(type.content, type.content),
41
+ description: t(type.description, 'Lorem ipsum dolor sit amet, consectetur.')
42
42
  }
43
43
  })
44
44
 
@@ -102,6 +102,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
102
102
  style={{ paddingBottom: 0 }}
103
103
  title={t('HOW_WILL_YOU_DELIVERY_TYPE', 'How will your order type?')}
104
104
  titleAlign={'center'}
105
+ titleStyle={{ fontSize: 14 }}
105
106
  noMargin
106
107
  />
107
108
  {
@@ -115,7 +116,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
115
116
  <OText size={12} lineHeight={18} color={theme.colors.white} weight={Platform.OS === 'android' ? 'bold' : '600'}>{item?.label}</OText>
116
117
  <OText size={10} lineHeight={15} color={theme.colors.white}>{item?.description}</OText>
117
118
  <View style={{ flexDirection: 'row', alignItems: 'center' }}>
118
- <OText size={10} lineHeight={15} color={theme.colors.white}>{orderTypeCallAction(item?.value) || t('START_MY_ORDER', 'Start my order')}</OText>
119
+ <OText size={10} lineHeight={15} color={theme.colors.white}>{t('START_MY_ORDER', 'Start my order')}</OText>
119
120
  <AntDesignIcon name='arrowleft' size={26} color={theme.colors.white} style={{ transform: [{ rotate: '180deg' }], marginStart: 4 }} />
120
121
  </View>
121
122
  </MaskCont>
@@ -159,10 +159,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
159
159
 
160
160
  useEffect(() => {
161
161
  if (reorderState?.error) {
162
- const errorMessage = (Array.isArray(reorderState?.result) || typeof reorderState?.result === 'string')
163
- ? reorderState?.result
164
- : t('CANT_REORDER_FOR_THIS_BUSINESS', 'Can’t reorder for this store, please create order manually.')
165
- showToast(ToastType.Error, errorMessage)
162
+ showToast(ToastType.Error, reorderState?.result)
166
163
  }
167
164
  }, [reorderState])
168
165
 
@@ -353,6 +350,7 @@ export const OrdersOption = (props: OrdersOptionParams) => {
353
350
  const MyOrdersProps = {
354
351
  ...props,
355
352
  UIComponent: OrdersOptionUI,
353
+ noGiftCardOrders: true,
356
354
  orderStatus: getAllOrders
357
355
  ? [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
358
356
  : props.preOrders ? [13] : props.activeOrders
@@ -26,7 +26,7 @@ const PaymentOptionCardUI = (props: any) => {
26
26
  const [alertState, setAlertState] = useState<{ open: boolean, content: Array<string> }>({ open: false, content: [] })
27
27
  const [newCard, setNewCard] = useState<any>(null)
28
28
 
29
- const onChangeCardForm = (values : any) => {
29
+ const onChangeCardForm = (values: any) => {
30
30
  if (values?.valid) {
31
31
  const expiry = values?.values?.expiry?.split('/')
32
32
  const expiryMonth = expiry[0]
@@ -107,6 +107,8 @@ const PaymentOptionCardUI = (props: any) => {
107
107
  cardsList={cardsList}
108
108
  noShowErrors
109
109
  gateway={gateway}
110
+ onOpen={() => setAddCardOpen({ ...addCardOpen, stripe: true })}
111
+ onCancel={() => setAddCardOpen({ ...addCardOpen, stripe: false })}
110
112
  />
111
113
  </>
112
114
  <Modal
@@ -169,7 +171,7 @@ const PaymentOptionCardUI = (props: any) => {
169
171
  )
170
172
  }
171
173
 
172
- export const PaymentOptionCard = (props : any) => {
174
+ export const PaymentOptionCard = (props: any) => {
173
175
  const paymentOptions = {
174
176
  ...props,
175
177
  UIComponent: PaymentOptionCardUI
@@ -131,7 +131,6 @@ const PaymentOptionStripeUI = (props: any) => {
131
131
  bgColor={theme.colors.backgroundGray}
132
132
  borderColor={theme.colors.backgroundGray}
133
133
  style={styles.btnAddStyle}
134
- textStyle={{ color: 'white' }}
135
134
  imgRightSrc={null}
136
135
  onClick={() => setAddCardOpen(true)}
137
136
  />
@@ -141,7 +140,6 @@ const PaymentOptionStripeUI = (props: any) => {
141
140
  text={t('CANCEL', 'Cancel')}
142
141
  bgColor={theme.colors.backgroundGray}
143
142
  borderColor={theme.colors.backgroundGray}
144
- textStyle={{ color: 'white' }}
145
143
  style={styles.btnAction}
146
144
  imgRightSrc={null}
147
145
  onClick={() => onCancel()}
@@ -150,9 +148,6 @@ const PaymentOptionStripeUI = (props: any) => {
150
148
  <View style={{ width: '48%' }}>
151
149
  <OButton
152
150
  text={t('ACCEPT', 'Accept')}
153
- bgColor={theme.colors.primary}
154
- borderColor={theme.colors.primary}
155
- textStyle={{ color: 'white' }}
156
151
  style={styles.btnAction}
157
152
  imgRightSrc={null}
158
153
  isDisabled={!cardSelected || cardsList?.cards?.length === 0}
@@ -45,7 +45,7 @@ const PaymentOptionWalletUI = (props: any) => {
45
45
  new Array(walletsState.result?.length).fill(false)
46
46
  );
47
47
 
48
- const creditBalance: any = (wallet: any) => ` = ${parsePrice(wallet.balance / wallet.redemption_rate, { isTruncable: true })}`
48
+ const creditBalance: any = (wallet: any) => ` = ${parsePrice(wallet.balance / wallet.redemption_rate)}`
49
49
 
50
50
  const walletName: any = {
51
51
  cash: {
@@ -87,65 +87,65 @@ const PaymentOptionWalletUI = (props: any) => {
87
87
  {!walletsState.loading &&
88
88
  !walletsState.error &&
89
89
  walletsState.result?.length > 0 &&
90
- (
91
- <>
92
- {walletsState.result?.map((wallet: any, idx: any) => wallet.valid && wallet.balance >= 0 && walletName[wallet.type]?.isActive && (
93
- <Container
94
- key={wallet.id}
95
- isBottomBorder={idx === walletsState.result?.filter((wallet: any) => wallet.valid)?.length - 1}
96
- onPress={() => handleOnChange(idx, wallet)}
97
- disabled={(cart?.balance === 0 && !checkedState[idx]) || wallet.balance === 0}
98
- >
99
- <SectionLeft>
100
- {checkedState[idx] ? (
101
- <MaterialCommunityIcons
102
- name="checkbox-marked"
103
- size={25}
104
- color={theme.colors.primary}
105
- />
106
- ) : (
107
- <MaterialCommunityIcons
108
- name="checkbox-blank-outline"
109
- size={25}
110
- color={theme.colors.disabled}
111
- />
112
- )}
113
- <View style={{ alignItems: 'baseline', marginLeft: 5 }}>
114
- <View>
115
- <OText
116
- style={((cart?.balance === 0 && !checkedState[idx]) || wallet.balance === 0) ? {
117
- color: theme.colors.disabled
118
- } : {}}
119
- >
120
- {walletName[wallet.type]?.name}
121
- </OText>
122
- </View>
90
+ (
91
+ <>
92
+ {walletsState.result?.map((wallet: any, idx: any) => wallet.valid && wallet.balance >= 0 && walletName[wallet.type]?.isActive && (
93
+ <Container
94
+ key={wallet.id}
95
+ isBottomBorder={idx === walletsState.result?.filter((wallet: any) => wallet.valid)?.length - 1}
96
+ onPress={() => handleOnChange(idx, wallet)}
97
+ disabled={(cart?.balance === 0 && !checkedState[idx]) || wallet.balance === 0}
98
+ >
99
+ <SectionLeft>
100
+ {checkedState[idx] ? (
101
+ <MaterialCommunityIcons
102
+ name="checkbox-marked"
103
+ size={25}
104
+ color={theme.colors.primary}
105
+ />
106
+ ) : (
107
+ <MaterialCommunityIcons
108
+ name="checkbox-blank-outline"
109
+ size={25}
110
+ color={theme.colors.disabled}
111
+ />
112
+ )}
113
+ <View style={{ alignItems: 'baseline', marginLeft: 5 }}>
114
+ <View>
115
+ <OText
116
+ style={((cart?.balance === 0 && !checkedState[idx]) || wallet.balance === 0) ?{
117
+ color: theme.colors.disabled
118
+ } : {}}
119
+ >
120
+ {walletName[wallet.type]?.name}
121
+ </OText>
123
122
  </View>
124
- </SectionLeft>
125
-
126
- <View style={{ maxWidth: '35%', alignItems: 'flex-end' }}>
127
- {wallet.type === 'cash' && (
128
- <OText>
129
- {parsePrice(wallet?.balance, { isTruncable: true })}
123
+ </View>
124
+ </SectionLeft>
125
+
126
+ <View style={{maxWidth: '35%', alignItems: 'flex-end' }}>
127
+ {wallet.type === 'cash' && (
128
+ <OText>
129
+ {parsePrice(wallet?.balance)}
130
+ </OText>
131
+ )}
132
+ {wallet.type === 'credit_point' && (
133
+ <OText>
134
+ <OText color={theme.colors.primary} weight='bold'>
135
+ {`${wallet?.balance} ${t('POINTS', 'Points')}`}
130
136
  </OText>
131
- )}
132
- {wallet.type === 'credit_point' && (
133
137
  <OText>
134
- <OText color={theme.colors.primary} weight='bold'>
135
- {`${wallet?.balance} ${t('POINTS', 'Points')}`}
136
- </OText>
137
- <OText>
138
- {wallet?.balance > 0
139
- ? creditBalance(wallet)
140
- : null}
141
- </OText>
138
+ {wallet?.balance > 0
139
+ ? creditBalance(wallet)
140
+ : null}
142
141
  </OText>
143
- )}
144
- </View>
145
- </Container>
146
- ))}
147
- </>
148
- )}
142
+ </OText>
143
+ )}
144
+ </View>
145
+ </Container>
146
+ ))}
147
+ </>
148
+ )}
149
149
 
150
150
  {walletsState?.loading && (
151
151
  <View>
@@ -65,6 +65,7 @@ const PaymentOptionsUI = (props: any) => {
65
65
  handlePaymentMethodClickCustom,
66
66
  handlePlaceOrder,
67
67
  merchantId,
68
+ urlscheme,
68
69
  setMethodPaySupported,
69
70
  placeByMethodPay,
70
71
  methodPaySupported,
@@ -74,7 +75,8 @@ const PaymentOptionsUI = (props: any) => {
74
75
  requiredFields,
75
76
  openUserModal,
76
77
  paymethodClicked,
77
- setPaymethodClicked
78
+ setPaymethodClicked,
79
+ androidAppId
78
80
  } = props
79
81
 
80
82
  const theme = useTheme();
@@ -217,7 +219,7 @@ const PaymentOptionsUI = (props: any) => {
217
219
  style={{ margin: 0, marginTop: 4 }}
218
220
  color={paymethodSelected?.id === item.id ? theme.colors.white : '#000'}
219
221
  >
220
- {t(item.gateway.toUpperCase(), item.name)}
222
+ {t(item?.gateway?.toUpperCase(), item.name)}
221
223
  </OText>
222
224
  </PMItem>
223
225
  </TouchableOpacity>
@@ -324,7 +326,6 @@ const PaymentOptionsUI = (props: any) => {
324
326
  <OButton
325
327
  text={t('ADD_PAYMENT_CARD', 'Add New Payment Card')}
326
328
  bgColor={theme.colors.white}
327
- borderColor={theme.colors.primary}
328
329
  style={styles.btnAddStyle}
329
330
  textStyle={{ color: theme.colors.primary, fontSize: 12 }}
330
331
  imgRightSrc={null}
@@ -342,10 +343,11 @@ const PaymentOptionsUI = (props: any) => {
342
343
  setAddCardOpen={setAddCardOpen}
343
344
  addCardOpen={addCardOpen}
344
345
  isOpenMethod={isOpenMethod}
345
- handlePaymethodDataChange={handlePaymethodDataChange}
346
+ handleSource={handlePaymethodDataChange}
346
347
  clientSecret={props.clientSecret}
347
348
  businessId={props.businessId}
348
349
  onPaymentChange={onPaymentChange}
350
+ paySelected={props.paySelected}
349
351
  />
350
352
  </View>
351
353
  )}
@@ -360,10 +362,13 @@ const PaymentOptionsUI = (props: any) => {
360
362
  handleSource={handlePaymethodDataChange}
361
363
  onCancel={() => handlePaymethodClick(null)}
362
364
  merchantId={merchantId}
365
+ urlscheme={urlscheme}
366
+ androidAppId={androidAppId}
363
367
  setMethodPaySupported={setMethodPaySupported}
364
368
  methodPaySupported={methodPaySupported}
365
369
  placeByMethodPay={placeByMethodPay}
366
370
  setPlaceByMethodPay={setPlaceByMethodPay}
371
+ publicKeyAddCard={isOpenMethod?.paymethod?.credentials?.stripe?.publishable || isOpenMethod?.paymethod?.credentials?.publishable}
367
372
  />
368
373
  )}
369
374
 
@@ -406,6 +411,10 @@ const PaymentOptionsUI = (props: any) => {
406
411
  handleSource={handlePaymethodDataChange}
407
412
  onCancel={() => handlePaymethodClick(null)}
408
413
  merchantId={merchantId}
414
+ urlscheme={urlscheme}
415
+ androidAppId={androidAppId}
416
+ publicKeyAddCard={isOpenMethod?.paymethod?.credentials?.stripe?.publishable || isOpenMethod?.paymethod?.credentials?.publishable}
417
+ paySelected={props.paySelected}
409
418
  />
410
419
  </KeyboardAvoidingView>
411
420
  </OModal>
@@ -416,7 +425,6 @@ const PaymentOptionsUI = (props: any) => {
416
425
  <OButton
417
426
  text={t('ADD_PAYMENT_CARD', 'Add New Payment Card')}
418
427
  bgColor={theme.colors.white}
419
- borderColor={theme.colors.primary}
420
428
  style={styles.btnAddStyle}
421
429
  textStyle={{ color: theme.colors.primary, fontSize: 12 }}
422
430
  imgRightSrc={null}
@@ -425,11 +433,13 @@ const PaymentOptionsUI = (props: any) => {
425
433
  <StripeCardsList
426
434
  paymethod={isOpenMethod?.paymethod}
427
435
  businessId={props.businessId}
428
- publicKey={isOpenMethod?.paymethod?.credentials.publishable}
429
436
  payType={paymethodsList?.name}
430
437
  onSelectCard={handlePaymethodDataChange}
431
438
  onNavigationRedirect={onNavigationRedirect}
432
439
  onCancel={() => handlePaymethodClick(null)}
440
+ publicKey={isOpenMethod?.paymethod?.credentials.publishable}
441
+ publicKeyAddCard={isOpenMethod?.paymethod?.credentials?.stripe?.publishable || isOpenMethod?.paymethod?.credentials?.publishable}
442
+ paySelected={props.paySelected}
433
443
  />
434
444
  </View>
435
445
  )}
@@ -446,6 +456,7 @@ const PaymentOptionsUI = (props: any) => {
446
456
  enabled={Platform.OS === 'ios' ? true : false}
447
457
  >
448
458
  <StripeElementsForm
459
+ openCarts={props.openCarts}
449
460
  toSave
450
461
  businessId={props.businessId}
451
462
  publicKey={isOpenMethod?.paymethod?.credentials?.stripe?.publishable}
@@ -453,6 +464,36 @@ const PaymentOptionsUI = (props: any) => {
453
464
  accountId={isOpenMethod?.paymethod?.credentials?.user}
454
465
  onSelectCard={handlePaymethodDataChange}
455
466
  onCancel={() => setAddCardOpen({ ...addCardOpen, stripeConnect: false })}
467
+ publicKeyAddCard={isOpenMethod?.paymethod?.credentials?.stripe?.publishable || isOpenMethod?.paymethod?.credentials?.publishable}
468
+ />
469
+ </KeyboardAvoidingView>
470
+ </OModal>
471
+
472
+ {/* Stripe Add card */}
473
+ <OModal
474
+ entireModal
475
+ title={t('ADD_CREDIT_OR_DEBIT_CARD', 'Add credit or debit card')}
476
+ open={addCardOpen?.stripe}
477
+ onClose={() => setAddCardOpen({ ...addCardOpen, stripe: false })}
478
+ style={{ backgroundColor: 'red' }}
479
+ >
480
+ <KeyboardAvoidingView
481
+ behavior={Platform.OS == 'ios' ? 'padding' : 'height'}
482
+ keyboardVerticalOffset={Platform.OS == 'ios' ? 0 : 0}
483
+ enabled={Platform.OS === 'ios' ? true : false}
484
+ >
485
+ <StripeElementsForm
486
+ openCarts={props.openCarts}
487
+ toSave
488
+ businessId={props.businessId}
489
+ businessIds={props.businessIds}
490
+ publicKey={props.publicKey || isOpenMethod?.paymethod?.credentials?.publishable}
491
+ setCardsList={setCardList}
492
+ requirements={props.clientSecret}
493
+ handleSource={handlePaymethodDataChange}
494
+ onSelectCard={handlePaymethodDataChange}
495
+ onCancel={() => setAddCardOpen({ ...addCardOpen, stripe: false })}
496
+ publicKeyAddCard={isOpenMethod?.paymethod?.credentials?.stripe?.publishable || isOpenMethod?.paymethod?.credentials?.publishable}
456
497
  />
457
498
  </KeyboardAvoidingView>
458
499
  </OModal>
@@ -236,9 +236,7 @@ const PlaceSpotUI = (props: PlaceSpotParams) => {
236
236
  <View style={{ alignItems: 'flex-start' }}>
237
237
  <OButton
238
238
  onClick={() => onChangeSpot()}
239
- bgColor={theme.colors.primary}
240
- borderColor={theme.colors.primary}
241
- textStyle={{ color: 'white', fontSize: 12 }}
239
+ textStyle={{ fontSize: 12 }}
242
240
  imgRightSrc={null}
243
241
  text={t('UPDATE_SPOT_NUMBER', 'Update')}
244
242
  isDisabled={(!spotNumber && !Object.values(vehicle).every(e => e))}
@@ -27,7 +27,7 @@ export const PreviousOrders = (props: PreviousOrdersParams) => {
27
27
 
28
28
  const [, t] = useLanguage();
29
29
 
30
- const pastOrders = [1, 2, 5, 6, 10, 11, 12, 15, 16, 17]
30
+ const pastOrders = [1, 2, 5, 6, 10, 11, 12, 15, 16, 17]
31
31
 
32
32
  return (
33
33
  <View style={{ marginBottom: 30 }}>
@@ -49,7 +49,6 @@ export const PreviousOrders = (props: PreviousOrdersParams) => {
49
49
  onClick={loadMoreOrders}
50
50
  text={t('LOAD_MORE_ORDERS', 'Load more orders')}
51
51
  imgRightSrc={null}
52
- textStyle={{ color: theme.colors.white }}
53
52
  style={{ borderRadius: 7.6, shadowOpacity: 0, marginTop: 20 }}
54
53
  />
55
54
  </WrappButton>