ordering-ui-react-native 0.16.1 → 0.16.2-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 (228) hide show
  1. package/package.json +8 -4
  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/AddressForm/index.tsx +18 -2
  6. package/src/components/BusinessBasicInformation/index.tsx +11 -19
  7. package/src/components/BusinessController/index.tsx +10 -8
  8. package/src/components/BusinessInformation/index.tsx +22 -0
  9. package/src/components/BusinessTypeFilter/index.tsx +1 -2
  10. package/src/components/BusinessesListing/index.tsx +1 -1
  11. package/src/components/Checkout/index.tsx +2 -1
  12. package/src/components/DriverTips/index.tsx +11 -6
  13. package/src/components/LanguageSelector/index.tsx +21 -16
  14. package/src/components/LoginForm/index.tsx +120 -30
  15. package/src/components/LoginForm/styles.tsx +6 -0
  16. package/src/components/Messages/index.tsx +2 -2
  17. package/src/components/NotificationSetting/index.tsx +85 -0
  18. package/src/components/OrderDetails/index.tsx +7 -21
  19. package/src/components/OrdersOption/index.tsx +54 -56
  20. package/src/components/PaymentOptions/index.tsx +335 -365
  21. package/src/components/PaymentOptionsWebView/index.tsx +120 -121
  22. package/src/components/ReviewDriver/index.tsx +1 -1
  23. package/src/components/ReviewOrder/index.tsx +2 -1
  24. package/src/components/ReviewProducts/index.tsx +11 -0
  25. package/src/components/SignupForm/index.tsx +145 -61
  26. package/src/components/SingleProductReview/index.tsx +8 -5
  27. package/src/components/StripeElementsForm/index.tsx +25 -16
  28. package/src/components/StripeMethodForm/index.tsx +1 -2
  29. package/src/components/UserProfileForm/index.tsx +63 -6
  30. package/src/components/UserProfileForm/styles.tsx +8 -0
  31. package/src/components/VerifyPhone/styles.tsx +1 -2
  32. package/src/components/shared/OBottomPopup.tsx +6 -2
  33. package/src/components/shared/OModal.tsx +1 -1
  34. package/src/index.tsx +2 -0
  35. package/src/navigators/CheckoutNavigator.tsx +6 -0
  36. package/src/navigators/HomeNavigator.tsx +6 -0
  37. package/src/pages/BusinessesListing.tsx +7 -6
  38. package/src/pages/MultiCheckout.tsx +31 -0
  39. package/src/pages/MultiOrdersDetails.tsx +27 -0
  40. package/src/pages/OrderDetails.tsx +1 -1
  41. package/src/pages/ReviewDriver.tsx +2 -2
  42. package/src/pages/ReviewOrder.tsx +2 -2
  43. package/src/theme.json +0 -1
  44. package/src/types/@fatnlazycat/react-native-recaptcha-v3/index.d.ts +1 -0
  45. package/src/types/index.tsx +15 -9
  46. package/src/utils/index.tsx +0 -1
  47. package/themes/business/index.tsx +4 -0
  48. package/themes/business/src/components/BusinessController/index.tsx +2 -2
  49. package/themes/business/src/components/Chat/index.tsx +42 -34
  50. package/themes/business/src/components/DriverMap/index.tsx +12 -8
  51. package/themes/business/src/components/DriverSchedule/index.tsx +71 -0
  52. package/themes/business/src/components/DriverSchedule/styles.tsx +6 -0
  53. package/themes/business/src/components/LoginForm/index.tsx +111 -74
  54. package/themes/business/src/components/MapView/index.tsx +1 -1
  55. package/themes/business/src/components/MessagesOption/index.tsx +11 -1
  56. package/themes/business/src/components/OrderDetails/Business.tsx +1 -1
  57. package/themes/business/src/components/OrderDetails/Delivery.tsx +3 -3
  58. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +25 -18
  59. package/themes/business/src/components/OrdersListManager/index.tsx +10 -3
  60. package/themes/business/src/components/OrdersOption/index.tsx +65 -21
  61. package/themes/business/src/components/OrdersOption/styles.tsx +5 -1
  62. package/themes/business/src/components/OrdersOptionBusiness/index.tsx +15 -1
  63. package/themes/business/src/components/OrdersOptionCity/index.tsx +15 -1
  64. package/themes/business/src/components/OrdersOptionDate/index.tsx +19 -6
  65. package/themes/business/src/components/OrdersOptionDelivery/index.tsx +15 -1
  66. package/themes/business/src/components/OrdersOptionDriver/index.tsx +15 -1
  67. package/themes/business/src/components/OrdersOptionPaymethod/index.tsx +15 -1
  68. package/themes/business/src/components/OrdersOptionStatus/index.tsx +10 -1
  69. package/themes/business/src/components/PreviousMessages/index.tsx +17 -18
  70. package/themes/business/src/components/PreviousOrders/index.tsx +21 -23
  71. package/themes/business/src/components/ProductItemAccordion/index.tsx +5 -4
  72. package/themes/business/src/components/ReviewCustomer/index.tsx +1 -1
  73. package/themes/business/src/components/ScheduleBlocked/index.tsx +53 -0
  74. package/themes/business/src/components/UserFormDetails/index.tsx +5 -2
  75. package/themes/business/src/components/UserProfileForm/index.tsx +28 -4
  76. package/themes/business/src/components/shared/ODropDown.tsx +42 -8
  77. package/themes/business/src/components/shared/ODropDownCalendar.tsx +36 -7
  78. package/themes/business/src/components/shared/OModal.tsx +41 -38
  79. package/themes/business/src/types/index.tsx +14 -9
  80. package/themes/business/src/utils/index.tsx +10 -0
  81. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  82. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  83. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  84. package/themes/kiosk/src/components/BusinessMenu/index.tsx +2 -1
  85. package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
  86. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +1 -0
  87. package/themes/kiosk/src/components/Checkout/index.tsx +18 -3
  88. package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
  89. package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
  90. package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
  91. package/themes/kiosk/src/components/LoginForm/index.tsx +121 -10
  92. package/themes/kiosk/src/components/LoginForm/styles.tsx +5 -0
  93. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  94. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  95. package/themes/kiosk/src/components/OrderDetails/index.tsx +2 -2
  96. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  97. package/themes/kiosk/src/components/PaymentOptions/index.tsx +1 -1
  98. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  99. package/themes/kiosk/src/types/index.d.ts +2 -0
  100. package/themes/original/index.tsx +22 -0
  101. package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
  102. package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
  103. package/themes/original/src/components/AddressForm/index.tsx +137 -134
  104. package/themes/original/src/components/AddressList/index.tsx +2 -2
  105. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  106. package/themes/original/src/components/BusinessBasicInformation/index.tsx +302 -160
  107. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +6 -2
  108. package/themes/original/src/components/BusinessController/index.tsx +179 -96
  109. package/themes/original/src/components/BusinessController/styles.tsx +5 -0
  110. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -9
  111. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  112. package/themes/original/src/components/BusinessListingSearch/BusinessControllerSkeletons/index.tsx +57 -0
  113. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/index.tsx +59 -0
  114. package/themes/original/src/components/BusinessListingSearch/MaxSectionItem/styles.tsx +13 -0
  115. package/themes/original/src/components/BusinessListingSearch/index.tsx +106 -126
  116. package/themes/original/src/components/BusinessListingSearch/styles.tsx +18 -13
  117. package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
  118. package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
  119. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  120. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +87 -0
  121. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/styles.tsx +12 -0
  122. package/themes/original/src/components/BusinessProductsList/index.tsx +66 -73
  123. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  124. package/themes/original/src/components/BusinessProductsListing/index.tsx +289 -178
  125. package/themes/original/src/components/BusinessProductsListing/styles.tsx +18 -0
  126. package/themes/original/src/components/BusinessReviews/index.tsx +6 -1
  127. package/themes/original/src/components/BusinessTypeFilter/index.tsx +106 -38
  128. package/themes/original/src/components/BusinessTypeFilter/styles.tsx +2 -0
  129. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +561 -0
  130. package/themes/original/src/components/BusinessesListing/{styles.tsx → Layout/Appointment/styles.tsx} +24 -2
  131. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +673 -0
  132. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +137 -0
  133. package/themes/original/src/components/BusinessesListing/index.tsx +102 -464
  134. package/themes/original/src/components/Cart/index.tsx +82 -37
  135. package/themes/original/src/components/Cart/styles.tsx +4 -0
  136. package/themes/original/src/components/CartContent/index.tsx +22 -16
  137. package/themes/original/src/components/Checkout/index.tsx +107 -67
  138. package/themes/original/src/components/Checkout/styles.tsx +0 -1
  139. package/themes/original/src/components/DriverTips/index.tsx +11 -6
  140. package/themes/original/src/components/Favorite/index.tsx +92 -0
  141. package/themes/original/src/components/Favorite/styles.tsx +22 -0
  142. package/themes/original/src/components/FavoriteList/index.tsx +317 -0
  143. package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
  144. package/themes/original/src/components/GPSButton/index.tsx +25 -17
  145. package/themes/original/src/components/GoogleMap/index.tsx +21 -12
  146. package/themes/original/src/components/HelpAccountAndPayment/index.tsx +8 -3
  147. package/themes/original/src/components/HelpGuide/index.tsx +8 -3
  148. package/themes/original/src/components/HelpOrder/index.tsx +8 -3
  149. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
  150. package/themes/original/src/components/LoginForm/Otp/index.tsx +3 -2
  151. package/themes/original/src/components/LoginForm/index.tsx +86 -43
  152. package/themes/original/src/components/Messages/index.tsx +17 -17
  153. package/themes/original/src/components/MomentSelector/index.tsx +197 -0
  154. package/themes/original/src/components/MomentSelector/styles.tsx +6 -0
  155. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  156. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  157. package/themes/original/src/components/MultiCheckout/index.tsx +304 -0
  158. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  159. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  160. package/themes/original/src/components/MultiOrdersDetails/index.tsx +262 -0
  161. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  162. package/themes/original/src/components/MyOrders/index.tsx +132 -27
  163. package/themes/original/src/components/MyOrders/styles.tsx +8 -1
  164. package/themes/original/src/components/NavBar/index.tsx +11 -5
  165. package/themes/original/src/components/NotFoundSource/index.tsx +2 -1
  166. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +167 -0
  167. package/themes/original/src/components/OrderDetails/index.tsx +136 -57
  168. package/themes/original/src/components/OrderDetails/styles.tsx +5 -2
  169. package/themes/original/src/components/OrderItAgain/index.tsx +73 -0
  170. package/themes/original/src/components/OrderItAgain/styles.tsx +10 -0
  171. package/themes/original/src/components/OrderProgress/index.tsx +8 -2
  172. package/themes/original/src/components/OrderSummary/index.tsx +2 -35
  173. package/themes/original/src/components/OrderTypeSelector/index.tsx +84 -36
  174. package/themes/original/src/components/OrderTypeSelector/styles.tsx +19 -1
  175. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +140 -0
  176. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
  177. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +56 -0
  178. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
  179. package/themes/original/src/components/OrdersOption/index.tsx +143 -47
  180. package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
  181. package/themes/original/src/components/PaymentOptionWallet/index.tsx +15 -23
  182. package/themes/original/src/components/PaymentOptions/index.tsx +57 -37
  183. package/themes/original/src/components/PhoneInputNumber/index.tsx +4 -10
  184. package/themes/original/src/components/PlaceSpot/index.tsx +243 -47
  185. package/themes/original/src/components/PlaceSpot/styles.tsx +0 -2
  186. package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
  187. package/themes/original/src/components/ProductForm/index.tsx +697 -649
  188. package/themes/original/src/components/ProductForm/styles.tsx +9 -7
  189. package/themes/original/src/components/ProductItemAccordion/index.tsx +38 -25
  190. package/themes/original/src/components/ProductOption/index.tsx +1 -1
  191. package/themes/original/src/components/ProfessionalFilter/index.tsx +129 -0
  192. package/themes/original/src/components/ProfessionalFilter/styles.tsx +0 -0
  193. package/themes/original/src/components/ProfessionalProfile/index.tsx +309 -0
  194. package/themes/original/src/components/ProfessionalProfile/styles.tsx +46 -0
  195. package/themes/original/src/components/ReviewDriver/index.tsx +6 -6
  196. package/themes/original/src/components/ReviewOrder/index.tsx +18 -3
  197. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  198. package/themes/original/src/components/ReviewTrigger/index.tsx +118 -0
  199. package/themes/original/src/components/ReviewTrigger/styles.tsx +34 -0
  200. package/themes/original/src/components/SearchBar/index.tsx +13 -5
  201. package/themes/original/src/components/ServiceForm/index.tsx +608 -0
  202. package/themes/original/src/components/ServiceForm/styles.tsx +50 -0
  203. package/themes/original/src/components/SignupForm/index.tsx +307 -159
  204. package/themes/original/src/components/SingleOrderCard/index.tsx +316 -0
  205. package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
  206. package/themes/original/src/components/SingleProductCard/index.tsx +215 -95
  207. package/themes/original/src/components/SingleProductCard/styles.tsx +2 -2
  208. package/themes/original/src/components/SingleProductReview/index.tsx +30 -3
  209. package/themes/original/src/components/SingleProductReview/styles.tsx +12 -0
  210. package/themes/original/src/components/StripeElementsForm/index.tsx +25 -9
  211. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  212. package/themes/original/src/components/UpsellingProducts/index.tsx +7 -3
  213. package/themes/original/src/components/UserDetails/index.tsx +32 -18
  214. package/themes/original/src/components/UserFormDetails/index.tsx +107 -73
  215. package/themes/original/src/components/UserProfile/index.tsx +4 -0
  216. package/themes/original/src/components/UserProfileForm/index.tsx +15 -10
  217. package/themes/original/src/components/WalletTransactions/index.tsx +76 -0
  218. package/themes/original/src/components/WalletTransactions/styles.tsx +13 -0
  219. package/themes/original/src/components/Wallets/index.tsx +176 -162
  220. package/themes/original/src/components/Wallets/styles.tsx +10 -8
  221. package/themes/original/src/components/shared/OBottomPopup.tsx +47 -14
  222. package/themes/original/src/components/shared/OButton.tsx +10 -3
  223. package/themes/original/src/components/shared/OInput.tsx +3 -2
  224. package/themes/original/src/components/shared/OModal.tsx +4 -2
  225. package/themes/original/src/layouts/FloatingBottomContainer.tsx +5 -1
  226. package/themes/original/src/types/index.tsx +200 -47
  227. package/themes/original/src/utils/index.tsx +77 -0
  228. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -4,6 +4,7 @@ import { OIcon, OButton, OText } from '../shared'
