ordering-ui-react-native 0.16.82 → 0.16.83-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 (218) hide show
  1. package/package.json +5 -5
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/ActiveOrders/styles.tsx +8 -14
  4. package/src/components/BusinessInformation/index.tsx +19 -4
  5. package/src/components/BusinessInformation/styles.tsx +2 -2
  6. package/src/components/BusinessProductsList/index.tsx +10 -10
  7. package/src/components/BusinessesListing/index.tsx +1 -1
  8. package/src/components/LanguageSelector/index.tsx +21 -16
  9. package/src/components/Messages/index.tsx +2 -2
  10. package/src/components/OrderCreating/index.tsx +1 -21
  11. package/src/components/OrdersOption/index.tsx +54 -56
  12. package/src/components/PaymentOptionsWebView/index.tsx +119 -120
  13. package/src/components/SingleProductReview/index.tsx +7 -4
  14. package/src/components/VerifyPhone/styles.tsx +1 -2
  15. package/src/components/shared/OToast.tsx +4 -4
  16. package/src/utils/index.tsx +2 -1
  17. package/themes/business/index.tsx +2 -0
  18. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +260 -238
  19. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -4
  20. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  21. package/themes/business/src/components/Chat/index.tsx +31 -31
  22. package/themes/business/src/components/DriverMap/index.tsx +22 -9
  23. package/themes/business/src/components/GoogleMap/index.tsx +58 -57
  24. package/themes/business/src/components/LoginForm/Otp/index.tsx +120 -0
  25. package/themes/business/src/components/LoginForm/Otp/styles.tsx +7 -0
  26. package/themes/business/src/components/LoginForm/index.tsx +236 -80
  27. package/themes/business/src/components/LoginForm/styles.tsx +10 -0
  28. package/themes/business/src/components/MapView/index.tsx +19 -8
  29. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  30. package/themes/business/src/components/NewOrderNotification/index.tsx +31 -41
  31. package/themes/business/src/components/OrderDetails/Delivery.tsx +4 -3
  32. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +97 -50
  33. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +3 -3
  34. package/themes/business/src/components/OrderDetailsLogistic/index.tsx +195 -0
  35. package/themes/business/src/components/OrderDetailsLogistic/styles.tsx +5 -0
  36. package/themes/business/src/components/OrdersOption/index.tsx +63 -73
  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 +447 -247
  49. package/themes/business/src/components/PreviousOrders/styles.tsx +31 -3
  50. package/themes/business/src/components/ProductItemAccordion/index.tsx +30 -5
  51. package/themes/business/src/components/ReviewCustomer/index.tsx +39 -15
  52. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  53. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  54. package/themes/business/src/components/shared/OLink.tsx +33 -13
  55. package/themes/business/src/components/shared/OModal.tsx +16 -9
  56. package/themes/business/src/components/shared/OText.tsx +8 -2
  57. package/themes/business/src/types/index.tsx +36 -3
  58. package/themes/business/src/utils/index.tsx +53 -0
  59. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  60. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  61. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  62. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -1
  63. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  64. package/themes/kiosk/src/components/LoginForm/Otp/index.tsx +92 -0
  65. package/themes/kiosk/src/components/LoginForm/Otp/styles.tsx +7 -0
  66. package/themes/kiosk/src/components/LoginForm/index.tsx +473 -151
  67. package/themes/kiosk/src/components/LoginForm/styles.tsx +14 -1
  68. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  69. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  70. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  71. package/themes/kiosk/src/components/PhoneInputNumber/index.tsx +1 -0
  72. package/themes/kiosk/src/components/PhoneInputNumber/styles.tsx +1 -3
  73. package/themes/kiosk/src/components/ProductForm/index.tsx +1 -14
  74. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  75. package/themes/kiosk/src/components/shared/OModal.tsx +14 -11
  76. package/themes/kiosk/src/layouts/Container.tsx +7 -1
  77. package/themes/kiosk/src/types/index.d.ts +13 -0
  78. package/themes/kiosk/src/utils/index.tsx +15 -0
  79. package/themes/original/index.tsx +8 -0
  80. package/themes/original/src/components/AddressDetails/index.tsx +10 -8
  81. package/themes/original/src/components/AddressForm/index.tsx +155 -139
  82. package/themes/original/src/components/AddressList/index.tsx +18 -18
  83. package/themes/original/src/components/AddressList/styles.tsx +4 -2
  84. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  85. package/themes/original/src/components/BusinessBasicInformation/index.tsx +118 -76
  86. package/themes/original/src/components/BusinessController/index.tsx +101 -70
  87. package/themes/original/src/components/BusinessController/styles.tsx +14 -9
  88. package/themes/original/src/components/BusinessInformation/index.tsx +10 -31
  89. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -6
  90. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  91. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  92. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  93. package/themes/original/src/components/BusinessListingSearch/index.tsx +102 -155
  94. package/themes/original/src/components/BusinessListingSearch/styles.tsx +10 -12
  95. package/themes/original/src/components/BusinessProductsList/index.tsx +11 -8
  96. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  97. package/themes/original/src/components/BusinessProductsListing/index.tsx +564 -495
  98. package/themes/original/src/components/BusinessProductsListing/styles.tsx +13 -12
  99. package/themes/original/src/components/BusinessTypeFilter/index.tsx +3 -2
  100. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  101. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +116 -81
  102. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -9
  103. package/themes/original/src/components/BusinessesListing/index.tsx +6 -6
  104. package/themes/original/src/components/Cart/index.tsx +75 -41
  105. package/themes/original/src/components/CartContent/index.tsx +80 -18
  106. package/themes/original/src/components/CartContent/styles.tsx +11 -1
  107. package/themes/original/src/components/Checkout/index.tsx +91 -96
  108. package/themes/original/src/components/Checkout/styles.tsx +4 -2
  109. package/themes/original/src/components/CitiesControl/index.tsx +89 -0
  110. package/themes/original/src/components/CitiesControl/styles.tsx +17 -0
  111. package/themes/original/src/components/DriverTips/index.tsx +52 -37
  112. package/themes/original/src/components/DriverTips/styles.tsx +2 -1
  113. package/themes/original/src/components/Favorite/index.tsx +7 -4
  114. package/themes/original/src/components/Favorite/styles.tsx +1 -1
  115. package/themes/original/src/components/FavoriteList/index.tsx +70 -80
  116. package/themes/original/src/components/FloatingButton/index.tsx +1 -2
  117. package/themes/original/src/components/FloatingButton/styles.tsx +1 -1
  118. package/themes/original/src/components/GPSButton/index.tsx +20 -19
  119. package/themes/original/src/components/GPSButton/styles.ts +3 -3
  120. package/themes/original/src/components/GoogleMap/index.tsx +10 -1
  121. package/themes/original/src/components/Help/index.tsx +8 -8
  122. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +14 -20
  123. package/themes/original/src/components/HelpAccountAndPayment/styles.tsx +6 -0
  124. package/themes/original/src/components/HelpGuide/index.tsx +13 -12
  125. package/themes/original/src/components/HelpGuide/styles.tsx +6 -0
  126. package/themes/original/src/components/HelpOrder/index.tsx +12 -20
  127. package/themes/original/src/components/HelpOrder/styles.tsx +8 -1
  128. package/themes/original/src/components/LanguageSelector/index.tsx +19 -14
  129. package/themes/original/src/components/LastOrder/index.tsx +1 -34
  130. package/themes/original/src/components/LoginForm/Otp/index.tsx +89 -73
  131. package/themes/original/src/components/LoginForm/Otp/styles.tsx +0 -1
  132. package/themes/original/src/components/LoginForm/index.tsx +28 -8
  133. package/themes/original/src/components/LottieAnimation/index.tsx +78 -0
  134. package/themes/original/src/components/MessageListing/index.tsx +7 -40
  135. package/themes/original/src/components/Messages/index.tsx +42 -26
  136. package/themes/original/src/components/MomentOption/index.tsx +195 -88
  137. package/themes/original/src/components/MultiCart/index.tsx +50 -0
  138. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +92 -93
  139. package/themes/original/src/components/MultiCheckout/index.tsx +153 -77
  140. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +37 -224
  141. package/themes/original/src/components/MultiOrdersDetails/index.tsx +85 -34
  142. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +1 -1
  143. package/themes/original/src/components/MyOrders/index.tsx +66 -17
  144. package/themes/original/src/components/NavBar/index.tsx +7 -6
  145. package/themes/original/src/components/NetworkError/index.tsx +5 -3
  146. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  147. package/themes/original/src/components/Notifications/index.tsx +144 -0
  148. package/themes/original/src/components/Notifications/styles.tsx +20 -0
  149. package/themes/original/src/components/OrderDetails/index.tsx +108 -218
  150. package/themes/original/src/components/OrderDetails/styles.tsx +10 -1
  151. package/themes/original/src/components/OrderItAgain/index.tsx +46 -43
  152. package/themes/original/src/components/OrderProgress/index.tsx +81 -105
  153. package/themes/original/src/components/OrderProgress/styles.tsx +5 -0
  154. package/themes/original/src/components/OrderSummary/index.tsx +2 -2
  155. package/themes/original/src/components/OrderTypeSelector/index.tsx +13 -6
  156. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +93 -97
  157. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +3 -0
  158. package/themes/original/src/components/OrdersOption/index.tsx +86 -92
  159. package/themes/original/src/components/PageBanner/index.tsx +146 -0
  160. package/themes/original/src/components/PageBanner/styles.tsx +11 -0
  161. package/themes/original/src/components/PaymentOptionStripe/styles.tsx +1 -1
  162. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  163. package/themes/original/src/components/PaymentOptions/index.tsx +1 -1
  164. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  165. package/themes/original/src/components/PlaceSpot/index.tsx +16 -6
  166. package/themes/original/src/components/PreviousOrders/index.tsx +3 -2
  167. package/themes/original/src/components/ProductForm/index.tsx +240 -256
  168. package/themes/original/src/components/ProductForm/styles.tsx +5 -8
  169. package/themes/original/src/components/ProductItemAccordion/index.tsx +199 -128
  170. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -10
  171. package/themes/original/src/components/ProductOptionSubOption/styles.tsx +1 -2
  172. package/themes/original/src/components/ProfessionalFilter/SingleProfessionalCard/index.tsx +108 -0
  173. package/themes/original/src/components/ProfessionalFilter/index.tsx +20 -49
  174. package/themes/original/src/components/ProfessionalProfile/index.tsx +54 -14
  175. package/themes/original/src/components/Promotions/index.tsx +234 -220
  176. package/themes/original/src/components/Promotions/styles.tsx +7 -2
  177. package/themes/original/src/components/ReviewDriver/index.tsx +3 -3
  178. package/themes/original/src/components/ReviewOrder/index.tsx +43 -11
  179. package/themes/original/src/components/ReviewOrder/styles.tsx +7 -0
  180. package/themes/original/src/components/ReviewProducts/index.tsx +8 -5
  181. package/themes/original/src/components/ReviewTrigger/index.tsx +27 -9
  182. package/themes/original/src/components/ReviewTrigger/styles.tsx +8 -1
  183. package/themes/original/src/components/ScheduleAccordion/index.tsx +68 -0
  184. package/themes/original/src/components/ScheduleAccordion/styles.tsx +14 -0
  185. package/themes/original/src/components/ServiceForm/index.tsx +377 -270
  186. package/themes/original/src/components/Sessions/index.tsx +11 -8
  187. package/themes/original/src/components/Sessions/styles.tsx +5 -0
  188. package/themes/original/src/components/SignupForm/index.tsx +78 -66
  189. package/themes/original/src/components/SingleOrderCard/index.tsx +125 -56
  190. package/themes/original/src/components/SingleOrderCard/styles.tsx +10 -8
  191. package/themes/original/src/components/SingleProductCard/index.tsx +112 -77
  192. package/themes/original/src/components/SingleProductCard/styles.tsx +14 -13
  193. package/themes/original/src/components/SingleProductReview/index.tsx +38 -5
  194. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  195. package/themes/original/src/components/StripeCardsList/index.tsx +1 -1
  196. package/themes/original/src/components/StripeElementsForm/index.tsx +4 -1
  197. package/themes/original/src/components/UpsellingProducts/index.tsx +244 -215
  198. package/themes/original/src/components/UpsellingProducts/styles.tsx +12 -1
  199. package/themes/original/src/components/UserDetails/index.tsx +5 -3
  200. package/themes/original/src/components/UserFormDetails/index.tsx +50 -54
  201. package/themes/original/src/components/UserProfile/index.tsx +58 -35
  202. package/themes/original/src/components/UserProfile/styles.ts +17 -0
  203. package/themes/original/src/components/UserProfileForm/index.tsx +21 -28
  204. package/themes/original/src/components/UserProfileForm/styles.tsx +7 -0
  205. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  206. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  207. package/themes/original/src/components/Wallets/index.tsx +177 -164
  208. package/themes/original/src/components/Wallets/styles.tsx +12 -8
  209. package/themes/original/src/components/shared/CardAnimation.tsx +47 -0
  210. package/themes/original/src/components/shared/HeaderTitle.tsx +8 -3
  211. package/themes/original/src/components/shared/OBottomPopup.tsx +1 -1
  212. package/themes/original/src/components/shared/OButton.tsx +9 -4
  213. package/themes/original/src/components/shared/OIcon.tsx +8 -1
  214. package/themes/original/src/components/shared/OInput.tsx +10 -1
  215. package/themes/original/src/layouts/Container.tsx +13 -9
  216. package/themes/original/src/types/index.tsx +42 -7
  217. package/themes/original/src/utils/index.tsx +322 -58
  218. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -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
 
