ordering-ui-react-native 0.16.55 → 0.16.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 (200) 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/BusinessInformation/index.tsx +33 -4
  6. package/src/components/BusinessInformation/styles.tsx +2 -2
  7. package/src/components/BusinessProductsList/index.tsx +10 -10
  8. package/src/components/BusinessesListing/index.tsx +1 -1
  9. package/src/components/Checkout/index.tsx +2 -1
  10. package/src/components/LanguageSelector/index.tsx +21 -16
  11. package/src/components/Messages/index.tsx +2 -2
  12. package/src/components/NotificationSetting/index.tsx +85 -0
  13. package/src/components/OrdersOption/index.tsx +54 -56
  14. package/src/components/PaymentOptions/index.tsx +298 -345
  15. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  16. package/src/components/SingleProductReview/index.tsx +7 -4
  17. package/src/components/StripeElementsForm/index.tsx +25 -16
  18. package/src/components/VerifyPhone/styles.tsx +1 -2
  19. package/src/components/shared/OBottomPopup.tsx +6 -2
  20. package/src/components/shared/OToast.tsx +4 -4
  21. package/src/index.tsx +2 -0
  22. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  23. package/src/utils/index.tsx +2 -1
  24. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +260 -238
  25. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  26. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  27. package/themes/business/src/components/Chat/index.tsx +40 -32
  28. package/themes/business/src/components/DriverMap/index.tsx +7 -5
  29. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  30. package/themes/business/src/components/MapView/index.tsx +12 -1
  31. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  32. package/themes/business/src/components/NewOrderNotification/index.tsx +26 -41
  33. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +40 -30
  34. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +3 -3
  35. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  36. package/themes/business/src/components/OrdersOption/index.tsx +76 -77
  37. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  38. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  39. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  40. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  41. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  42. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  43. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  44. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  45. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  46. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +250 -0
  47. package/themes/business/src/components/PreviousOrders/OrdersGroupedItem.tsx +115 -0
  48. package/themes/business/src/components/PreviousOrders/index.tsx +440 -245
  49. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  50. package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
  51. package/themes/business/src/components/ReviewCustomer/index.tsx +39 -15
  52. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  53. package/themes/business/src/components/UserProfileForm/index.tsx +2 -0
  54. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  55. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  56. package/themes/business/src/components/shared/OLink.tsx +24 -12
  57. package/themes/business/src/components/shared/OText.tsx +3 -2
  58. package/themes/business/src/types/index.tsx +25 -11
  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 +8 -0
  74. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  75. package/themes/original/src/components/AddressForm/index.tsx +153 -137
  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 +53 -37
  79. package/themes/original/src/components/BusinessController/index.tsx +112 -48
  80. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  81. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  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 +80 -138
  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 -61
  91. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  92. package/themes/original/src/components/BusinessProductsListing/index.tsx +177 -81
  93. package/themes/original/src/components/BusinessProductsListing/styles.tsx +14 -12
  94. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  95. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  96. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +112 -107
  97. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  98. package/themes/original/src/components/BusinessesListing/index.tsx +17 -10
  99. package/themes/original/src/components/Cart/index.tsx +82 -15
  100. package/themes/original/src/components/Cart/styles.tsx +4 -0
  101. package/themes/original/src/components/CartContent/index.tsx +27 -17
  102. package/themes/original/src/components/CartContent/styles.tsx +1 -1
  103. package/themes/original/src/components/Checkout/index.tsx +115 -118
  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 +0 -1
  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 +10 -1
  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 +89 -25
  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 +20 -0
  136. package/themes/original/src/components/OrderDetails/index.tsx +132 -18
  137. package/themes/original/src/components/OrderDetails/styles.tsx +15 -2
  138. package/themes/original/src/components/OrderItAgain/index.tsx +75 -0
  139. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  140. package/themes/original/src/components/OrderProgress/index.tsx +77 -66
  141. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  142. package/themes/original/src/components/OrderSummary/index.tsx +2 -35
  143. package/themes/original/src/components/OrderTypeSelector/index.tsx +85 -36
  144. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  145. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +94 -98
  146. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  147. package/themes/original/src/components/OrdersOption/index.tsx +95 -55
  148. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  149. package/themes/original/src/components/PaymentOptions/index.tsx +1 -2
  150. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  151. package/themes/original/src/components/PlaceSpot/index.tsx +249 -47
  152. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  153. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  154. package/themes/original/src/components/ProductForm/index.tsx +367 -384
  155. package/themes/original/src/components/ProductForm/styles.tsx +7 -12
  156. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  157. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  158. package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
  159. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +0 -1
  160. package/themes/original/src/components/ProfessionalFilter/index.tsx +2 -1
  161. package/themes/original/src/components/ProfessionalProfile/index.tsx +19 -8
  162. package/themes/original/src/components/Promotions/index.tsx +232 -219
  163. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  164. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  165. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  166. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  167. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  168. package/themes/original/src/components/ReviewTrigger/index.tsx +28 -10
  169. package/themes/original/src/components/ReviewTrigger/styles.tsx +10 -3
  170. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  171. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  172. package/themes/original/src/components/ServiceForm/index.tsx +330 -266
  173. package/themes/original/src/components/SignupForm/index.tsx +134 -89
  174. package/themes/original/src/components/SingleOrderCard/index.tsx +219 -129
  175. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  176. package/themes/original/src/components/SingleProductCard/index.tsx +116 -72
  177. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -9
  178. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  179. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  180. package/themes/original/src/components/StripeElementsForm/index.tsx +13 -2
  181. package/themes/original/src/components/UpsellingProducts/index.tsx +15 -5
  182. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  183. package/themes/original/src/components/UserFormDetails/index.tsx +6 -48
  184. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  185. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  186. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  187. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  188. package/themes/original/src/components/Wallets/index.tsx +176 -164
  189. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  190. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  191. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  192. package/themes/original/src/components/shared/OBottomPopup.tsx +32 -21
  193. package/themes/original/src/components/shared/OButton.tsx +8 -3
  194. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  195. package/themes/original/src/components/shared/OInput.tsx +10 -1
  196. package/themes/original/src/layouts/Container.tsx +13 -9
  197. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  198. package/themes/original/src/types/index.tsx +63 -8
  199. package/themes/original/src/utils/index.tsx +103 -58
  200. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -91,6 +91,10 @@ export const OrderContentComponent = (props: OrderContent) => {
91
91
  return order?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
92
92
  }
