ordering-ui-react-native 0.16.46 → 0.16.47-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 (199) hide show
  1. package/package.json +6 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/index.tsx +61 -63
  4. package/src/components/ActiveOrders/styles.tsx +8 -14
  5. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  6. package/src/components/BusinessInformation/index.tsx +33 -4
  7. package/src/components/BusinessInformation/styles.tsx +2 -2
  8. package/src/components/BusinessProductsList/index.tsx +10 -10
  9. package/src/components/BusinessesListing/index.tsx +1 -1
  10. package/src/components/Checkout/index.tsx +2 -1
  11. package/src/components/LanguageSelector/index.tsx +21 -16
  12. package/src/components/Messages/index.tsx +2 -2
  13. package/src/components/NotificationSetting/index.tsx +85 -0
  14. package/src/components/OrdersOption/index.tsx +54 -56
  15. package/src/components/PaymentOptions/index.tsx +298 -345
  16. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  17. package/src/components/ReviewDriver/index.tsx +1 -1
  18. package/src/components/ReviewOrder/index.tsx +2 -2
  19. package/src/components/ReviewProducts/index.tsx +11 -0
  20. package/src/components/SingleProductReview/index.tsx +8 -5
  21. package/src/components/StripeElementsForm/index.tsx +25 -16
  22. package/src/components/VerifyPhone/styles.tsx +1 -2
  23. package/src/components/shared/OBottomPopup.tsx +6 -2
  24. package/src/components/shared/OToast.tsx +3 -3
  25. package/src/index.tsx +2 -0
  26. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  27. package/src/utils/index.tsx +2 -1
  28. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  29. package/themes/business/src/components/Chat/index.tsx +40 -32
  30. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  31. package/themes/business/src/components/DriverSchedule/index.tsx +36 -19
  32. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  33. package/themes/business/src/components/MapView/index.tsx +12 -1
  34. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  35. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -41
  36. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  37. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +33 -23
  38. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  39. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  40. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  41. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  42. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  43. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  44. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  45. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  46. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  47. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  48. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  49. package/themes/business/src/components/PreviousOrders/index.tsx +18 -20
  50. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  51. package/themes/business/src/components/ReviewCustomer/index.tsx +27 -13
  52. package/themes/business/src/components/ScheduleBlocked/index.tsx +2 -2
  53. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  54. package/themes/business/src/components/UserProfileForm/index.tsx +2 -0
  55. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  56. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  57. package/themes/business/src/components/shared/OLink.tsx +24 -12
  58. package/themes/business/src/types/index.tsx +15 -9
  59. package/themes/business/src/utils/index.tsx +10 -0
  60. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  61. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  62. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  63. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  64. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  65. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  66. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  67. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  68. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  69. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  70. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  71. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  72. package/themes/kiosk/src/types/index.d.ts +2 -0
  73. package/themes/original/index.tsx +4 -0
  74. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  75. package/themes/original/src/components/AddressForm/index.tsx +157 -140
  76. package/themes/original/src/components/AddressList/index.tsx +1 -1
  77. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  78. package/themes/original/src/components/BusinessBasicInformation/index.tsx +218 -147
  79. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +2 -2
  80. package/themes/original/src/components/BusinessController/index.tsx +231 -114
  81. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  82. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  83. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  84. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  85. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  86. package/themes/original/src/components/BusinessListingSearch/index.tsx +109 -139
  87. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  88. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  89. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  90. package/themes/original/src/components/BusinessProductsList/index.tsx +59 -60
  91. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  92. package/themes/original/src/components/BusinessProductsListing/index.tsx +175 -80
  93. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -11
  94. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  95. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +35 -23
  96. package/themes/original/src/components/BusinessesListing/Layout/Appointment/styles.tsx +3 -2
  97. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +275 -120
  98. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +47 -10
  99. package/themes/original/src/components/BusinessesListing/index.tsx +80 -25
  100. package/themes/original/src/components/Cart/index.tsx +82 -15
  101. package/themes/original/src/components/Cart/styles.tsx +4 -0
  102. package/themes/original/src/components/CartContent/index.tsx +22 -16
  103. package/themes/original/src/components/Checkout/index.tsx +113 -117
  104. package/themes/original/src/components/Checkout/styles.tsx +4 -3
  105. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  106. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  107. package/themes/original/src/components/DriverTips/index.tsx +4 -4
  108. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  109. package/themes/original/src/components/FavoriteList/index.tsx +69 -45
  110. package/themes/original/src/components/FloatingButton/index.tsx +13 -11
  111. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  112. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  113. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  114. package/themes/original/src/components/GoogleMap/index.tsx +20 -12
  115. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +25 -10
  116. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +4 -0
  117. package/themes/original/src/components/HelpGuide/index.tsx +9 -8
  118. package/themes/original/src/components/HelpOrder/index.tsx +9 -8
  119. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  120. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  121. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  122. package/themes/original/src/components/LoginForm/index.tsx +98 -41
  123. package/themes/original/src/components/LottieAnimation/index.tsx +69 -0
  124. package/themes/original/src/components/Messages/index.tsx +35 -20
  125. package/themes/original/src/components/MomentOption/index.tsx +8 -6
  126. package/themes/original/src/components/MultiCart/index.tsx +63 -0
  127. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
  128. package/themes/original/src/components/MultiCheckout/index.tsx +10 -2
  129. package/themes/original/src/components/MultiOrdersDetails/index.tsx +34 -16
  130. package/themes/original/src/components/MyOrders/index.tsx +88 -22
  131. package/themes/original/src/components/NavBar/index.tsx +11 -5
  132. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  133. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  134. package/themes/original/src/components/Notifications/index.tsx +148 -0
  135. package/themes/original/src/components/Notifications/styles.tsx +17 -0
  136. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  137. package/themes/original/src/components/OrderDetails/index.tsx +200 -39
  138. package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
  139. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  140. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  141. package/themes/original/src/components/OrderProgress/index.tsx +77 -66
  142. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  143. package/themes/original/src/components/OrderSummary/index.tsx +2 -35
  144. package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
  145. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  146. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +94 -98
  147. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  148. package/themes/original/src/components/OrdersOption/index.tsx +102 -56
  149. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  150. package/themes/original/src/components/PaymentOptions/index.tsx +1 -2
  151. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  152. package/themes/original/src/components/PlaceSpot/index.tsx +249 -47
  153. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  154. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  155. package/themes/original/src/components/ProductForm/index.tsx +639 -664
  156. package/themes/original/src/components/ProductForm/styles.tsx +10 -11
  157. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  158. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  159. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  160. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +0 -1
  161. package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
  162. package/themes/original/src/components/ProfessionalProfile/index.tsx +19 -8
  163. package/themes/original/src/components/Promotions/index.tsx +232 -219
  164. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  165. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  166. package/themes/original/src/components/ReviewOrder/index.tsx +120 -108
  167. package/themes/original/src/components/ReviewOrder/styles.tsx +5 -7
  168. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  169. package/themes/original/src/components/ReviewTrigger/index.tsx +136 -0
  170. package/themes/original/src/components/ReviewTrigger/styles.tsx +41 -0
  171. package/themes/original/src/components/ServiceForm/index.tsx +332 -264
  172. package/themes/original/src/components/SignupForm/index.tsx +160 -113
  173. package/themes/original/src/components/SingleOrderCard/index.tsx +266 -183
  174. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  175. package/themes/original/src/components/SingleProductCard/index.tsx +198 -112
  176. package/themes/original/src/components/SingleProductCard/styles.tsx +3 -10
  177. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  178. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  179. package/themes/original/src/components/StripeElementsForm/index.tsx +13 -2
  180. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
  181. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  182. package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
  183. package/themes/original/src/components/UserProfile/index.tsx +56 -31
  184. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  185. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  186. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  187. package/themes/original/src/components/Wallets/index.tsx +176 -164
  188. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  189. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  190. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  191. package/themes/original/src/components/shared/OBottomPopup.tsx +48 -15
  192. package/themes/original/src/components/shared/OButton.tsx +10 -3
  193. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  194. package/themes/original/src/components/shared/OInput.tsx +10 -1
  195. package/themes/original/src/layouts/Container.tsx +13 -9
  196. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  197. package/themes/original/src/types/index.tsx +83 -28
  198. package/themes/original/src/utils/index.tsx +103 -58
  199. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -47,6 +47,10 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