@@ -132,3 +131,13 @@ export const OrderAction = styled.View`
132
131
  export const PlaceSpotWrapper = styled.View`
133
132
  padding-horizontal: 40px;
134
133
  `
134
+
135
+ export const ProfessionalPhoto = styled.ImageBackground`
136
+ width: 100%;
137
+ position: relative;
138
+ max-height: 80px;
139
+ height: 80px;
140
+ width: 80px;
141
+ resize-mode: cover;
142
+ margin-right: 10px;
143
+ `;
@@ -19,54 +19,57 @@ export const OrderItAgain = (props: OrderItAgainParams) => {
19
19
  categoryState,
20
20
  currentCart,
21
21
  handleUpdateProducts,
22
- navigation
22
+ navigation,
23
+ searchValue
23
24
  } = props
24
25
 
25
26
  const [, t] = useLanguage()
26
27
  const theme = useTheme()
27
28
  const { width } = Dimensions.get('window');
28
-
29
+ const productsFilterd = productList?.length > 0 && productList.filter((product : any) => !searchValue || product?.name?.toLowerCase()?.includes(searchValue?.toLowerCase()))?.sort((a: any, b:any) => moment(b?.last_ordered_date).valueOf() - moment(a?.last_ordered_date).valueOf())
29
30
  return (
30
- <Container>
31
- <OText
32
- size={16}
33
- lineHeight={24}
34
- color={theme.colors.textNormal}
35
- style={{
36
- fontWeight: '600',
37
- marginBottom: 6
38
- }}
39
- >
40
- {t('ORDER_IT_AGAIN', 'Order it again')}
41
- </OText>
42
- <OText
43
- size={12}
44
- lineHeight={18}
45
- color={theme.colors.disabled}
46
- >
47
- {t('ORDER_IT_AGAIN_DESC', 'Quickly add items from your past orders.')}
48
- </OText>
49
- <ScrollView
50
- horizontal
51
- showsVerticalScrollIndicator={false}
52
- showsHorizontalScrollIndicator={false}
53
- >
54
- {productList?.length > 0 && productList?.sort((a: any, b:any) => moment(b?.last_ordered_date).valueOf() - moment(a?.last_ordered_date).valueOf()).map((product: any, i: number) => (
55
- <ProductWrapper key={'prod_' + product.id + `_${i}`} style={{ width: width - 120, }}>
56
- <SingleProductCard
57
- isSoldOut={product.inventoried && !product.quantity}
58
- product={product}
59
- businessId={businessId}
60
- categoryState={categoryState}
61
- onProductClick={() => onProductClick(product)}
62
- productAddedToCartLength={currentCart?.products?.reduce((productsLength: number, Cproduct: any) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
63
- handleUpdateProducts={handleUpdateProducts}
64
- navigation={navigation}
65
- isPreviously
66
- />
67
- </ProductWrapper>
68
- ))}
69
- </ScrollView>
70
- </Container>
31
+ productsFilterd?.length > 0 ? (
32
+ <Container>
33
+ <OText
34
+ size={16}
35
+ lineHeight={24}
36
+ color={theme.colors.textNormal}
37
+ style={{
38
+ fontWeight: '600',
39
+ marginBottom: 6
40
+ }}
41
+ >
42
+ {t('ORDER_IT_AGAIN', 'Order it again')}
43
+ </OText>
44
+ <OText
45
+ size={12}
46
+ lineHeight={18}
47
+ color={theme.colors.disabled}
48
+ >
49
+ {t('ORDER_IT_AGAIN_DESC', 'Quickly add items from your past orders.')}
50
+ </OText>
51
+ <ScrollView
52
+ horizontal
53
+ showsVerticalScrollIndicator={false}
54
+ showsHorizontalScrollIndicator={false}
55
+ >
56
+ {productsFilterd.map((product: any, i: number) => (
57
+ <ProductWrapper key={'prod_' + product.id + `_${i}`} style={{ width: width - 120, }}>
58
+ <SingleProductCard
59
+ isSoldOut={product.inventoried && !product.quantity}
60
+ product={product}
61
+ businessId={businessId}
62
+ categoryState={categoryState}
63
+ onProductClick={() => onProductClick(product)}
64
+ productAddedToCartLength={currentCart?.products?.reduce((productsLength: number, Cproduct: any) => { return productsLength + (Cproduct?.id === product?.id ? Cproduct?.quantity : 0) }, 0)}
65
+ handleUpdateProducts={handleUpdateProducts}
66
+ navigation={navigation}
67
+ isPreviously
68
+ />
69
+ </ProductWrapper>
70
+ ))}
71
+ </ScrollView>
72
+ </Container>
73
+ ) : null
71
74
  )
72
75
  }
@@ -17,8 +17,11 @@ import {
17
17
  ProgressBar,
18
18
  TimeWrapper,
19
19
  ProgressTextWrapper,
20
- OrderInfoWrapper
20
+ OrderInfoWrapper,
21
+ OrderProgressWrapper
21
22
  } from './styles'
23
+ import { getOrderStatus } from '../../utils'
24
+
22
25
  const OrderProgressUI = (props: any) => {
23
26
  const {
24
27
  orderList,
@@ -33,6 +36,7 @@ const OrderProgressUI = (props: any) => {
33
36
  const [{ optimizeImage, parseDate, parseTime }] = useUtils()
34
37
  const [lastOrder, setLastOrder] = useState<any>(null)
35
38
  const imageFails = theme.images.general.emptyActiveOrders
39
+ const [initialLoaded, setInitialLoaded] = useState(false)
36
40
 
37
41
  const styles = StyleSheet.create({
38
42
  main: {
@@ -46,9 +50,9 @@ const OrderProgressUI = (props: any) => {
46
50
  height: 1
47
51
  },
48
52
  shadowColor: '#000',
49
- shadowOpacity: 0.1,
50
- shadowRadius: 1,
51
- elevation: 2
53
+ shadowOpacity: 0.2,
54
+ shadowRadius: 2,
55
+ elevation: 3
52
56
  },
53
57
  logoWrapper: {
54
58
  overflow: 'hidden',
@@ -72,49 +76,12 @@ const OrderProgressUI = (props: any) => {
72
76
  }
73
77
  });
74
78
 
75
- const getOrderStatus = (s: any) => {
76
- const status = parseInt(s)
77
- const orderStatus = [
78
- { key: 0, value: t('PENDING', theme?.defaultLanguages?.PENDING || 'Pending'), slug: 'PENDING', percentage: 25 },
79
- { key: 1, value: t('COMPLETED', theme?.defaultLanguages?.COMPLETED || 'Completed'), slug: 'COMPLETED', percentage: 100 },
80
- { key: 2, value: t('REJECTED', theme?.defaultLanguages?.REJECTED || 'Rejected'), slug: 'REJECTED', percentage: 0 },
81
- { key: 3, value: t('DRIVER_IN_BUSINESS', theme?.defaultLanguages?.DRIVER_IN_BUSINESS || 'Driver in business'), slug: 'DRIVER_IN_BUSINESS', percentage: 60 },
82
- { key: 4, value: t('PREPARATION_COMPLETED', theme?.defaultLanguages?.PREPARATION_COMPLETED || 'Preparation Completed'), slug: 'PREPARATION_COMPLETED', percentage: 70 },
83
- { key: 5, value: t('REJECTED_BY_BUSINESS', theme?.defaultLanguages?.REJECTED_BY_BUSINESS || 'Rejected by business'), slug: 'REJECTED_BY_BUSINESS', percentage: 0 },
84
- { key: 6, value: t('REJECTED_BY_DRIVER', theme?.defaultLanguages?.REJECTED_BY_DRIVER || 'Rejected by Driver'), slug: 'REJECTED_BY_DRIVER', percentage: 0 },
85
- { key: 7, value: t('ACCEPTED_BY_BUSINESS', theme?.defaultLanguages?.ACCEPTED_BY_BUSINESS || 'Accepted by business'), slug: 'ACCEPTED_BY_BUSINESS', percentage: 35 },
86
- { key: 8, value: t('ACCEPTED_BY_DRIVER', theme?.defaultLanguages?.ACCEPTED_BY_DRIVER || 'Accepted by driver'), slug: 'ACCEPTED_BY_DRIVER', percentage: 45 },
87
- { key: 9, value: t('PICK_UP_COMPLETED_BY_DRIVER', theme?.defaultLanguages?.PICK_UP_COMPLETED_BY_DRIVER || 'Pick up completed by driver'), slug: 'PICK_UP_COMPLETED_BY_DRIVER', percentage: 80 },
88
- { key: 10, value: t('PICK_UP_FAILED_BY_DRIVER', theme?.defaultLanguages?.PICK_UP_FAILED_BY_DRIVER || 'Pick up Failed by driver'), slug: 'PICK_UP_FAILED_BY_DRIVER', percentage: 0 },
89
- { key: 11, value: t('DELIVERY_COMPLETED_BY_DRIVER', theme?.defaultLanguages?.DELIVERY_COMPLETED_BY_DRIVER || 'Delivery completed by driver'), slug: 'DELIVERY_COMPLETED_BY_DRIVER', percentage: 100 },
90
- { key: 12, value: t('DELIVERY_FAILED_BY_DRIVER', theme?.defaultLanguages?.DELIVERY_FAILED_BY_DRIVER || 'Delivery Failed by driver'), slug: 'DELIVERY_FAILED_BY_DRIVER', percentage: 0 },
91
- { key: 13, value: t('PREORDER', theme?.defaultLanguages?.PREORDER || 'PreOrder'), slug: 'PREORDER', percentage: 0 },
92
- { key: 14, value: t('ORDER_NOT_READY', theme?.defaultLanguages?.ORDER_NOT_READY || 'Order not ready'), slug: 'ORDER_NOT_READY', percentage: 65 },
93
- { key: 15, value: t('ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER || 'Order picked up completed by customer'), slug: 'ORDER_PICKEDUP_COMPLETED_BY_CUSTOMER', percentage: 100 },
94
- { key: 16, value: t('ORDER_STATUS_CANCELLED_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_STATUS_CANCELLED_BY_CUSTOMER || 'Order cancelled by customer'), slug: 'ORDER_STATUS_CANCELLED_BY_CUSTOMER', percentage: 0 },
95
- { key: 17, value: t('ORDER_NOT_PICKEDUP_BY_CUSTOMER', theme?.defaultLanguages?.ORDER_NOT_PICKEDUP_BY_CUSTOMER || 'Order not picked up by customer'), slug: 'ORDER_NOT_PICKEDUP_BY_CUSTOMER', percentage: 0 },
96
- { key: 18, value: t('ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS || 'Driver almost arrived to business'), slug: 'ORDER_DRIVER_ALMOST_ARRIVED_BUSINESS', percentage: 55 },
97
- { key: 19, value: t('ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', theme?.defaultLanguages?.ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER || 'Driver almost arrived to customer'), slug: 'ORDER_DRIVER_ALMOST_ARRIVED_CUSTOMER', percentage: 90 },
98
- { key: 20, value: t('ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS || 'Customer almost arrived to business'), slug: 'ORDER_CUSTOMER_ALMOST_ARRIVED_BUSINESS', percentage: 90 },
99
- { key: 21, value: t('ORDER_CUSTOMER_ARRIVED_BUSINESS', theme?.defaultLanguages?.ORDER_CUSTOMER_ARRIVED_BUSINESS || 'Customer arrived to business'), slug: 'ORDER_CUSTOMER_ARRIVED_BUSINESS', percentage: 95 },
100
- { key: 22, value: t('ORDER_LOOKING_FOR_DRIVER', theme?.defaultLanguages?.ORDER_LOOKING_FOR_DRIVER || 'Looking for driver'), slug: 'ORDER_LOOKING_FOR_DRIVER', percentage: 35 },
101
- { key: 23, value: t('ORDER_DRIVER_ON_WAY', theme?.defaultLanguages?.ORDER_DRIVER_ON_WAY || 'Driver on way'), slug: 'ORDER_DRIVER_ON_WAY', percentage: 45 }
102
- ]
103
-
104
- const objectStatus = orderStatus.find((o) => o.key === status)
105
-
106
- return objectStatus && objectStatus
107
- }
108
-
109
79
  const convertDiffToHours = (order: any) => {
110
- const time = order.delivery_type === 1 ? order?.business?.delivery_time : order?.business?.pickup_time
80
+ const minute = order?.eta_time
111
81
  const deliveryTime = order?.delivery_datetime_utc
112
82
  ? parseDate(order?.delivery_datetime_utc, { outputFormat: 'YYYY-MM-DD HH:mm' })
113
83
  : parseDate(order?.delivery_datetime, { utc: false, outputFormat: 'YYYY-MM-DD HH:mm' })
114
- const hour = time?.split(':')?.[0]
115
- const minute = time?.split(':')?.[1]
116
- const result = time ? (parseInt(hour, 10) * 60) + parseInt(minute, 10) : 0
117
- const returnedDate = moment(deliveryTime).add(result, 'minutes').format('hh:mm A')
84
+ const returnedDate = moment(deliveryTime).add(minute, 'minutes').format('hh:mm A')
118
85
  return returnedDate
119
86
  }
120
87
 
@@ -135,73 +102,82 @@ const OrderProgressUI = (props: any) => {
135
102
  }
136
103
  }, [isFocused])
137
104
 
105
+ useEffect(() => {
106
+ if (orderList.loading || initialLoaded) return
107
+ setInitialLoaded(true)
108
+ }, [orderList.loading, initialLoaded])
109
+
138
110
  return (
139
111
  <>
140
- {orderList?.loading && (
141
- <Placeholder Animation={Fade} height={Platform.OS === 'ios' ? 147.5 : 158}>
142
- <PlaceholderLine height={60} style={{ borderRadius: 8, marginBottom: 10 }} />
143
- <PlaceholderLine height={20} style={{ marginBottom: 10 }} />
144
- <PlaceholderLine height={40} style={{ borderRadius: 8, marginBottom: 10 }} />
145
- </Placeholder>
112
+ {(orderList?.loading && !initialLoaded) && (
113
+ <OrderProgressWrapper>
114
+ <Placeholder Animation={Fade} height={Platform.OS === 'ios' ? 147.5 : 158}>
115
+ <PlaceholderLine height={60} style={{ borderRadius: 8, marginBottom: 10 }} />
116
+ <PlaceholderLine height={20} style={{ marginBottom: 10 }} />
117
+ <PlaceholderLine height={40} style={{ borderRadius: 8, marginBottom: 10 }} />
118
+ </Placeholder>
119
+ </OrderProgressWrapper>
146
120
  )}
147
- {!orderList?.loading && orderList?.orders?.length > 0 && lastOrder && (
148
- <View style={styles.main}>
149
- <OrderInfoWrapper style={{ flex: 1 }}>
150
- <View style={styles.logoWrapper}>
151
- <FastImage
152
- style={{ width: 50, height: 50 }}
153
- source={{
154
- uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
155
- priority: FastImage.priority.normal,
156
- }}
157
- resizeMode={FastImage.resizeMode.cover}
158
- />
159
- </View>
160
- <View style={{
161
- paddingHorizontal: 10,
162
- flex: 1
163
- }}
164
- >
165
- <OText
166
- size={13}
167
- style={{
168
- fontWeight: 'bold',
169
- marginBottom: 3
170
- }}
171
- >{t('ORDER_IN_PROGRESS', 'Order in progress')}</OText>
172
- <OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
173
- <TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
174
- <View style={styles.navigationButton}>
175
- <OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
176
- <IconAntDesign
177
- name='arrowright'
178
- color={theme.colors.primary}
179
- size={13}
180
- style={{ marginHorizontal: 5 }}
181
- />
182
- </View>
183
- </TouchableOpacity>
121
+ {(!orderList?.loading || initialLoaded) && orderList?.orders?.length > 0 && lastOrder && (
122
+ <OrderProgressWrapper>
123
+ <View style={styles.main}>
124
+ <OrderInfoWrapper style={{ flex: 1 }}>
125
+ <View style={styles.logoWrapper}>
126
+ <FastImage
127
+ style={{ width: 50, height: 50 }}
128
+ source={{
129
+ uri: optimizeImage(lastOrder?.business?.logo, 'h_50,c_limit'),
130
+ priority: FastImage.priority.normal,
131
+ }}
132
+ resizeMode={FastImage.resizeMode.cover}
133
+ />
134
+ </View>
135
+ <View style={{
136
+ paddingHorizontal: 10,
137
+ flex: 1
138
+ }}
139
+ >
140
+ <OText
141
+ size={13}
142
+ style={{
143
+ fontWeight: 'bold',
144
+ marginBottom: 3
145
+ }}
146
+ >{t('ORDER_IN_PROGRESS', 'Order in progress')}</OText>
147
+ <OText size={11} numberOfLines={1} ellipsizeMode='tail'>{t('RESTAURANT_PREPARING_YOUR_ORDER', 'The restaurant is preparing your order')}</OText>
148
+ <TouchableOpacity onPress={() => handleGoToOrder('MyOrders')}>
149
+ <View style={styles.navigationButton}>
150
+ <OText size={11} color={theme.colors.primary}>{t('GO_TO_MY_ORDERS', 'Go to my orders')}</OText>
151
+ <IconAntDesign
152
+ name='arrowright'
153
+ color={theme.colors.primary}
154
+ size={13}
155
+ style={{ marginHorizontal: 5 }}
156
+ />
157
+ </View>
158
+ </TouchableOpacity>
159
+ </View>
160
+ </OrderInfoWrapper>
161
+ <View style={{ flex: 1 }}>
162
+ <ProgressContentWrapper>
163
+ <ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${getOrderStatus(lastOrder.status)?.percentage}%` : '0%' }} />
164
+ </ProgressContentWrapper>
165
+ <ProgressTextWrapper>
166
+ <OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
167
+ <TimeWrapper>
168
+ <OText size={11}>{t('ESTIMATED_DELIVERY', 'Estimated delivery')}</OText>
169
+ <OText size={11}>
170
+ {lastOrder?.delivery_datetime_utc
171
+ ? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: 'hh:mm A' })
172
+ : parseTime(lastOrder?.delivery_datetime, { utc: false })}
173
+ &nbsp;-&nbsp;
174
+ {convertDiffToHours(lastOrder)}
175
+ </OText>
176
+ </TimeWrapper>
177
+ </ProgressTextWrapper>
184
178
  </View>