93
93
 
94
+ const containsOnlyNumbers = (str: string) => {
95
+ return /^\d+$/.test(str);
96
+ }
97
+
94
98
  return (
95
99
  <OrderContent isOrderGroup={isOrderGroup} lastOrder={lastOrder}>
96
100
  {isOrderGroup && (
@@ -148,7 +152,7 @@ export const OrderContentComponent = (props: OrderContent) => {
148
152
  <View style={styles.linkWithIcons}>
149
153
  <OLink
150
154
  PressStyle={styles.linkWithIcons}
151
- url={`tel:${order?.business?.cellphone}`}
155
+ url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.cellphone : 'invalid'}`}
152
156
  shorcut={`${order?.business?.cellphone}`}
153
157
  TextStyle={styles.textLink}
154
158
  />
@@ -159,7 +163,7 @@ export const OrderContentComponent = (props: OrderContent) => {
159
163
  <View style={styles.linkWithIcons}>
160
164
  <OLink
161
165
  PressStyle={styles.linkWithIcons}
162
- url={`tel:${order?.business?.phone}`}
166
+ url={`tel:${containsOnlyNumbers(order?.business?.cellphone) ? order?.business?.phone : 'invalid'}`}
163
167
  shorcut={order?.business?.phone}
164
168
  TextStyle={styles.textLink}
165
169
  />
@@ -274,7 +278,7 @@ export const OrderContentComponent = (props: OrderContent) => {
274
278
  <View style={styles.linkWithIcons}>
275
279
  <OLink
276
280
  PressStyle={styles.linkWithIcons}
277
- url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
281
+ url={`tel:${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${containsOnlyNumbers(order?.customer?.cellphone) ? order?.customer?.cellphone : 'invalid'}`}
278
282
  shorcut={`${!!order?.customer?.country_phone_code ? '+' + order?.customer?.country_phone_code : ''} ${order?.customer?.cellphone}`}
279
283
  TextStyle={styles.textLink}
280
284
  />
@@ -285,7 +289,7 @@ export const OrderContentComponent = (props: OrderContent) => {
285
289
  <View style={styles.linkWithIcons}>
286
290
  <OLink
287
291
  PressStyle={styles.linkWithIcons}
288
- url={`tel:${order?.customer?.phone}`}
292
+ url={`tel:${containsOnlyNumbers(order?.customer?.phone) ? order?.customer?.phone : 'invalid'}`}
289
293
  shorcut={order?.customer?.phone}
290
294
  TextStyle={styles.textLink}
291
295
  />
@@ -333,13 +337,18 @@ export const OrderContentComponent = (props: OrderContent) => {
333
337
  <View style={{ marginTop: 10 }}>
334
338
  {order?.delivery_option !== undefined && order?.delivery_type === 1 && (
335
339
  <OText>
336
- {order?.delivery_option?.name}
340
+ {t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
337
341
  </OText>
338
342
  )}
339
343
  {!!order?.comment && (
340
- <OText style={{ fontStyle: 'italic', opacity: 0.6, marginBottom: 5 }}>
341
- {order?.comment}
342
- </OText>
344
+ <>
345
+ <OText weight='500' style={{ marginBottom: 5 }}>
346
+ {t('ORDER_COMMENT', 'Order Comment')}
347
+ </OText>
348
+ <OText style={{ fontStyle: 'italic', opacity: 0.6, marginBottom: 20 }}>
349
+ {order?.comment}
350
+ </OText>
351
+ </>
343
352
  )}
344
353
  </View>
345
354
  )}
@@ -364,6 +373,7 @@ export const OrderContentComponent = (props: OrderContent) => {
364
373
  <ProductItemAccordion
365
374
  key={product?.id || i}
366
375
  product={product}
376
+ currency={order?.currency}
367
377
  />
368
378
  ))}
369
379
  </OrderProducts>
@@ -372,7 +382,7 @@ export const OrderContentComponent = (props: OrderContent) => {
372
382
  <Table>
373
383
  <OText mBottom={4}>{t('SUBTOTAL', 'Subtotal')}</OText>
374
384
  <OText mBottom={4}>
375
- {parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()))}
385
+ {parsePrice(((order?.summary?.subtotal ?? order?.subtotal) + getIncludedTaxes()), { currency: order?.currency })}
376
386
  </OText>
377
387
  </Table>
378
388
  {(order?.summary?.discount > 0 ?? order?.discount > 0) && order?.offers?.length === 0 && (
@@ -385,7 +395,7 @@ export const OrderContentComponent = (props: OrderContent) => {
385
395
  ) : (
386
396
  <OText mBottom={4}>{t('DISCOUNT', theme?.defaultLanguages?.DISCOUNT || 'Discount')}</OText>
387
397
  )}
388
- <OText>- {parsePrice(order?.summary?.discount ?? order?.discount)}</OText>
398
+ <OText>- {parsePrice(order?.summary?.discount ?? order?.discount, { currency: order?.currency })}</OText>
389
399
  </Table>
390
400
  )}
391
401
  {
@@ -393,13 +403,13 @@ export const OrderContentComponent = (props: OrderContent) => {
393
403
  <Table key={offer.id}>
394
404
  <OSRow>
395
405
  <OText mBottom={4}>
396
- {offer.name}
406
+ {t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
397
407
  {offer.rate_type === 1 && (
398
408
  <OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
399
409
  )}
400
410
  </OText>
401
411
  </OSRow>
402
- <OText mBottom={4}>- {parsePrice(offer?.summary?.discount)}</OText>
412
+ <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
403
413
  </Table>
404
414
  ))
405
415
  }
@@ -407,9 +417,9 @@ export const OrderContentComponent = (props: OrderContent) => {
407
417
  <Table>
408
418
  <OText mBottom={4}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
409
419
  {order?.tax_type === 1 ? (
410
- <OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0))}</OText>
420
+ <OText mBottom={4}>{parsePrice((order?.summary?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0), { currency: order?.currency })}</OText>
411
421
  ) : (
412
- <OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0)}</OText>
422
+ <OText mBottom={4}>{parsePrice(order?.summary?.subtotal_with_discount ?? 0, { currency: order?.currency })}</OText>
413
423
  )}
414
424
  </Table>
415
425
  )}
@@ -419,7 +429,7 @@ export const OrderContentComponent = (props: OrderContent) => {
419
429
  {t('TAX', 'Tax')} {`(${verifyDecimals(order?.tax, parseNumber)}%)`}
420
430
  </OText>
421
431
  <OText mBottom={4}>
422
- {parsePrice(order?.summary?.tax ?? 0)}
432
+ {parsePrice(order?.summary?.tax ?? 0, { currency: order?.currency })}
423
433
  </OText>
424
434
  </Table>
425
435
  )}
@@ -430,7 +440,7 @@ export const OrderContentComponent = (props: OrderContent) => {
430
440
  {t('SERVICE_FEE', 'Service fee')}
431
441
  {`(${verifyDecimals(order?.service_fee, parseNumber)}%)`}
432
442
  </OText>
433
- <OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0)}</OText>
443
+ <OText mBottom={4}>{parsePrice(order?.summary?.service_fee ?? 0, { currency: order?.currency })}</OText>
434
444
  </Table>
435
445
  )
436
446
  }
@@ -439,11 +449,11 @@ export const OrderContentComponent = (props: OrderContent) => {
439
449
  <Table key={tax.id}>
440
450
  <OSRow>
441
451
  <OText mBottom={4}>
442
- {tax.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
452
+ {t(tax?.name?.toUpperCase()?.replace(/ /g, '_'), tax?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
443
453
  {`(${verifyDecimals(tax?.rate, parseNumber)}%)`}{' '}
444
454
  </OText>
445
455
  </OSRow>
446
- <OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0)}</OText>
456
+ <OText mBottom={4}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0, { currency: order?.currency })}</OText>
447
457
  </Table>
448
458
  ))
449
459
  }
@@ -452,11 +462,11 @@ export const OrderContentComponent = (props: OrderContent) => {
452
462
  <Table key={fee.id}>
453
463
  <OSRow>
454
464
  <OText mBottom={4}>
455
- {fee.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
456
- ({fee?.fixed > 0 && `${parsePrice(fee?.fixed)} + `}{fee.percentage}%){' '}
465
+ {t(fee?.name?.toUpperCase()?.replace(/ /g, '_'), fee?.name) || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}
466
+ ({fee?.fixed > 0 && `${parsePrice(fee?.fixed, { currency: order?.currency })} + `}{fee.percentage}%){' '}
457
467
  </OText>
458
468
  </OSRow>
459
- <OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0)}</OText>
469
+ <OText mBottom={4}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0, { currency: order?.currency })}</OText>
460
470
  </Table>
461
471
  ))
462
472
  }
@@ -465,13 +475,13 @@ export const OrderContentComponent = (props: OrderContent) => {
465
475
  <Table key={offer.id}>
466
476
  <OSRow>
467
477
  <OText mBottom={4}>
468
- {offer.name}
478
+ {t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
469
479
  {offer.rate_type === 1 && (
470
480
  <OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
471
481
  )}
472
482
  </OText>
473
483
  </OSRow>
474
- <OText mBottom={4}>- {parsePrice(offer?.summary?.discount)}</OText>
484
+ <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
475
485
  </Table>
476
486
  ))
477
487
  }
@@ -483,7 +493,7 @@ export const OrderContentComponent = (props: OrderContent) => {
483
493
  </OText>
484
494
 
485
495
  <OText mBottom={4}>
486
- {parsePrice(order?.summary?.delivery_price)}
496
+ {parsePrice(order?.summary?.delivery_price, { currency: order?.currency })}
487
497
  </OText>
488
498
  </Table>
489
499
  )
@@ -493,13 +503,13 @@ export const OrderContentComponent = (props: OrderContent) => {
493
503
  <Table key={offer.id}>
494
504
  <OSRow>
495
505
  <OText mBottom={4}>
496
- {offer.name}
506
+ {t(offer.name?.toUpperCase()?.replace(/ /g, '_'), offer.name)}
497
507
  {offer.rate_type === 1 && (
498
508
  <OText>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
499
509
  )}
500
510
  </OText>
501
511
  </OSRow>
502
- <OText mBottom={4}>- {parsePrice(offer?.summary?.discount)}</OText>
512
+ <OText mBottom={4}>- {parsePrice(offer?.summary?.discount, { currency: order?.currency })}</OText>
503
513
  </Table>
504
514
  ))
505
515
  }
@@ -514,7 +524,7 @@ export const OrderContentComponent = (props: OrderContent) => {
514
524
  `(${verifyDecimals(order?.summary?.driver_tip, parseNumber)}%)`
515
525
  )}
516
526
  </OText>
517
- <OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip)}</OText>
527
+ <OText mBottom={4}>{parsePrice(order?.summary?.driver_tip ?? order?.totalDriverTip, { currency: order?.currency })}</OText>
518
528
  </Table>
519
529
  )}
520
530
 
@@ -528,7 +538,7 @@ export const OrderContentComponent = (props: OrderContent) => {
528
538
  mBottom={4}
529
539
  style={styles.textBold}
530
540
  color={theme.colors.primary}>
531
- {parsePrice(order?.summary?.total ?? order?.total)}
541
+ {parsePrice(order?.summary?.total ?? order?.total, { currency: order?.currency })}
532
542
  </OText>
533
543
  </Table>
534
544
  </Total>
@@ -562,7 +572,7 @@ export const OrderContentComponent = (props: OrderContent) => {
562
572
  <OText>
563
573
  {event?.wallet_event
564
574
  ? walletName[event?.wallet_event?.wallet?.type]?.name
565
- : event?.paymethod?.name}
575
+ : t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)}
566
576
  </OText>
567
577
  {event?.data?.charge_id && (
568
578
  <OText>
@@ -571,7 +581,7 @@ export const OrderContentComponent = (props: OrderContent) => {
571
581
  )}
572
582
  </View>
573
583
  <OText>
574
- -{parsePrice(event.amount)}
584
+ -{parsePrice(event.amount, { currency: order?.currency })}
575
585
  </OText>
576
586
  </View>
577
587
  ))}
@@ -271,7 +271,7 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
271
271
  {order?.delivery_option && (
272
272
  <OText size={13}>
273
273
  <OText size={13} weight='bold'>{`${t('DELIVERY_PREFERENCE', 'Delivery Preference')}: `}</OText>
274
- {order?.delivery_option?.name}
274
+ {t(order?.delivery_option?.name?.toUpperCase()?.replace(/ /g, '_'), order?.delivery_option?.name)}
275
275
  </OText>
276
276
  )}
277
277
  {order?.payment_events?.length > 0 && (
@@ -286,8 +286,8 @@ export const OrderHeaderComponent = (props: OrderHeader) => {
286
286
  ? `${walletName[event?.wallet_event?.wallet?.type]?.name} - `
287
287
  : walletName[event?.wallet_event?.wallet?.type]?.name
288
288
  : idx < order?.payment_events?.length - 1
289
- ? `${event?.paymethod?.name} - `
290
- : event?.paymethod?.name
289
+ ? `${t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)} - `
290
+ : t(event?.paymethod?.name?.toUpperCase()?.replace(/ /g, '_'), event?.paymethod?.name)
291
291
  })}
292
292
  </OText>
293
293
  </View>
@@ -6,7 +6,7 @@ import FontistoIcon from 'react-native-vector-icons/Fontisto'
6
6
  import FeatherIcon from 'react-native-vector-icons/Feather';
7
7
  import SelectDropdown from 'react-native-select-dropdown'
8
8
  import { useTheme } from 'styled-components/native';
9
-
9
+ import { NotificationSetting } from '../../../../../src/components/NotificationSetting'
10
10
  import {
11
11
  FiltersTab,
12
12
  TabsContainer,
@@ -611,7 +611,7 @@ const OrdersListManagerUI = (props: OrdersOptionParams) => {
611
611
  </LeftSide>
612
612
 
613
613
  <RightSide style={{ paddingBottom: 110, paddingHorizontal: 20 }}>
614
- {currentOrderSelected && (
614
+ {currentOrderSelected && (
615
615
  <OrderDetailsBusiness {...props.orderDetailsProps} order={currentOrderSelected} isCustomView />
616
616
  )}
617
617
  </RightSide>
@@ -756,6 +756,7 @@ const OrdersListManagerUI = (props: OrdersOptionParams) => {
756
756
 
757
757
  export const OrdersListManager = (props: OrdersOptionParams) => {
758
758
  const [, t] = useLanguage();
759
+ const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
759
760
  const ordersProps = {
760
761
  ...props,
761
762
  UIComponent: OrdersListManagerUI,
@@ -870,5 +871,11 @@ export const OrdersListManager = (props: OrdersOptionParams) => {
870
871
  ]
871
872
  };
872
873
 
873
- return <OrderListGroups {...ordersProps} />;
874
+ return (<>
875
+ <OrderListGroups {...ordersProps} />
876
+ {props?.checkNotification && (
877
+ <NotificationSetting checkNotificationStatus={checkNotificationStatus}
878
+ setCheckNotificationStatus={setCheckNotificationStatus} />
879
+ )}
880
+ </>);
874
881
  };
@@ -1,12 +1,14 @@
1
1
  import React, { useEffect, useState, useRef } from 'react';
2
- import { View, Pressable, StyleSheet, ScrollView, RefreshControl, Linking, Platform, TextInput } from 'react-native';
3
- import { useLanguage, useUtils, useToast, ToastType, OrderListGroups, useConfig } from 'ordering-components/native';
2
+ import { View, Pressable, StyleSheet, ScrollView, RefreshControl, Platform } from 'react-native';
3
+ import { useLanguage, useUtils, useToast, OrderListGroups, useConfig } from 'ordering-components/native';
4
4
  import SelectDropdown from 'react-native-select-dropdown'
5
5
  import { Placeholder, PlaceholderLine, Fade } from 'rn-placeholder';
6
6
  import FeatherIcon from 'react-native-vector-icons/Feather';
7
7
  import FontistoIcon from 'react-native-vector-icons/Fontisto'
8
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
8
9
  import { useTheme } from 'styled-components/native';
9
10
  import { DeviceOrientationMethods } from '../../../../../src/hooks/DeviceOrientation'
11
+ import { NotificationSetting } from '../../../../../src/components/NotificationSetting'
10
12
  import { NewOrderNotification } from '../NewOrderNotification';
11
13
 
12
14
  import { OText, OButton, OModal, OIconButton, OInput, OIcon } from '../shared';
@@ -18,7 +20,6 @@ import {
18
20
  IconWrapper,
19
21
  ModalContainer,
20
22
  ModalTitle,
21
- FilterBtnWrapper,
22
23
  TabPressable,
23
24
  OrderStatus,
24
25
  SlaOption,
@@ -32,41 +33,17 @@ import {
32
33
  ItemContent,
33
34
  TimerInputWrapper,
34
35
  OverLine,
35
- Actions
36
+ InputContainer
36
37
  } from './styles';
37
38
  import { PreviousOrders } from '../PreviousOrders';
38
39
  import { OrdersOptionParams } from '../../types';
39
40
 
40
- import { TouchableOpacity } from 'react-native-gesture-handler';
41
- import GestureRecognizer from 'react-native-swipe-gestures';
42
- import ODropDown from '../shared/ODropDown';
43
- import { OrdersOptionStatus } from '../OrdersOptionStatus'
44
41
  import { OrdersOptionCity } from '../OrdersOptionCity';
45
42
  import { OrdersOptionBusiness } from '../OrdersOptionBusiness';
46
43
  import { OrdersOptionDelivery } from '../OrdersOptionDelivery';
47
44
  import { OrdersOptionPaymethod } from '../OrdersOptionPaymethod';
48
45
  import { OrdersOptionDriver } from '../OrdersOptionDriver';
49
46
  import { OrdersOptionDate } from '../OrdersOptionDate';
50
-
51
- const tabsList: any = {
52
- pending: 1,
53
- inProgress: 2,
54
- completed: 3,
55
- cancelled: 4
56
- };
57
-
58
- const tabsListText: any = {
59
- 1: 'pending',
60
- 2: 'inProgress',
61
- 3: 'completed',
62
- 4: 'cancelled'
63
- };
64
-
65
- const swipeConfig = {
66
- velocityThreshold: 0.3,
67
- directionalOffsetThreshold: 80
68
- };
69
-
70
47
  const { useDeviceOrientation, PORTRAIT } = DeviceOrientationMethods
71
48
 
72
49
  const OrdersOptionUI = (props: OrdersOptionParams) => {
@@ -78,17 +55,20 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
78
55
  ordersGroup,
79
56
  setOrdersGroup,
80
57
  orderStatus,
58
+ ordersFormatted,
81
59
  loadOrders,
82
60
  loadMoreOrders,
83
61
  onNavigationRedirect,
84
- filtered,
85
62
  onFiltered,
86
63
  handleClickOrder,
87
64
  isBusinessApp,
88
65
  handleClickLogisticOrder,
89
66
  logisticOrders,
90
67
  loadLogisticOrders,
91
- isLogisticActivated
68
+ isLogisticActivated,
69
+ isAlsea,
70
+ handleChangeOrderStatus,
71
+ handleSendCustomerReview
92
72
  } = props;
93
73
 
94
74
  const defaultSearchList = {
@@ -118,10 +98,10 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
118
98
  const [slaSettingTime, setSlaSettingTime] = useState(6000)
119
99
  const [currentDeliveryType, setCurrentDeliveryType] = useState('Delivery')
120
100
  const [search, setSearch] = useState(defaultSearchList)
121
- const [selectedTabStatus, setSelectedTabStatus] = useState([])
101
+ const [selectedTabStatus, setSelectedTabStatus] = useState<any>([])
122
102
  const [hour, setHour] = useState(0)
123
103
  const [minute, setMinute] = useState(0)
124
-
104
+ const [openedSelect, setOpenedSelect] = useState('')
125
105
  const WIDTH_SCREEN = orientationState?.dimensions?.width
126
106
  const HEIGHT_SCREEN = orientationState?.dimensions?.height
127
107
  const IS_PORTRAIT = orientationState.orientation === PORTRAIT
@@ -342,26 +322,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
342
322
  })
343
323
  }
344
324
 
345
- const onSwipeLeft = () => {
346
- let currentTab = tabsList[currentTabSelected]
347
- currentTab = currentTab >= 4 ? null : currentTab + 1
348
-
349
- if (!currentTab) return
350
-
351
- const nextTab = tabsListText[currentTab]
352
- nextTab && setCurrentTabSelected(nextTab)
353
- }
354
-
355
- const onSwipeRight = () => {
356
- let currentTab = tabsList[currentTabSelected]
357
- currentTab = currentTab <= 1 ? null : currentTab - 1
358
-
359
- if (!currentTab) return
360
-
361
- const nextTab = tabsListText[currentTab]
362
- nextTab && setCurrentTabSelected(nextTab)
363
- }
364
-
365
325
  const calculateDate = (type: any, from: any, to: any) => {
366
326
  switch (type) {
367
327
  case 'today':
@@ -401,13 +361,15 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
401
361
  setOpenSLASettingModal(false)
402
362
  }
403
363
 
404
- useEffect(() => {
405
- setCurrentFilters(null)
406
- onFiltered && onFiltered(null)
364
+ const handleClearFilters = () => {
407
365
  setSearch(defaultSearchList)
366
+ }
367
+
368
+ useEffect(() => {
408
369
  scrollRefTab.current?.scrollTo({ animated: true });
409
370
  scrollListRef.current?.scrollTo({ animated: true });
410
371
  scrollRef.current?.scrollTo({ y: 0, animated: true });
372
+ setTags({ values: [] })
411
373
  }, [currentTabSelected])
412
374
 
413
375
  useEffect(() => {
@@ -415,12 +377,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
415
377
  }, [])
416
378
 
417
379
  return (
418
- // <GestureRecognizer
419
- // onSwipeLeft={onSwipeLeft}
420
- // onSwipeRight={onSwipeRight}
421
- // config={swipeConfig}
422
- // style={{ flex: 1 }}
423
- // >
424
380
  <>
425
381
  <View style={styles.header}>
426
382
  <OText style={styles.title}>{t('MY_ORDERS', 'My orders')}</OText>
@@ -545,7 +501,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
545
501
  </ScrollView>
546
502
  </FiltersTab>
547
503
  <View style={{ flex: 1, minHeight: HEIGHT_SCREEN - 450 }}>
548
- {currentTabSelected !== 'logisticOrders' && (
504
+ {currentTabSelected !== 'logisticOrders' && !isAlsea && (
549
505
  <View
550
506
  style={{
551
507
  display: 'flex',
@@ -629,12 +585,18 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
629
585
  currentTabSelected !== 'logisticOrders' &&
630
586
  (
631
587
  <PreviousOrders
632
- orders={currentOrdersGroup?.orders}
588
+ orders={ordersFormatted}
589
+ navigation={props.navigation}
633
590
  onNavigationRedirect={onNavigationRedirect}
634
591
  getOrderStatus={getOrderStatus}
635
592
  handleClickOrder={handleClickOrder}
636
593
  slaSettingTime={slaSettingTime}
637
594
  currentTabSelected={currentTabSelected}
595
+ appTitle={props.orderDetailsProps?.appTitle}
596
+ actions={props.orderDetailsProps?.actions}
597
+ orderTitle={props.orderDetailsProps?.orderTitle}
598
+ handleChangeOrderStatus={handleChangeOrderStatus}
599
+ handleSendCustomerReview={handleSendCustomerReview}
638
600
  />
639
601
  )}
640
602
  {!logisticOrders?.error?.length &&
@@ -724,12 +686,11 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
724
686
  )}
725
687
  </ScrollView>
726
688
  </View>
727
- {/* </GestureRecognizer> */}
728
-
689
+
729
690
  {isBusinessApp && (
730
691
  <NewOrderNotification isBusinessApp={isBusinessApp} />
731
692
  )}
732
-
693
+
733
694
  {(openSearchModal || openSLASettingModal) && (
734
695
  <OModal open={openSearchModal || openSLASettingModal} entireModal customClose>
735
696
  <ModalContainer
@@ -752,22 +713,34 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
752
713
  {openSearchModal && (
753
714
  <SearchModalContent>
754
715
  <ModalTitle>{t('SEARCH_ORDERS', 'Search orders')}</ModalTitle>
755
- <OInput
756
- value={search.id}
757
- onChange={(value: any) => setSearch({ ...search, id: value })}
758
- style={styles.inputStyle}
759
- placeholder={t('ORDER_NUMBER', 'Order number')}
760
- autoCorrect={false}
761
- />
716
+ <InputContainer>
717
+ <OInput
718
+ value={search.id}
719
+ onChange={(value: any) => setSearch({ ...search, id: value })}
720
+ style={styles.inputStyle}
721
+ placeholder={t('ORDER_NUMBER', 'Order number')}
722
+ autoCorrect={false}
723
+ />
724
+ <AntDesignIcon
725
+ name='close'
726
+ size={20}
727
+ style={{ position: 'absolute', right: 12, top: 13 }}
728
+ onPress={() => setSearch({ ...search, id: '' })}
729
+ />
730
+ </InputContainer>
762
731
  <OrdersOptionDate
763
732
  {...props}
764
733
  search={search}
765
734
  onSearch={setSearch}
735
+ setOpenedSelect={setOpenedSelect}
736
+ openedSelect={openedSelect}
766
737
  />
767
738
  <OrdersOptionCity
768
739
  {...props}
769
740
  search={search}
770
741
  onSearch={setSearch}
742
+ setOpenedSelect={setOpenedSelect}
743
+ openedSelect={openedSelect}
771
744
  />
772
745
  {isBusinessApp && (
773
746
  <>
@@ -775,21 +748,29 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
775
748
  {...props}
776
749
  search={search}
777
750
  onSearch={setSearch}
751
+ setOpenedSelect={setOpenedSelect}
752
+ openedSelect={openedSelect}
778
753
  />
779
754
  <OrdersOptionDelivery
780
755
  {...props}
781
756
  search={search}
782
757
  onSearch={setSearch}
758
+ setOpenedSelect={setOpenedSelect}
759
+ openedSelect={openedSelect}
783
760
  />
784
761
  <OrdersOptionDriver
785
762
  {...props}
786
763
  search={search}
787
764
  onSearch={setSearch}
765
+ setOpenedSelect={setOpenedSelect}
766
+ openedSelect={openedSelect}
788
767
  />
789
768
  <OrdersOptionPaymethod
790
769
  {...props}
791
770
  search={search}
792
771
  onSearch={setSearch}
772
+ setOpenedSelect={setOpenedSelect}
773
+ openedSelect={openedSelect}
793
774
  />
794
775
  </>
795
776
  )}
@@ -799,13 +780,24 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
799
780
  imgRightSrc={null}
800
781
  style={{
801
782
  borderRadius: 7.6,
802
- marginBottom: 70,
783
+ marginBottom: 10,
803
784
  marginTop: 60,
804
785
  zIndex: 12
805
786
  }}
806
787
  onClick={applyFilters}
807
788
  />
808
-
789
+ <OButton
790
+ text={t('CLEAR_SEARCh', 'Clear search')}
791
+ imgRightSrc={null}
792
+ bgColor='#fff'
793
+ style={{
794
+ borderRadius: 7.6,
795
+ marginBottom: 0,
796
+ marginTop: 0,
797
+ zIndex: 12
798
+ }}
799
+ onClick={handleClearFilters}
800
+ />
809
801
  </SearchModalContent>
810
802
  )}
811
803
  {openSLASettingModal && (
@@ -847,7 +839,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
847
839
  </ScrollView>
848
840
  </FiltersTab>
849
841
  <DeliveryStatusWrapper>
850
- {selectedTabStatus && selectedTabStatus.length > 0 && selectedTabStatus.map((item, i) => (
842
+ {selectedTabStatus && selectedTabStatus.length > 0 && selectedTabStatus.map((item: any, i: number) => (
851
843
  <StatusBlock
852
844
  key={i}
853
845
  item={item}
@@ -934,6 +926,7 @@ export const OrdersOption = (props: OrdersOptionParams) => {
934
926
  const [, t] = useLanguage();
935
927
  const [configState] = useConfig()
936
928
  const theme = useTheme()
929
+ const [checkNotificationStatus, setCheckNotificationStatus] = useState({ open: false, checked: false })
937
930
  const ordersProps = {
938
931
  ...props,
939
932
  UIComponent: OrdersOptionUI,
@@ -1048,5 +1041,11 @@ export const OrdersOption = (props: OrdersOptionParams) => {
1048
1041
  ]
1049
1042
  };
1050
1043
 
1051
- return <OrderListGroups {...ordersProps} />;
1044
+ return (<>
1045
+ <OrderListGroups {...ordersProps} />
1046
+ {props?.checkNotification && (
1047
+ <NotificationSetting checkNotificationStatus={checkNotificationStatus}
1048
+ setCheckNotificationStatus={setCheckNotificationStatus} />
1049
+ )}
1050
+ </>);
1052
1051
  };
@@ -149,4 +149,8 @@ export const OverLine = styled.View`
149
149
  `
150
150
  export const Actions = styled.View`
151
151
 
152
- `
152
+ `
153
+
154
+ export const InputContainer = styled.View`
155
+ position: relative;
156
+ `