4
4
  import { ImageStyle, TextStyle, View, Platform, TouchableOpacity } from 'react-native'
5
5
  import { useConfig, useLanguage, useOrder } from 'ordering-components/native'
6
6
  import { useTheme } from 'styled-components/native'
7
+
7
8
  const Wrapper = styled.View`
8
9
  background-color: ${(props: any) => props.theme.colors.white};
9
10
  padding: 10px 0px 20px 0px;
@@ -65,28 +66,27 @@ const NavBar = (props: Props) => {
65
66
 
66
67
  return (
67
68
  <Wrapper style={{ paddingTop: props.paddingTop, ...props.style }}>
68
- {(props?.onActionLeft) && (
69
+ {(props?.onActionLeft || props?.leftImg) && (
69
70
  <OButton
70
- imgLeftSrc={props.leftImg}
71
+ imgLeftSrc={props.leftImg || theme.images.general.arrow_left}
71
72
  imgRightSrc={null}
72
73
  style={{ ...btnBackArrow, ...props.btnStyle }}
73
74
  onClick={props.onActionLeft}
74
- imgLeftStyle={props.imgLeftStyle}
75
- {...(!props.leftImg && { iconProps: { name: 'arrowleft', size: 28, color: props.btnStyle?.color } })}
75
+ imgLeftStyle= {props.imgLeftStyle}
76
76
  />)
77
77
  }
78
78
  <TitleTopWrapper>
79
79
  {props.withIcon
80
80
  ? (
81
- <OIcon
82
- url={props.icon}
83
- style={{
84
- borderColor: theme.colors.lightGray,
85
- borderRadius: 20,
86
- }}
87
- width={60}
88
- height={60}
89
- />
81
+ <OIcon
82
+ url={props.icon}
83
+ style={{
84
+ borderColor: theme.colors.lightGray,
85
+ borderRadius: 20,
86
+ }}
87
+ width={60}
88
+ height={60}
89
+ />
90
90
  )
91
91
  : null
92
92
  }
@@ -134,7 +134,7 @@ const NavBar = (props: Props) => {
134
134
  </View>
135
135
  )}
136
136
 
137
- {props.rightComponent}
137
+ { props.rightComponent }
138
138
  </Wrapper>
139
139
  )
140
140
  }
@@ -95,7 +95,7 @@ interface Props {
95
95
  style?: ViewStyle;
96
96
  bgImage: ImageSourcePropType;
97
97
  innerStyle?: ViewStyle;
98
- icon?: ImageSourcePropType;
98
+ icon: ImageSourcePropType;
99
99
  iconStyle?: ImageStyle;
100
100
  callToActionText: string;
101
101
  callToActionTextStyle?: TextStyle;
@@ -395,7 +395,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
395
395
  </View>
396
396
  </OSTable>
397
397
 
398
- {order?.products?.length && (
398
+ {order?.products?.length > 0 && (
399
399
  <>
400
400
  <View
401
401
  style={{
@@ -598,7 +598,7 @@ export const OrderDetailsUI = (props: OrderDetailsParams) => {
598
598
  <>
599
599
  <Spinner visible={!order || Object.keys(order).length === 0} />
600
600
 
601
- {order && Object.keys(order).length > 0 && (
601
+ {!!order && Object.keys(order).length > 0 && (
602
602
  <>
603
603
  <Container>
604
604
  <NavBar
@@ -15,8 +15,6 @@ import { Container } from '../../layouts/Container'
15
15
  import NavBar from '../NavBar'
16
16
  import { LANDSCAPE, PORTRAIT, useDeviceOrientation } from '../../../../../src/hooks/DeviceOrientation'
17
17
  import GridContainer from '../../layouts/GridContainer'
18
- import AntDesignIcon from 'react-native-vector-icons/AntDesign'
19
- import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons'
20
18
 
21
19
  const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
22
20
  const {
@@ -29,7 +27,7 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
29
27
  callback
30
28
  } = props
31
29
 
32
- const theme = useTheme();
30
+ const theme = useTheme();
33
31
  const [, t] = useLanguage();
34
32
  const [orientationState] = useDeviceOrientation();
35
33
  const [orderState] = useOrder()
@@ -47,7 +45,7 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
47
45
  }
48
46
 
49
47
  useEffect(() => {
50
- if (isCardCliked) {
48
+ if(isCardCliked){
51
49
  callback?.()
52
50
  setIsCardClicked(false)
53
51
  setIsLoadingCard(null)
@@ -85,13 +83,13 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
85
83
  style={cardStyle}
86
84
  isDisabled={isCardCliked}
87
85
  isLoading={isLoadingCard === 'Eat In'}
88
- title={t('EAT_IN', 'Eat In')}
86
+ title={t('EAT_IN','Eat In')}
89
87
  description={t('EAT_IN_DESCRIPTION', 'We are very glad to have you here. Bon appetit!')}
90
88
  bgImage={theme.images.general.eatIn}
91
- VectorIcon={() => <MaterialIcon name='pin-outline' size={28} color='white' style={{ marginBottom: 10 }} />}
89
+ icon={theme.images.general.pushPin}
92
90
  callToActionText={t('START_MY_ORDER', 'Start my order')}
93
91
  onClick={() => {
94
- if (_eatIn?.value !== orderState?.options?.type) {
92
+ if(_eatIn?.value !== orderState?.options?.type){
95
93
  handleChangeOrderType(_eatIn?.value);
96
94
  setIsCardClicked(true)
97
95
  setIsLoadingCard('Eat In')
@@ -108,15 +106,15 @@ const OrderTypeSelectorCardUI = (props: OrderTypeSelectParams) => {
108
106
 
109
107
  <OptionCard
110
108
  style={cardStyle}
111
- title={t('TAKE_OUT', 'Take out')}
109
+ title={t('TAKE_OUT','Take out')}
112
110
  isDisabled={isCardCliked}
113
111
  isLoading={isLoadingCard === 'Take out'}
114
112
  description={t('TAKE_OUT_DESCRIPTION', 'You are very welcome anytime you visit us!')}
115
113
  bgImage={theme.images.general.takeOut}
116
- VectorIcon={() => <AntDesignIcon name='shoppingcart' size={28} color='white' style={{ marginBottom: 10 }} />}
114
+ icon={theme.images.general.shoppingCart}
117
115
  callToActionText={t('START_MY_ORDER', 'Start my order')}
118
116
  onClick={() => {
119
- if (_takeOut?.value !== orderState?.options?.type) {
117
+ if(_takeOut?.value !== orderState?.options?.type){
120
118
  handleChangeOrderType(_takeOut?.value);
121
119
  setIsCardClicked(true)
122
120
  setIsLoadingCard('Take out')
@@ -107,7 +107,7 @@ const PaymentOptionsUI = (props: any) => {
107
107
 
108
108
  const handlePlaceOrder = () => {
109
109
  if (!userErrors.length) {
110
- handlerClickPlaceOrder && handlerClickPlaceOrder();
110
+ handlerClickPlaceOrder && handlerClickPlaceOrder(null, { on_behalf_of: props.customerName });
111
111
  return;
112
112
  }
113
113
  let stringError = '';
@@ -10,8 +10,6 @@ import {
10
10
 
11
11
  import * as React from 'react';
12
12
  import styled from 'styled-components/native';
13
- import AntDesignIcon from 'react-native-vector-icons/AntDesign'
14
- import { Icon, IconProps } from 'react-native-vector-icons/Icon';
15
13
 
16
14
  const StyledButton = styled.View<Props>`