185
- </OrderInfoWrapper>
186
- <View style={{ flex: 1 }}>
187
- <ProgressContentWrapper>
188
- <ProgressBar style={{ width: getOrderStatus(lastOrder.status)?.percentage ? `${getOrderStatus(lastOrder.status)?.percentage}%` : '0%' }} />
189
- </ProgressContentWrapper>
190
- <ProgressTextWrapper>
191
- <OText size={12} style={{ width: '50%' }}>{getOrderStatus(lastOrder.status)?.value}</OText>
192
- <TimeWrapper>
193
- <OText size={11}>{t('ESTIMATED_DELIVERY', 'Estimated delivery')}</OText>
194
- <OText size={11}>
195
- {lastOrder?.delivery_datetime_utc
196
- ? parseTime(lastOrder?.delivery_datetime_utc, { outputFormat: 'hh:mm A' })
197
- : parseTime(lastOrder?.delivery_datetime, { utc: false })}
198
- &nbsp;-&nbsp;
199
- {convertDiffToHours(lastOrder)}
200
- </OText>
201
- </TimeWrapper>
202
- </ProgressTextWrapper>
203
179
  </View>
204
- </View>
180
+ </OrderProgressWrapper>
205
181
  )}
206
182
  {/* {!orderList?.loading && orderList?.orders?.length === 0 && (
207
183
  <NotFoundSource
@@ -29,3 +29,8 @@ export const OrderInfoWrapper = styled.View`
29
29
  align-items: center;
30
30
  margin-bottom: 15px;
31
31
  `
32
+ export const OrderProgressWrapper = styled.View`
33
+ margin-top: 37px;
34
+ margin-bottom: 20px;
35
+ padding-horizontal: 40px;
36
+ `
@@ -292,10 +292,10 @@ const OrderSummaryUI = (props: any) => {
292
292
  {cart?.total >= 1 && (
293
293
  <View style={{ marginTop: 15, borderTopWidth: 1, borderTopColor: '#d9d9d9' }}>
294
294
  <OSTable style={{ marginTop: 15 }}>
295
- <OText size={14} style={{ fontWeight: 'bold' }}>
295
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
296
296
  {t('TOTAL', 'Total')}
297
297
  </OText>
298
- <OText size={14} style={{ fontWeight: 'bold' }} >
298
+ <OText size={14} style={{ fontWeight: 'bold' }} color={theme.colors.textNormal}>
299
299
  {parsePrice(cart?.balance >= 0 ? cart?.balance : 0)}
300
300
  </OText>
301
301
  </OSTable>
@@ -1,4 +1,4 @@
1
- import React from 'react'
1
+ import React, { useEffect } from 'react'
2
2
  import {
3
3
  OrderTypeControl,
4
4
  useLanguage,
@@ -11,11 +11,13 @@ import { OrderTypeSelectParams } from '../../types'
11
11
  import { OIcon, OText } from '../shared'
12
12
  import NavBar from '../NavBar';
13
13
  import { ORDER_TYPES } from '../../config/constants';
14
+ import AntDesignIcon from 'react-native-vector-icons/AntDesign'
14
15
 
15
16
  const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
16
17
  const {
17
18
  navigation,
18
19
  handleChangeOrderType,
20
+ handleChangeType,
19
21
  typeSelected,
20
22
  defaultValue,
21
23
  configTypes,
@@ -44,12 +46,16 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
44
46
  if (!orderState.loading) {
45
47
  setOrderTypeValue && setOrderTypeValue(orderType)
46
48
  handleChangeOrderType(orderType)
47
- if(!isChewLayout){
49
+ if (!isChewLayout) {
48
50
  goToBack();
49
51
  }
50
52
  }
51
53
  }
52
54
 
55
+ useEffect(() => {
56
+ handleChangeType && handleChangeType(typeSelected)
57
+ }, [typeSelected])
58
+
53
59
  return (
54
60
  <Wrapper>
55
61
  {isChewLayout ? (
@@ -58,7 +64,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
58
64
  horizontal
59
65
  showsHorizontalScrollIndicator={false}
60
66
  >
61
- {chewOrderTypes?.map((type : any) => (
67
+ {chewOrderTypes?.map((type: any) => (
62
68
  <TabBtn
63
69
  key={type.value}
64
70
  onPress={() => handleChangeOrderTypeCallback(type.value)}
@@ -89,12 +95,13 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
89
95
  <>
90
96
  <NavBar
91
97
  onActionLeft={() => goToBack()}
92
- btnStyle={{ paddingLeft: 0 }}
93
- paddingTop={0}
98
+ btnStyle={{ paddingLeft: 0, width: 50 }}
99
+ paddingTop={Platform.OS === 'ios' ? 10 : 0}
94
100
  style={{ paddingBottom: 0 }}
95
101
  title={t('HOW_WILL_YOU_DELIVERY_TYPE', 'How will your order type?')}
96
102
  titleAlign={'center'}
97
103
  titleStyle={{ fontSize: 14 }}
104
+ noMargin
98
105
  />
99
106
  {
100
107
  items.length > 0 && (
@@ -108,7 +115,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
108
115
  <OText size={10} lineHeight={15} color={theme.colors.white}>{item?.description}</OText>
109
116
  <View style={{ flexDirection: 'row', alignItems: 'center' }}>
110
117
  <OText size={10} lineHeight={15} color={theme.colors.white}>{t('START_MY_ORDER', 'Start my order')}</OText>
111
- <OIcon src={theme.images.general.arrow_left} width={16} color={theme.colors.white} style={{ transform: [{ rotate: '180deg' }], marginStart: 4 }} />
118
+ <AntDesignIcon name='arrowleft' size={26} color={theme.colors.white} style={{ transform: [{ rotate: '180deg' }], marginStart: 4 }} />
112
119
  </View>
113
120
  </MaskCont>
114
121
  </BgImage>