47
47
  businessesSearchList,
48
48
  hideOrders,
49
49
  BusinessControllerSkeletons,
50
+ businesses,
51
+ businessPaginationProps,
52
+ handleUpdateProducts,
53
+ handleUpdateBusinesses
50
54
  } = props
51
55
 
52
56
  const theme = useTheme();
@@ -56,12 +60,42 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
56
60
  const [, { showToast }] = useToast()
57
61
  const { loading, error, orders: values } = orderList
58
62
  const [businessLoading, setBusinessLoading] = useState(true)
63
+ const [orders, setOrders] = useState([])
59
64
 
60
65
  const imageFails = activeOrders
61
66
  ? theme.images.general.emptyActiveOrders
62
67
  : theme.images.general.emptyPastOrders
63
68
 
64
- const orders = customArray || values || []
69
+ const _orders = customArray || values || []
70
+ const uniqueOrders: any = []
71
+
72
+
73
+ useEffect(() => {
74
+ if (loading || error) return
75
+ const orders = _orders.map((order: any) => order?.cart_group_id
76
+ ? _orders
77
+ .filter((_order : any) => _order?.cart_group_id === order?.cart_group_id)
78
+ ?.reduce((orderCompleted : any, currentOrder : any) => ({
79
+ ...orderCompleted,
80
+ total: orderCompleted.summary?.total + currentOrder?.summary?.total,
81
+ business: [orderCompleted.business, currentOrder.business].flat(),
82
+ business_id: [orderCompleted.business_id, currentOrder.business_id].flat(),
83
+ id: [orderCompleted.id, currentOrder.id].flat(),
84
+ review: orderCompleted.review && currentOrder.review,
85
+ user_review: orderCompleted.user_review && currentOrder.user_review,
86
+ products: [orderCompleted.products, currentOrder.products].flat()
87
+ }))
88
+ : order)
89
+ .filter((order: any) => {
90
+ const isDuplicate = uniqueOrders.includes(order?.cart_group_id)
91
+ if (!isDuplicate) {
92
+ uniqueOrders.push(order?.cart_group_id)
93
+ return true
94
+ }
95
+ return false
96
+ })
97
+ setOrders(orders)
98
+ }, [JSON.stringify(_orders)])
65
99
 