17
15
  background-color: ${(props: any) => props.theme.colors.primary};
@@ -79,19 +77,17 @@ interface Props {
79
77
  isCircle?: boolean;
80
78
  bgColor?: string;
81
79
  borderColor?: string;
82
- iconProps?: IconProps;
83
- IconCustom?: React.FunctionComponent
84
80
  }
85
81
 
86
82
  const OButton = (props: Props): React.ReactElement => {
87
83
  if (props.isDisabled) {
88
84
  return (
89
85
  <View style={props.parentStyle}>
90
- <StyledButtonDisabled style={props.style}>
91
- <StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
92
- {props.text}
93
- </StyledTextDisabled>
94
- </StyledButtonDisabled>
86
+ <StyledButtonDisabled style={props.style}>
87
+ <StyledTextDisabled style={props.disabledTextStyle ? props.disabledTextStyle : props.textStyle}>
88
+ {props.text}
89
+ </StyledTextDisabled>
90
+ </StyledButtonDisabled>
95
91
  </View>
96
92
  );
97
93
  }
@@ -115,15 +111,6 @@ const OButton = (props: Props): React.ReactElement => {
115
111
  {props.imgLeftSrc ? (
116
112
  <StyledImage style={props.imgLeftStyle} source={props.imgLeftSrc} />
117
113
  ) : null}
118
- {props.iconProps ? (
119
- <>
120
- {props?.IconCustom ? (
121
- <props.IconCustom {...props.iconProps} />
122
- ) : (
123
- <AntDesignIcon {...props.iconProps} />
124
- )}
125
- </>
126
- ) : null}
127
114
  {props.text ? (
128
115
  <StyledText style={props.textStyle}>{props.text}</StyledText>
129
116
  ) : null}
@@ -82,6 +82,8 @@ export interface LoginParams {
82
82
  handleSendVerifyCode?: any;
83
83
  handleCheckPhoneCode?: any;
84
84
  useRootPoint?: any;
85
+ enableReCaptcha?: boolean;
86
+ handleReCaptcha?: (vlaue: any) => void;
85
87
  }
86
88
 
87
89
  export interface ProductItemAccordionParams {
@@ -15,6 +15,8 @@ import { BusinessProductsListing } from './src/components/BusinessProductsListin
15
15
  import { CartContent } from './src/components/CartContent';
16
16
  import { BusinessCart } from './src/components/BusinessCart';
17
17
  import { Checkout } from './src/components/Checkout';
18
+ import { Favorite } from './src/components/Favorite';
19
+ import { FavoriteList } from './src/components/FavoriteList';
18
20
  import { FloatingButton } from './src/components/FloatingButton';
19
21
  import { ForgotPasswordForm } from './src/components/ForgotPasswordForm';
20
22
  import { MomentOption } from './src/components/MomentOption';
@@ -30,6 +32,7 @@ import { ReviewDriver } from './src/components/ReviewDriver';
30
32
  import { UserProfile } from './src/components/UserProfile';
31
33
  import { MessageListing } from './src/components/MessageListing';
32
34
  import { Messages } from './src/components/Messages';
35
+ import { MyOrders } from './src/components/MyOrders';
33
36
  import { Help } from './src/components/Help';
34
37
  import { HelpAccountAndPayment } from './src/components/HelpAccountAndPayment';
35
38
  import { HelpGuide } from './src/components/HelpGuide';
@@ -45,6 +48,8 @@ import { UpsellingProducts } from './src/components/UpsellingProducts';
45
48
  import { UserVerification } from './src/components/UserVerification';
46
49
  import { BusinessListingSearch } from './src/components/BusinessListingSearch';
47
50
  import { LastOrders } from './src/components/LastOrders';
51
+ import { MultiCheckout } from './src/components/MultiCheckout'
52
+ import { MultiOrdersDetails } from './src/components/MultiOrdersDetails'
48
53
  import NavBar from './src/components/NavBar';
49
54
  import { BusinessTypeFilter } from './src/components/BusinessTypeFilter';
50
55
  import { BusinessController } from './src/components/BusinessController';
@@ -54,16 +59,22 @@ import { PaymentOptions } from './src/components/PaymentOptions';
54
59
  import { DriverTips } from './src/components/DriverTips';
55
60
  import { UserDetails } from './src/components/UserDetails';
56
61
  import { OrderSummary } from './src/components/OrderSummary';
62
+ import { OrderItAgain } from './src/components/OrderItAgain';
57
63
  import { CartStoresListing } from './src/components/CartStoresListing';
58
64
  import { PaymentOptionsWebView } from '../../src/components/PaymentOptionsWebView';
59
65
  import { GoogleMap } from './src/components/GoogleMap';
60
66
  import { SingleProductCard } from './src/components/SingleProductCard';
67
+ import { SingleOrderCard } from './src/components/SingleOrderCard';
61
68
  import { UpsellingRedirect } from './src/components/BusinessProductsListing/UpsellingRedirect';
62
69
  import { ProductItemAccordion } from './src/components/ProductItemAccordion';
63
70
  import { BusinessItemAccordion } from './src/components/BusinessItemAccordion';
64
71
  import { CouponControl } from './src/components/CouponControl';
65
72
  import { TaxInformation } from './src/components/TaxInformation';
66
73
  import { PlaceSpot } from './src/components/PlaceSpot';
74
+ import { ProfessionalFilter } from './src/components/ProfessionalFilter';
75
+ import { ProfessionalProfile } from './src/components/ProfessionalProfile';
76
+ import { ServiceForm } from './src/components/ServiceForm';
77
+ import { MomentSelector } from './src/components/MomentSelector';
67
78
  import { Cart } from './src/components/Cart';
68
79
  import { LanguageSelector } from './src/components/LanguageSelector';
69
80
  import { PhoneInputNumber } from './src/components/PhoneInputNumber'
@@ -164,6 +175,8 @@ export {
164
175
  CartContent,
165
176
  BusinessCart,
166
177
  Checkout,
178
+ Favorite,
179
+ FavoriteList,
167
180
  ForgotPasswordForm,
168
181
  MomentOption,
169
182
  OrdersOption,
@@ -182,6 +195,8 @@ export {
182
195
  HelpAccountAndPayment,
183
196
  HelpGuide,
184
197
  HelpOrder,
198
+ MultiCheckout,
199
+ MultiOrdersDetails,
185
200
  NetworkError,
186
201
  NotFoundSource,
187
202
  OrderTypeSelector,
@@ -205,16 +220,22 @@ export {
205
220
  DriverTips,
206
221
  UserDetails,
207
222
  OrderSummary,
223
+ OrderItAgain,
208
224
  CartStoresListing,
209
225
  PaymentOptionsWebView,
210
226
  GoogleMap,
211
227
  SingleProductCard,
228
+ SingleOrderCard,
212
229
  UpsellingRedirect,
213
230
  ProductItemAccordion,
214
231
  BusinessItemAccordion,
215
232
  CouponControl,
216
233
  TaxInformation,
217
234
  PlaceSpot,
235
+ ProfessionalFilter,
236
+ ServiceForm,
237
+ ProfessionalProfile,
238
+ MomentSelector,
218
239
  Cart,
219
240
  LanguageSelector,
220
241
  PhoneInputNumber,
@@ -234,6 +255,7 @@ export {
234
255
  UserFormDetailsUI,
235
256
  WalletTransactionItem,
236
257
  Promotions,
258
+ MyOrders,
237
259
  ORDER_TYPES,
238
260
  USER_TYPE,
239
261
 
@@ -1,23 +1,13 @@
1
1
  import React from 'react';
2
- import { useLanguage, useUtils, useConfig } from 'ordering-components/native';
3
- import { OButton, OIcon, OText } from '../shared';
2
+ import { useConfig } from 'ordering-components/native';
4
3
  import {
5
- ActiveOrdersContainer,
6
- Card,
7
- Map,
8
- Information,
9
- Logo,
10
- OrderInformation,
11
- BusinessInformation,
12
- Price,
13
- UnreadMessageCounter,
14
- LoadMore
4
+ ActiveOrdersContainer
15
5
  } from './styles';
16
- import { View, StyleSheet } from 'react-native';
6
+ import { View } from 'react-native';
17
7
 
18
8
  import { ActiveOrdersParams } from '../../types';
19
- import moment from 'moment';
20
9
  import { useTheme } from 'styled-components/native';
10
+ import { SingleOrderCard } from '../SingleOrderCard';
21
11
 
22
12
  export const ActiveOrders = (props: ActiveOrdersParams) => {
23
13
  const {
@@ -27,111 +17,27 @@ export const ActiveOrders = (props: ActiveOrdersParams) => {
27
17
  loadMoreOrders,
28
18
  getOrderStatus,
29
19
  isMessageView,
30
- handleClickOrder
20
+ handleClickOrder,
21
+ handleUpdateOrderList
31
22
  } = props;
32
23
 
33
24
  const theme = useTheme();
34
25
  const [{ configs }] = useConfig();
35
- const [, t] = useLanguage();
36
- const [{ parseDate, parsePrice, optimizeImage }] = useUtils();
37
-
38
- const formatDate = (date: string, option?: any) => {
39
- return option?.utc ? moment.utc(date).format('DD/MM/YY \u2022 h:m a') : moment(date).format('DD/MM/YY \u2022 h:m a');
40
- };
41
-
42
- const handleClickCard = (uuid: string) => {
43
- if (isMessageView) {
44
- handleClickOrder(uuid)
45
- return
46
- }
47
- onNavigationRedirect &&
48
- onNavigationRedirect('OrderDetails', { orderId: uuid });
49
- };
50
-
51
- const Order = ({ order, index }: { order: any; index: number }) => (
52
- <React.Fragment>
53
- <Card
54
- isMiniCard={configs?.google_maps_api_key?.value}
55
- onPress={() => handleClickCard(order?.uuid)}
56
- activeOpacity={0.7}>
57
- {/* {!!(configs?.google_maps_api_key?.value) && (
58
- <Map>
59
- <OIcon
60
- url={getGoogleMapImage(order?.business?.location, configs?.google_maps_api_key?.value)}
61
- height={100}
62
- width={320}
63
- style={{resizeMode: 'cover', borderTopRightRadius: 24, borderTopLeftRadius: 24}}
64
- />
65
- </Map>
66
- )} */}
67
- <Information>
68
- {!!order.business?.logo && (
69
- <Logo>
70
- <OIcon
71
- url={optimizeImage(order.business?.logo, 'h_300,c_limit')}
72
- style={styles.logo}
73
- />
74
- </Logo>
75
- )}
76
- <OrderInformation>
77
- <BusinessInformation>
78
- <OText size={12} lineHeight={18} weight={600} numberOfLines={1} ellipsizeMode={'tail'}>
79
- {order.business?.name}
80
- </OText>
81
- <View style={styles.orderNumber}>
82
- <OText size={10} space color={theme.colors.textSecondary}>
83
- {t('ORDER_NO', 'Order No') + '.'}
84
- </OText>
85
- <OText size={10} color={theme.colors.textSecondary}>
86
- {order.id + ` \u2022 `}
87
- </OText>
88
- <OText size={10} color={theme.colors.textSecondary}>
89
- {order?.delivery_datetime_utc
90
- ? formatDate(order?.delivery_datetime_utc)
91
- : formatDate(order?.delivery_datetime, { utc: false })}
92
- </OText>
93
- </View>
94
- {/* {order?.status !== 0 && ( */}
95
- <OText
96
- color={theme.colors.primary}
97
- size={10}
98
- lineHeight={15}
99
- weight={400}
100
- numberOfLines={2}>
101
- {getOrderStatus(order.status)?.value}
102
- </OText>
103
- {/* )} */}
104
- </BusinessInformation>
105
- {isMessageView ? (
106
- <>
107
- {order?.unread_count > 0 && (
108
- <UnreadMessageCounter>
109
- <OText size={12} color={theme.colors.primary} lineHeight={18} >
110
- {order?.unread_count}
111
- </OText>
112
- </UnreadMessageCounter>
113
- )}
114
- </>
115
- ) : (
116
- <Price>
117
- <OText size={12} lineHeight={18}>
118
- {parsePrice(order?.summary?.total || order?.total)}
119
- </OText>
120
- </Price>
121
- )}
122
-
123
- </OrderInformation>
124
- </Information>
125
- </Card >
126
- </React.Fragment >
127
- );
128
26
 
129
27
  return (
130
28
  <>
131
29
  <ActiveOrdersContainer isMiniCards={configs?.google_maps_api_key?.value}>
132
30
  {orders.length > 0 &&
133
31
  orders.map((order: any, index: any) => (
134
- <Order key={index} order={order} index={index} />
32
+ <SingleOrderCard
33
+ key={index}
34
+ order={order}
35
+ handleClickOrder={handleClickOrder}
36
+ isMessageView={isMessageView}
37
+ getOrderStatus={getOrderStatus}
38
+ onNavigationRedirect={onNavigationRedirect}
39
+ handleUpdateOrderList={handleUpdateOrderList}
40
+ />
135
41
  ))}
136
42
  </ActiveOrdersContainer>
137
43
  <View
@@ -144,26 +50,3 @@ export const ActiveOrders = (props: ActiveOrdersParams) => {
144
50
  </>
145
51
  );
146
52
  };
147
-
148
- const styles = StyleSheet.create({
149
- logo: {
150
- borderRadius: 7.6,
151
- width: 64,
152
- height: 64,
153
- },
154
- orderNumber: {
155
- flexDirection: 'row',
156
- marginVertical: 3,
157
- },
158
- loadOrders: {
159
- justifyContent: 'center',
160
- alignItems: 'center',
161
- minWidth: 230,
162
- },
163
- loadMoreButton: {
164
- width: '100%',
165
- marginLeft: 'auto',
166
- marginRight: 'auto',
167
- borderRadius: 7.6
168
- },
169
- });
@@ -3,57 +3,3 @@ import styled from 'styled-components/native'
3
3
  export const ActiveOrdersContainer = styled.View`
4
4
  margin-bottom: 20px;
5
5
  `
6
-
7
- export const Card = styled.TouchableOpacity`
8
- `
9
-
10
- export const Map = styled.View`
11
- flex: 1;
12
- height: 125px;
13
- margin-bottom: 10px;
14
- `
15
-
16
- export const Information = styled.View`
17
- flex-direction: row;
18
- height: 100px;
19
- align-items: center;
20
- padding-vertical: 5px;
21
- `
22
-
23
- export const Logo = styled.View`
24
- border-radius: 7.6px;
25
- box-shadow: 0 1px 2px #0000001A;
26
- `
27
-
28
- export const OrderInformation = styled.View`
29
- flex-direction: row;
30
- justify-content: space-between;
31
- flex: 1;
32
- padding-left: 14px;
33
- `
34
-
35
- export const BusinessInformation = styled.View`
36
- flex-basis: 65%;
37
- `
38
-
39
- export const Price = styled.View`
40
- justify-content: space-between;
41
- align-items: flex-end;
42
- margin-left: 10px;
43
- width: 30%;
44
- `
45
-
46
- export const UnreadMessageCounter = styled.View`
47
- justify-content: center;
48
- align-items: center;
49
- margin-left: 10px;
50
- width: 24px;
51
- height: 24px;
52
- border-radius: 7.6px;
53
- background-color: ${(props: any) => props.theme.colors.primaryContrast};
54
- `
55
- export const LoadMore = styled.View`
56
- flex-direction: row;
57
- justify-content: center;
58
- margin-top: 10px;
59
- `