ordering-ui-react-native 0.15.51 → 0.15.52-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 (188) hide show
  1. package/package.json +5 -3
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/AddressForm/index.tsx +18 -2
  4. package/src/components/BusinessController/index.tsx +16 -8
  5. package/src/components/BusinessTypeFilter/index.tsx +3 -1
  6. package/src/components/BusinessesListing/index.tsx +1 -1
  7. package/src/components/Checkout/index.tsx +23 -2
  8. package/src/components/DriverTips/index.tsx +11 -6
  9. package/src/components/LanguageSelector/index.tsx +7 -2
  10. package/src/components/LoginForm/index.tsx +120 -30
  11. package/src/components/LoginForm/styles.tsx +6 -0
  12. package/src/components/OrderDetails/index.tsx +9 -23
  13. package/src/components/PaymentOptions/index.tsx +67 -50
  14. package/src/components/PaymentOptionsWebView/index.tsx +123 -124
  15. package/src/components/SignupForm/index.tsx +145 -61
  16. package/src/components/SingleProductCard/index.tsx +16 -4
  17. package/src/components/StripeMethodForm/index.tsx +1 -2
  18. package/src/components/UpsellingProducts/index.tsx +1 -1
  19. package/src/components/UserProfileForm/index.tsx +63 -6
  20. package/src/components/UserProfileForm/styles.tsx +8 -0
  21. package/src/components/VerifyPhone/styles.tsx +1 -2
  22. package/src/components/shared/OModal.tsx +1 -1
  23. package/src/hooks/useCountdownTimer.tsx +26 -0
  24. package/src/navigators/CheckoutNavigator.tsx +6 -0
  25. package/src/navigators/HomeNavigator.tsx +12 -0
  26. package/src/pages/BusinessesListing.tsx +1 -1
  27. package/src/pages/MultiCheckout.tsx +31 -0
  28. package/src/pages/MultiOrdersDetails.tsx +27 -0
  29. package/src/pages/Sessions.tsx +22 -0
  30. package/src/theme.json +0 -1
  31. package/src/types/index.tsx +18 -11
  32. package/src/utils/index.tsx +68 -1
  33. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +103 -15
  34. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -0
  35. package/themes/business/src/components/Chat/index.tsx +42 -90
  36. package/themes/business/src/components/DriverMap/index.tsx +6 -5
  37. package/themes/business/src/components/Home/index.tsx +128 -55
  38. package/themes/business/src/components/Home/styles.tsx +8 -1
  39. package/themes/business/src/components/LoginForm/index.tsx +89 -2
  40. package/themes/business/src/components/LoginForm/styles.tsx +6 -0
  41. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  42. package/themes/business/src/components/NewOrderNotification/index.tsx +79 -105
  43. package/themes/business/src/components/OrderDetails/Business.tsx +2 -2
  44. package/themes/business/src/components/OrderDetails/Delivery.tsx +35 -18
  45. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +159 -91
  46. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +6 -0
  47. package/themes/business/src/components/OrderDetails/styles.tsx +7 -0
  48. package/themes/business/src/components/OrdersListManager/index.tsx +1 -1
  49. package/themes/business/src/components/OrdersOption/index.tsx +5 -2
  50. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  51. package/themes/business/src/components/shared/OModal.tsx +1 -1
  52. package/themes/business/src/types/index.tsx +5 -1
  53. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  54. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  55. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  56. package/themes/kiosk/src/components/BusinessMenu/index.tsx +39 -28
  57. package/themes/kiosk/src/components/BusinessesListing/index.tsx +2 -3
  58. package/themes/kiosk/src/components/Cart/index.tsx +99 -26
  59. package/themes/kiosk/src/components/Cart/styles.tsx +6 -0
  60. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +9 -2
  61. package/themes/kiosk/src/components/CartContent/index.tsx +0 -11
  62. package/themes/kiosk/src/components/CartItem/index.tsx +4 -3
  63. package/themes/kiosk/src/components/CategoriesMenu/index.tsx +107 -62
  64. package/themes/kiosk/src/components/Checkout/index.tsx +40 -22
  65. package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
  66. package/themes/kiosk/src/components/DrawerView/index.tsx +1 -0
  67. package/themes/kiosk/src/components/DrawerView/styles.tsx +2 -2
  68. package/themes/kiosk/src/components/NavBar/index.tsx +29 -20
  69. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  70. package/themes/kiosk/src/components/OrderDetails/index.tsx +165 -65
  71. package/themes/kiosk/src/components/OrderDetails/styles.tsx +5 -0
  72. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +9 -11
  73. package/themes/kiosk/src/components/PaymentOptions/index.tsx +56 -54
  74. package/themes/kiosk/src/components/ProductForm/index.tsx +7 -8
  75. package/themes/kiosk/src/components/ProductItemAccordion/index.tsx +2 -2
  76. package/themes/kiosk/src/components/ProductOption/index.tsx +1 -1
  77. package/themes/kiosk/src/components/ProductOptionSubOption/index.tsx +3 -1
  78. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +16 -5
  79. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  80. package/themes/kiosk/src/types/index.d.ts +3 -0
  81. package/themes/original/index.tsx +169 -4
  82. package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
  83. package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
  84. package/themes/original/src/components/AddressForm/index.tsx +1 -1
  85. package/themes/original/src/components/AddressList/index.tsx +30 -18
  86. package/themes/original/src/components/AppleLogin/index.tsx +54 -21
  87. package/themes/original/src/components/BusinessBasicInformation/index.tsx +136 -45
  88. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +4 -0
  89. package/themes/original/src/components/BusinessController/index.tsx +48 -11
  90. package/themes/original/src/components/BusinessController/styles.tsx +27 -0
  91. package/themes/original/src/components/BusinessFeaturedController/index.tsx +20 -1
  92. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +23 -0
  93. package/themes/original/src/components/BusinessItemAccordion/index.tsx +8 -5
  94. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  95. package/themes/original/src/components/BusinessListingSearch/index.tsx +196 -58
  96. package/themes/original/src/components/BusinessListingSearch/styles.tsx +22 -2
  97. package/themes/original/src/components/BusinessPreorder/index.tsx +1 -1
  98. package/themes/original/src/components/BusinessProductsCategories/index.tsx +2 -2
  99. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  100. package/themes/original/src/components/BusinessProductsList/index.tsx +119 -35
  101. package/themes/original/src/components/BusinessProductsList/styles.tsx +12 -4
  102. package/themes/original/src/components/BusinessProductsListing/index.tsx +109 -21
  103. package/themes/original/src/components/BusinessProductsListing/styles.tsx +22 -0
  104. package/themes/original/src/components/BusinessReviews/index.tsx +10 -26
  105. package/themes/original/src/components/BusinessTypeFilter/index.tsx +1 -2
  106. package/themes/original/src/components/BusinessesListing/index.tsx +127 -66
  107. package/themes/original/src/components/BusinessesListing/styles.tsx +11 -3
  108. package/themes/original/src/components/Cart/index.tsx +60 -41
  109. package/themes/original/src/components/Checkout/index.tsx +48 -32
  110. package/themes/original/src/components/DriverTips/index.tsx +17 -12
  111. package/themes/original/src/components/Favorite/index.tsx +92 -0
  112. package/themes/original/src/components/Favorite/styles.tsx +22 -0
  113. package/themes/original/src/components/FavoriteList/index.tsx +298 -0
  114. package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
  115. package/themes/original/src/components/ForgotPasswordForm/index.tsx +84 -4
  116. package/themes/original/src/components/GPSButton/index.tsx +15 -8
  117. package/themes/original/src/components/GoogleMap/index.tsx +1 -0
  118. package/themes/original/src/components/Help/index.tsx +21 -4
  119. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
  120. package/themes/original/src/components/Home/index.tsx +1 -1
  121. package/themes/original/src/components/LastOrders/index.tsx +12 -1
  122. package/themes/original/src/components/LoginForm/Otp/index.tsx +91 -0
  123. package/themes/original/src/components/LoginForm/Otp/styles.tsx +7 -0
  124. package/themes/original/src/components/LoginForm/index.tsx +332 -164
  125. package/themes/original/src/components/LoginForm/styles.tsx +1 -3
  126. package/themes/original/src/components/LogoutButton/index.tsx +7 -1
  127. package/themes/original/src/components/MessageListing/index.tsx +10 -1
  128. package/themes/original/src/components/Messages/index.tsx +1 -1
  129. package/themes/original/src/components/MomentOption/index.tsx +10 -1
  130. package/themes/original/src/components/MomentOption/styles.tsx +1 -1
  131. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  132. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  133. package/themes/original/src/components/MultiCheckout/index.tsx +298 -0
  134. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  135. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  136. package/themes/original/src/components/MultiOrdersDetails/index.tsx +258 -0
  137. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  138. package/themes/original/src/components/MyOrders/index.tsx +120 -32
  139. package/themes/original/src/components/MyOrders/styles.tsx +8 -1
  140. package/themes/original/src/components/OrderDetails/index.tsx +64 -42
  141. package/themes/original/src/components/OrderDetails/styles.tsx +1 -2
  142. package/themes/original/src/components/OrderSummary/index.tsx +3 -3
  143. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -2
  144. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/index.tsx +153 -0
  145. package/themes/original/src/components/OrdersOption/PreviousBusinessOrdered/styles.tsx +6 -0
  146. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/index.tsx +53 -0
  147. package/themes/original/src/components/OrdersOption/PreviousProductsOrdered/styles.tsx +6 -0
  148. package/themes/original/src/components/OrdersOption/index.tsx +130 -38
  149. package/themes/original/src/components/OrdersOption/styles.tsx +4 -1
  150. package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
  151. package/themes/original/src/components/PaymentOptionWallet/index.tsx +17 -23
  152. package/themes/original/src/components/PaymentOptionWallet/styles.tsx +1 -1
  153. package/themes/original/src/components/PaymentOptions/index.tsx +57 -36
  154. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  155. package/themes/original/src/components/PreviousOrders/index.tsx +18 -147
  156. package/themes/original/src/components/ProductForm/index.tsx +70 -62
  157. package/themes/original/src/components/ProductForm/styles.tsx +0 -1
  158. package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
  159. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -12
  160. package/themes/original/src/components/Promotions/index.tsx +151 -133
  161. package/themes/original/src/components/Promotions/styles.tsx +3 -23
  162. package/themes/original/src/components/SearchBar/index.tsx +10 -4
  163. package/themes/original/src/components/Sessions/index.tsx +160 -0
  164. package/themes/original/src/components/Sessions/styles.tsx +15 -0
  165. package/themes/original/src/components/SignupForm/index.tsx +333 -128
  166. package/themes/original/src/components/SingleOrderCard/index.tsx +282 -0
  167. package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
  168. package/themes/original/src/components/SingleProductCard/index.tsx +59 -17
  169. package/themes/original/src/components/StripeElementsForm/index.tsx +16 -8
  170. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  171. package/themes/original/src/components/UpsellingProducts/index.tsx +86 -74
  172. package/themes/original/src/components/UserDetails/index.tsx +5 -96
  173. package/themes/original/src/components/UserFormDetails/index.tsx +34 -24
  174. package/themes/original/src/components/UserProfile/index.tsx +53 -6
  175. package/themes/original/src/components/UserProfileForm/index.tsx +20 -18
  176. package/themes/original/src/components/UserVerification/index.tsx +178 -192
  177. package/themes/original/src/components/VerifyPhone/index.tsx +10 -7
  178. package/themes/original/src/components/VerifyPhone/styles.tsx +2 -1
  179. package/themes/original/src/components/Wallets/index.tsx +76 -9
  180. package/themes/original/src/components/Wallets/styles.tsx +21 -0
  181. package/themes/original/src/components/shared/OModal.tsx +4 -2
  182. package/themes/original/src/config/constants.tsx +6 -6
  183. package/themes/original/src/types/index.tsx +139 -15
  184. package/themes/original/src/utils/index.tsx +85 -2
  185. package/themes/single-business/src/components/AddressList/index.tsx +1 -1
  186. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +1 -1
  187. package/themes/single-business/src/components/UserProfile/index.tsx +1 -1
  188. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -144,13 +144,15 @@ export const ProductOptionSubOptionUI = (props: any) => {
144
144
  </PositionControl>
145
145
  )