66
100
  const getOrderStatus = (s: string) => {
67
101
  const status = parseInt(s)
@@ -98,11 +132,18 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
98
132
  }
99
133
 
100
134
  const onProductClick = (product: any) => {
101
- if (product?.product_id && product?.category_id && product?.businessId) {
135
+ if (product?.product_id && product?.category_id && product?.businessId &&
136
+ product?.business.slug && product?.business.header && product?.business.logo) {
102
137
  onNavigationRedirect('ProductDetails', {
103
- productId: product?.product_id,
104
- categoryId: product?.category_id,
138
+ isRedirect: 'business',
105
139
  businessId: product?.businessId,
140
+ categoryId: product?.category_id,
141
+ productId: product?.product_id,
142
+ business: {
143
+ store: product?.business.slug,
144
+ header: product?.business.header,
145
+ logo: product?.business.logo,
146
+ }
106
147
  })
107
148
  } else {
108
149
  showToast(ToastType.Error, t('ERROR_FAILED_REDIRECT_IDS', 'Failed to redirect product for ids'))
@@ -134,7 +175,9 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
134
175
 
135
176
  useFocusEffect(
136
177
  React.useCallback(() => {
137
- loadOrders(false, false, false, true)
178
+ if (!businessesSearchList) {
179
+ loadOrders(false, false, false, true)
180
+ }
138
181
  }, [navigation])
139
182
  )
140
183
 
@@ -182,15 +225,18 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
182
225
  )}
183
226
  {(ordersLength?.activeOrdersLength > 0 || ordersLength?.previousOrdersLength > 0) && (
184
227
  <>
185
- <OptionTitle titleContent={!!titleContent} isBusinessesSearchList={!!businessesSearchList}>
186
- <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={10} >
187
- {titleContent || (activeOrders
188
- ? t('ACTIVE', 'Active')
189
- : preOrders
190
- ? t('PREORDERS', 'Preorders')
191
- : t('PAST', 'Past'))}
192
- </OText>
193
- </OptionTitle>
228
+ {((titleContent && ((isBusiness && businessOrderIds?.length > 0) || isProducts)) || !titleContent) && (
229
+ <OptionTitle titleContent={!!titleContent} isBusinessesSearchList={!!businessesSearchList}>
230
+ <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={10} >
231
+ {titleContent || (activeOrders
232
+ ? t('ACTIVE', 'Active')
233
+ : preOrders
234
+ ? t('PREORDERS', 'Preorders')
235
+ : t('PAST', 'Past'))}
236
+ </OText>
237
+ </OptionTitle>
238
+ )}
239
+
194
240
  {!(ordersLength?.activeOrdersLength === 0 && ordersLength?.previousOrdersLength === 0) &&
195
241
  !loading &&
196
242
  orders.filter((order: any) => orderStatus.includes(order.status)).length === 0 &&
@@ -203,34 +249,33 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
203
249
  )}
204
250
  </>
205
251
  )}