146
146
  }
147
+ {price > 0 && (
147
148
  <OText
148
149
  color="#909BA9"
149
150
  size={16}
150
151
  weight="bold"
151
152
  >
152
- + {parsePrice(price)}
153
+ + {parsePrice(price)}
153
154
  </OText>
155
+ )}
154
156
  </RightSide>
155
157
  </Container>
156
158
  )
@@ -71,6 +71,11 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
71
71
  }, [upsellingProducts.loading, upsellingProducts?.products.length])
72
72
 
73
73
  const handleFormProduct = (product: any) => {
74
+ if (props.onAddProduct) {
75
+ onClose && onClose()
76
+ props.onAddProduct(product)
77
+ return
78
+ }
74
79
  setActualProduct(product)
75
80
  setModalIsOpen(true)
76
81
  }
@@ -81,9 +86,18 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
81
86
  }
82
87
 
83
88
  const UpsellingLayout = () => {
84
-
85
89
  const theme = useTheme()
86
90
 
91
+ const onClickProduct = (product: any) => {
92
+ resetInactivityTimeout()
93
+ if (props.onAddProduct) {
94
+ onClose && onClose()
95
+ props.onAddProduct(product)
96
+ return
97
+ }
98
+ handleFormProduct(product)
99
+ }
100
+
87
101
  return (
88
102
  <Container>
89
103
  {
@@ -167,10 +181,7 @@ const UpsellingProductsUI = (props: UpsellingProductsParams) => {
167
181
  style={{ height: 40, width: '100%' }}
168
182
  bgColor="#EAF2FE"
169
183
  borderColor="#EAF2FE"
170
- onClick={() => {
171
- resetInactivityTimeout()
172
- handleFormProduct(product)
173
- }}
184
+ onClick={() => onClickProduct(product)}
174
185
  />
175
186
  </Item>
176
187
  )) : (
@@ -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}
@@ -55,6 +55,7 @@ export interface UpsellingProductsParams {
55
55
  setCanOpenUpselling?: (value: any) => void;
56
56
  onClose?: () => void;
57
57
  resetInactivityTimeout: any;
58
+ onAddProduct: any;
58
59
  }
59
60
 
60
61
  export interface LanguageSelectorParams {
@@ -472,6 +473,8 @@ export interface Cart {
472
473
  delivery_price_with_discount: number;
473
474
  total: number;
474
475
  clearInactivityTimeout: any;
476
+ taxes: Array<any>;
477
+ fees: Array<any>;
475
478
  }
476
479
 
477
480
  export interface NoNetworkParams {
@@ -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,11 +48,83 @@ 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';
48
- import NavBar from './src/components/NavBar';
51
+ import { MultiCheckout } from './src/components/MultiCheckout'
52
+ import { MultiOrdersDetails } from './src/components/MultiOrdersDetails'
53
+ import NavBar from './src/components/NavBar';
49
54
  import { BusinessTypeFilter } from './src/components/BusinessTypeFilter';
50
55
  import { BusinessController } from './src/components/BusinessController';
51
56
  import { BusinessFeaturedController } from './src/components/BusinessFeaturedController';
52
57
  import { HighestRatedBusinesses } from './src/components/HighestRatedBusinesses';
58
+ import { PaymentOptions } from './src/components/PaymentOptions';
59
+ import { DriverTips } from './src/components/DriverTips';
60
+ import { UserDetails } from './src/components/UserDetails';
61
+ import { OrderSummary } from './src/components/OrderSummary';
62
+ import { CartStoresListing } from './src/components/CartStoresListing';
63
+ import { PaymentOptionsWebView } from '../../src/components/PaymentOptionsWebView';
64
+ import { GoogleMap } from './src/components/GoogleMap';
65
+ import { SingleProductCard } from './src/components/SingleProductCard';
66
+ import { SingleOrderCard } from './src/components/SingleOrderCard';
67
+ import { UpsellingRedirect } from './src/components/BusinessProductsListing/UpsellingRedirect';
68
+ import { ProductItemAccordion } from './src/components/ProductItemAccordion';
69
+ import { BusinessItemAccordion } from './src/components/BusinessItemAccordion';
70
+ import { CouponControl } from './src/components/CouponControl';
71
+ import { TaxInformation } from './src/components/TaxInformation';
72
+ import { PlaceSpot } from './src/components/PlaceSpot';
73
+ import { Cart } from './src/components/Cart';
74
+ import { LanguageSelector } from './src/components/LanguageSelector';
75
+ import { PhoneInputNumber } from './src/components/PhoneInputNumber'
76
+ import { FacebookLogin } from './src/components/FacebookLogin';
77
+ import { VerifyPhone } from './src/components/VerifyPhone';
78
+ import { GoogleLogin } from './src/components/GoogleLogin';
79
+ import { PreviousOrders } from './src/components/PreviousOrders';
80
+ import { PaymentOptionCash } from './src/components/PaymentOptionCash';
81
+ import { StripeElementsForm } from './src/components/StripeElementsForm';
82
+ import { StripeCardsList } from './src/components/StripeCardsList';
83
+ import { ProductIngredient } from './src/components/ProductIngredient';
84
+ import { ProductOption } from './src/components/ProductOption';
85
+ import { ProductOptionSubOption } from './src/components/ProductOptionSubOption';
86
+ import { Sessions } from './src/components/Sessions';
87
+ import { SingleProductReview } from './src/components/SingleProductReview';
88
+ import { LogoutButton } from './src/components/LogoutButton';
89
+ import { UserFormDetailsUI } from './src/components/UserFormDetails';
90
+ import { WalletTransactionItem } from './src/components/WalletTransactionItem';
91
+ import { Promotions } from './src/components/Promotions'
92
+ import { USER_TYPE, ORDER_TYPES } from './src/config/constants'
93
+
94
+ import { OSBill, OSTable, OSCoupon, OSTotal, OSRow } from './src/components/OrderSummary/styles';
95
+
96
+ import { FormInput, FormSide, ButtonsWrapper, LoginWith, OTab, OTabs } from './src/components/LoginForm/styles';
97
+ import { OSItem, OSItemContent, OSItemActions } from './src/components/PaymentOptionStripe/styles';
98
+
99
+ import Alert from './src/providers/AlertProvider'
100
+
101
+ import {
102
+ LoginParams,
103
+ ProfileParams,
104
+ AddressListParams,
105
+ AddressFormParams,
106
+ SignupParams,
107
+ PhoneInputParams,
108
+ LanguageSelectorParams,
109
+ BusinessesListingParams,
110
+ HighestRatedBusinessesParams,
111
+ BusinessTypeFilterParams,
112
+ BusinessControllerParams,
113
+ BusinessProductsListingParams,
114
+ BusinessBasicInformationParams,
115
+ BusinessProductsCategoriesParams,
116
+ BusinessProductsListParams,
117
+ SingleProductCardParams,
118
+ BusinessInformationParams,
119
+ BusinessReviewsParams,
120
+ SearchBarParams,
121
+ NotFoundSourceParams,
122
+ OrdersOptionParams,
123
+ ActiveOrdersParams,
124
+ PreviousOrdersParams,
125
+ OrderDetailsParams,
126
+ ReviewDriverParams
127
+ } from './src/types';
53
128
 
54
129
  import { Toast } from './src/components/shared/OToast';
55
130
  import {
@@ -66,11 +141,13 @@ import {
66
141
  OAlert,
67
142
  OModal,
68
143
  OBottomPopup,
69
- HeaderTitle
144
+ HeaderTitle
70
145
  } from './src/components/shared';
71
146
 
72
147
  import { Container } from './src/layouts/Container';
73
148
  import { SafeAreaContainer } from './src/layouts/SafeAreaContainer';
149
+ import { FloatingBottomContainer } from './src/layouts/FloatingBottomContainer';
150
+
74
151
  import {
75
152
  _retrieveStoreData,
76
153
  _setStoreData,
@@ -93,6 +170,8 @@ export {
93
170
  CartContent,
94
171
  BusinessCart,
95
172
  Checkout,
173
+ Favorite,
174
+ FavoriteList,
96
175
  ForgotPasswordForm,
97
176
  MomentOption,
98
177
  OrdersOption,
@@ -106,11 +185,13 @@ export {
106
185
  BusinessMenuList,
107
186
  UserProfile,
108
187
  MessageListing,
109
- Messages,
188
+ Messages,
110
189
  Help,
111
190
  HelpAccountAndPayment,
112
191
  HelpGuide,
113
192
  HelpOrder,
193
+ MultiCheckout,
194
+ MultiOrdersDetails,
114
195
  NetworkError,
115
196
  NotFoundSource,
116
197
  OrderTypeSelector,
@@ -130,6 +211,89 @@ export {
130
211
  BusinessController,
131
212
  BusinessFeaturedController,
132
213
  HighestRatedBusinesses,
214
+ PaymentOptions,
215
+ DriverTips,
216
+ UserDetails,
217
+ OrderSummary,
218
+ CartStoresListing,
219
+ PaymentOptionsWebView,
220
+ GoogleMap,
221
+ SingleProductCard,
222
+ SingleOrderCard,
223
+ UpsellingRedirect,
224
+ ProductItemAccordion,
225
+ BusinessItemAccordion,
226
+ CouponControl,
227
+ TaxInformation,
228
+ PlaceSpot,
229
+ Cart,
230
+ LanguageSelector,
231
+ PhoneInputNumber,
232
+ FacebookLogin,
233
+ VerifyPhone,
234
+ GoogleLogin,
235
+ PreviousOrders,
236
+ PaymentOptionCash,
237
+ StripeElementsForm,
238
+ StripeCardsList,
239
+ ProductIngredient,
240
+ ProductOption,
241
+ ProductOptionSubOption,
242
+ Sessions,
243
+ SingleProductReview,
244
+ LogoutButton,
245
+ UserFormDetailsUI,
246
+ WalletTransactionItem,
247
+ Promotions,
248
+ MyOrders,
249
+ ORDER_TYPES,
250
+ USER_TYPE,
251
+
252
+ OSBill,
253
+ OSTable,
254
+ OSCoupon,
255
+ OSTotal,
256
+ OSRow,
257
+
258
+ FormInput,
259
+ FormSide,
260
+ ButtonsWrapper,
261
+ LoginWith,
262
+ OTab,
263
+ OTabs,
264
+
265
+ OSItem,
266
+ OSItemContent,
267
+ OSItemActions,
268
+
269
+ Alert,
270
+
271
+ //Types
272
+ LoginParams,
273
+ ProfileParams,
274
+ AddressListParams,
275
+ AddressFormParams,
276
+ SignupParams,
277
+ PhoneInputParams,
278
+ LanguageSelectorParams,
279
+ BusinessesListingParams,
280
+ HighestRatedBusinessesParams,
281
+ BusinessTypeFilterParams,
282
+ BusinessControllerParams,
283
+ BusinessProductsListingParams,
284
+ BusinessBasicInformationParams,
285
+ BusinessProductsCategoriesParams,
286
+ BusinessProductsListParams,
287
+ SingleProductCardParams,
288
+ BusinessInformationParams,
289
+ BusinessReviewsParams,
290
+ SearchBarParams,
291
+ NotFoundSourceParams,
292
+ OrdersOptionParams,
293
+ ActiveOrdersParams,
294
+ PreviousOrdersParams,
295
+ OrderDetailsParams,
296
+ ReviewDriverParams,
133
297
 
134
298
  // OComponents
135
299
  Toast,
@@ -146,11 +310,12 @@ export {
146
310
  OAlert,
147
311
  OModal,
148
312
  OBottomPopup,
149
- HeaderTitle,
313
+ HeaderTitle,
150
314
 
151
315
  // layout
152
316
  Container,
153
317
  SafeAreaContainer,
318
+ FloatingBottomContainer,
154
319
  NavBar,
155
320
 
156
321
  // utils
@@ -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
- `
@@ -510,7 +510,7 @@ const AddressFormUI = (props: AddressFormParams) => {
510
510
  onActionLeft={goToBack}
511
511
  showCall={false}
512
512
  btnStyle={{ paddingLeft: 0 }}
513
- style={{ flexDirection: 'column', alignItems: 'flex-start' }}
513
+ style={{ marginTop: Platform.OS === 'ios' ? 0 : 30 }}
514
514
  titleWrapStyle={{ paddingHorizontal: 0 }}
515
515
  titleStyle={{ marginRight: 0, marginLeft: 0 }}
516
516
  />