206
- {isBusiness && !!businessesSearchList && businessLoading && (
252
+ {isBusiness && !!businessesSearchList && businesses?.loading && (
207
253
  <ScrollView horizontal>
208
- <BusinessControllerSkeletons />
254
+ <BusinessControllerSkeletons paginationProps={businessPaginationProps} />
209
255
  </ScrollView>
210
256
  )}
211
- {isBusiness && businessOrderIds?.length > 0 && (
257
+ {isBusiness && (
212
258
  <PreviousBusinessOrdered
213
- businessId={businessOrderIds}
214
- businessLoading={businessLoading}
215
- setBusinessLoading={setBusinessLoading}
216
259
  onNavigationRedirect={onNavigationRedirect}
217
- isLoadingOrders={loading}
218
260
  isBusinessesSearchList={!!businessesSearchList}
261
+ businesses={businesses}
262
+ handleUpdateBusinesses={handleUpdateBusinesses}
219
263
  />
220
264
  )}
221
265
 
222
- {isProducts && (
266
+ {isProducts && !loading && (
223
267
  <PreviousProductsOrdered
224
268
  products={products}
225
269
  onProductClick={onProductClick}
270
+ handleUpdateProducts={handleUpdateProducts}
226
271
  isBusinessesSearchList={!!businessesSearchList}
227
272
  />
228
273
  )}
229
274
  {(loading && isProducts) && (
230
275
  <>
231
- {[...Array(4).keys()].map(
276
+ {[...Array(!!businessesSearchList ? 1 : 4).keys()].map(
232
277
  (item, i) => (
233
- <Placeholder key={i} style={{ padding: 5, paddingLeft: 40 }} Animation={Fade}>
278
+ <Placeholder key={i} style={{ padding: 5, paddingLeft: !!businessesSearchList ? 0 : 40, marginBottom: !!businessesSearchList ? 38 : 0 }} Animation={Fade}>
234
279
  <View style={{ flexDirection: 'row' }}>
235
280
  <PlaceholderLine
236
281
  width={24}
@@ -247,38 +292,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
247
292
  )}
248
293
  </>
249
294
  )}
250
- {loading && !hideOrders && (
251
- <>
252
- {!activeOrders ? (
253
- <Placeholder style={{ marginTop: 30 }} Animation={Fade}>
254
- <View style={{ width: '100%', flexDirection: 'row' }}>
255
- <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 35 }} />
256
- <Placeholder>
257
- <PlaceholderLine width={30} style={{ marginTop: 5 }} />
258
- <PlaceholderLine width={50} />
259
- <PlaceholderLine width={70} />
260
- </Placeholder>
261
- </View>
262
- </Placeholder>
263
- ) : (
264
- <View style={{ marginTop: 30 }}>
265
- {[...Array(5)].map((item, i) => (
266
- <Placeholder key={i} Animation={Fade}>
267
- <View style={{ width: '100%', flexDirection: 'row' }}>
268
- <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 20 }} />
269
- <Placeholder>
270
- <PlaceholderLine width={30} style={{ marginTop: 5 }} />
271
- <PlaceholderLine width={50} />
272
- <PlaceholderLine width={20} />
273
- </Placeholder>
274
- </View>
275
- </Placeholder>
276
- ))}
277
- </View>
278
- )}
279
- </>
280
- )}
281
- {!loading && !error && orders.length > 0 && !hideOrders && (
295
+ {!error && orders.length > 0 && !hideOrders && (
282
296
  preOrders ? (
283
297
  <ActiveOrders
284
298
  orders={orders.filter((order: any) => orderStatus.includes(order.status))}
@@ -310,9 +324,41 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
310
324
  onNavigationRedirect={onNavigationRedirect}
311
325
  handleReorder={handleReorder}
312
326
  handleUpdateOrderList={handleUpdateOrderList}
327
+ loading={loading}
313
328
  />
314
329
  )
315
330
  )}
331
+ {loading && !hideOrders && (
332
+ <>
333
+ {!activeOrders ? (
334
+ <Placeholder style={{ marginTop: 30 }} Animation={Fade}>
335
+ <View style={{ width: '100%', flexDirection: 'row' }}>
336
+ <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 35 }} />
337
+ <Placeholder>
338
+ <PlaceholderLine width={30} style={{ marginTop: 5 }} />
339
+ <PlaceholderLine width={50} />
340
+ <PlaceholderLine width={70} />
341
+ </Placeholder>
342
+ </View>
343
+ </Placeholder>
344
+ ) : (
345
+ <View style={{ marginTop: 30 }}>
346
+ {[...Array(5)].map((item, i) => (
347
+ <Placeholder key={i} Animation={Fade}>
348
+ <View style={{ width: '100%', flexDirection: 'row' }}>
349
+ <PlaceholderLine width={20} height={70} style={{ marginRight: 20, marginBottom: 20 }} />
350
+ <Placeholder>
351
+ <PlaceholderLine width={30} style={{ marginTop: 5 }} />
352
+ <PlaceholderLine width={50} />
353
+ <PlaceholderLine width={20} />
354
+ </Placeholder>
355
+ </View>
356
+ </Placeholder>
357
+ ))}
358
+ </View>
359
+ )}
360
+ </>
361
+ )}
316
362
  </>
317
363
  )
318
364
  }
@@ -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>
@@ -160,7 +160,6 @@ const PaymentOptionsUI = (props: any) => {
160
160
  <TouchableOpacity
161
161
  onPress={() => handlePaymentMethodClick(item)}
162
162
  >
163
- {console.log(item?.gateway)}
164
163
  <PMItem
165
164
  key={item.id}
166
165
  isDisabled={isDisabled}
@@ -187,7 +186,7 @@ const PaymentOptionsUI = (props: any) => {
187
186
  )
188
187
  }
189
188
 
190
- const excludeIds: any = [32]; //exclude paypal & connect & redirect
189
+ const excludeIds: any = [32, 66]; //exclude paypal & connect & redirect
191
190
 
192
191
  return (
193
192
  <PMContainer>
@@ -124,7 +124,7 @@ export const PhoneInputNumber = (props: PhoneInputParams) => {
124
124
  flagButtonStyle={flagStyle}
125
125
  countryPickerButtonStyle={{ ...style.countryBtn, ...boxStyle ? boxStyle : {} }}
126
126
  placeholder={t('PHONE_NUMBER', 'Phone Number')}
127
- textInputProps={{ autoCompleteType: 'tel', ref: forwardRef, ...textInputProps }}
127
+ textInputProps={{ keyboardType: 'number-pad', autoCompleteType: 'tel', textContentType: 'telephoneNumber', dataDetectorTypes: 'phoneNumber', ref: forwardRef, ...textInputProps }}
128
128
  containerStyle={{ width: '100%' }}
129
129
  renderDropdownImage={noDropIcon ? <View /> : <OIcon src={theme.images.general.arrow_down} width={13} color={'#B1BCCC'}></OIcon>}
130
130
  />