ordering-ui-react-native 0.15.33 → 0.15.35-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 (182) hide show
  1. package/package.json +4 -2
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessController/index.tsx +8 -2
  4. package/src/components/BusinessTypeFilter/index.tsx +4 -1
  5. package/src/components/BusinessesListing/index.tsx +1 -1
  6. package/src/components/Checkout/index.tsx +23 -3
  7. package/src/components/DriverTips/index.tsx +11 -6
  8. package/src/components/LanguageSelector/index.tsx +7 -2
  9. package/src/components/LoginForm/index.tsx +3 -1
  10. package/src/components/OrderDetails/index.tsx +2 -2
  11. package/src/components/PaymentOptions/index.tsx +9 -16
  12. package/src/components/PaymentOptionsWebView/index.tsx +123 -124
  13. package/src/components/SignupForm/index.tsx +3 -1
  14. package/src/components/SingleProductCard/index.tsx +16 -4
  15. package/src/components/StripeElementsForm/index.tsx +27 -48
  16. package/src/components/UpsellingProducts/index.tsx +1 -1
  17. package/src/components/UserProfileForm/index.tsx +63 -6
  18. package/src/components/UserProfileForm/styles.tsx +8 -0
  19. package/src/components/VerifyPhone/styles.tsx +1 -2
  20. package/src/components/shared/OModal.tsx +1 -1
  21. package/src/config.json +0 -2
  22. package/src/hooks/useCountdownTimer.tsx +26 -0
  23. package/src/navigators/CheckoutNavigator.tsx +6 -0
  24. package/src/navigators/HomeNavigator.tsx +12 -0
  25. package/src/pages/BusinessProductsList.tsx +1 -0
  26. package/src/pages/BusinessesListing.tsx +1 -1
  27. package/src/pages/Checkout.tsx +1 -1
  28. package/src/pages/MultiCheckout.tsx +31 -0
  29. package/src/pages/MultiOrdersDetails.tsx +27 -0
  30. package/src/pages/Sessions.tsx +22 -0
  31. package/src/types/index.tsx +5 -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 +38 -86
  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 +1 -1
  44. package/themes/business/src/components/OrderDetails/Delivery.tsx +32 -15
  45. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +157 -89
  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 +52 -49
  49. package/themes/business/src/components/OrdersOption/index.tsx +57 -50
  50. package/themes/business/src/components/PreviousOrders/index.tsx +50 -14
  51. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  52. package/themes/business/src/components/shared/OModal.tsx +1 -1
  53. package/themes/business/src/types/index.tsx +5 -1
  54. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  55. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  56. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  57. package/themes/kiosk/src/components/Cart/index.tsx +99 -25
  58. package/themes/kiosk/src/components/Cart/styles.tsx +6 -0
  59. package/themes/kiosk/src/components/Checkout/index.tsx +34 -22
  60. package/themes/kiosk/src/components/CustomerName/index.tsx +0 -6
  61. package/themes/kiosk/src/components/Intro/index.tsx +12 -12
  62. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  63. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  64. package/themes/kiosk/src/components/OrderDetails/index.tsx +165 -65
  65. package/themes/kiosk/src/components/OrderDetails/styles.tsx +5 -0
  66. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +10 -12
  67. package/themes/kiosk/src/components/PaymentOptions/index.tsx +1 -1
  68. package/themes/kiosk/src/components/ProductForm/index.tsx +2 -2
  69. package/themes/kiosk/src/components/UpsellingProducts/index.tsx +48 -34
  70. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  71. package/themes/kiosk/src/types/index.d.ts +2 -0
  72. package/themes/original/index.tsx +188 -1
  73. package/themes/original/src/components/ActiveOrders/index.tsx +15 -132
  74. package/themes/original/src/components/ActiveOrders/styles.tsx +0 -54
  75. package/themes/original/src/components/AddressForm/index.tsx +15 -10
  76. package/themes/original/src/components/AddressList/index.tsx +56 -18
  77. package/themes/original/src/components/AppleLogin/index.tsx +117 -78
  78. package/themes/original/src/components/BusinessBasicInformation/index.tsx +96 -45
  79. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +28 -1
  80. package/themes/original/src/components/BusinessController/index.tsx +56 -16
  81. package/themes/original/src/components/BusinessController/styles.tsx +27 -0
  82. package/themes/original/src/components/BusinessFeaturedController/index.tsx +20 -1
  83. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +23 -0
  84. package/themes/original/src/components/BusinessItemAccordion/index.tsx +4 -3
  85. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -1
  86. package/themes/original/src/components/BusinessListingSearch/index.tsx +125 -7
  87. package/themes/original/src/components/BusinessListingSearch/styles.tsx +14 -1
  88. package/themes/original/src/components/BusinessMenuList/index.tsx +11 -4
  89. package/themes/original/src/components/BusinessPreorder/index.tsx +142 -122
  90. package/themes/original/src/components/BusinessProductsCategories/index.tsx +9 -7
  91. package/themes/original/src/components/BusinessProductsList/CategoryDescription/index.tsx +44 -0
  92. package/themes/original/src/components/BusinessProductsList/index.tsx +139 -36
  93. package/themes/original/src/components/BusinessProductsList/styles.tsx +29 -2
  94. package/themes/original/src/components/BusinessProductsListing/index.tsx +125 -21
  95. package/themes/original/src/components/BusinessProductsListing/styles.tsx +22 -0
  96. package/themes/original/src/components/BusinessReviews/index.tsx +4 -25
  97. package/themes/original/src/components/BusinessTypeFilter/index.tsx +1 -2
  98. package/themes/original/src/components/BusinessesListing/index.tsx +85 -45
  99. package/themes/original/src/components/Cart/index.tsx +60 -43
  100. package/themes/original/src/components/CartContent/index.tsx +2 -2
  101. package/themes/original/src/components/Checkout/index.tsx +59 -48
  102. package/themes/original/src/components/DriverTips/index.tsx +17 -12
  103. package/themes/original/src/components/Favorite/index.tsx +91 -0
  104. package/themes/original/src/components/Favorite/styles.tsx +22 -0
  105. package/themes/original/src/components/FavoriteList/index.tsx +287 -0
  106. package/themes/original/src/components/FavoriteList/styles.tsx +5 -0
  107. package/themes/original/src/components/ForgotPasswordForm/index.tsx +84 -4
  108. package/themes/original/src/components/GPSButton/index.tsx +15 -8
  109. package/themes/original/src/components/GoogleMap/index.tsx +1 -0
  110. package/themes/original/src/components/Help/index.tsx +21 -4
  111. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +18 -1
  112. package/themes/original/src/components/Home/index.tsx +1 -1
  113. package/themes/original/src/components/LastOrders/index.tsx +12 -1
  114. package/themes/original/src/components/LoginForm/Otp/index.tsx +90 -0
  115. package/themes/original/src/components/LoginForm/Otp/styles.tsx +7 -0
  116. package/themes/original/src/components/LoginForm/index.tsx +394 -155
  117. package/themes/original/src/components/LoginForm/styles.tsx +7 -4
  118. package/themes/original/src/components/LogoutButton/index.tsx +7 -1
  119. package/themes/original/src/components/MessageListing/index.tsx +10 -1
  120. package/themes/original/src/components/Messages/index.tsx +6 -1
  121. package/themes/original/src/components/Messages/styles.tsx +1 -3
  122. package/themes/original/src/components/MomentOption/index.tsx +10 -1
  123. package/themes/original/src/components/MomentOption/styles.tsx +1 -1
  124. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +243 -0
  125. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/styles.tsx +46 -0
  126. package/themes/original/src/components/MultiCheckout/index.tsx +298 -0
  127. package/themes/original/src/components/MultiCheckout/styles.tsx +59 -0
  128. package/themes/original/src/components/MultiOrdersDetails/SingleOrderCard.tsx +372 -0
  129. package/themes/original/src/components/MultiOrdersDetails/index.tsx +258 -0
  130. package/themes/original/src/components/MultiOrdersDetails/styles.tsx +50 -0
  131. package/themes/original/src/components/OrderDetails/index.tsx +56 -33
  132. package/themes/original/src/components/OrderDetails/styles.tsx +1 -2
  133. package/themes/original/src/components/OrderProgress/index.tsx +3 -3
  134. package/themes/original/src/components/OrderProgress/styles.tsx +1 -0
  135. package/themes/original/src/components/OrderSummary/index.tsx +3 -3
  136. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -2
  137. package/themes/original/src/components/OrdersOption/index.tsx +57 -56
  138. package/themes/original/src/components/OrdersOption/styles.tsx +0 -6
  139. package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
  140. package/themes/original/src/components/PaymentOptionWallet/index.tsx +22 -24
  141. package/themes/original/src/components/PaymentOptionWallet/styles.tsx +1 -1
  142. package/themes/original/src/components/PaymentOptions/index.tsx +9 -21
  143. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  144. package/themes/original/src/components/PreviousOrders/index.tsx +18 -145
  145. package/themes/original/src/components/ProductForm/index.tsx +76 -61
  146. package/themes/original/src/components/ProductForm/styles.tsx +0 -1
  147. package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
  148. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -12
  149. package/themes/original/src/components/Promotions/index.tsx +250 -0
  150. package/themes/original/src/components/Promotions/styles.tsx +60 -0
  151. package/themes/original/src/components/SearchBar/index.tsx +4 -1
  152. package/themes/original/src/components/Sessions/index.tsx +160 -0
  153. package/themes/original/src/components/Sessions/styles.tsx +15 -0
  154. package/themes/original/src/components/SignupForm/index.tsx +9 -4
  155. package/themes/original/src/components/SingleOrderCard/index.tsx +282 -0
  156. package/themes/original/src/components/SingleOrderCard/styles.tsx +54 -0
  157. package/themes/original/src/components/SingleProductCard/index.tsx +82 -30
  158. package/themes/original/src/components/SingleProductCard/styles.tsx +28 -1
  159. package/themes/original/src/components/StripeElementsForm/index.tsx +10 -2
  160. package/themes/original/src/components/StripeElementsForm/naked.tsx +2 -2
  161. package/themes/original/src/components/TaxInformation/index.tsx +10 -4
  162. package/themes/original/src/components/UpsellingProducts/index.tsx +86 -74
  163. package/themes/original/src/components/UserDetails/index.tsx +5 -96
  164. package/themes/original/src/components/UserFormDetails/index.tsx +34 -24
  165. package/themes/original/src/components/UserProfile/index.tsx +62 -8
  166. package/themes/original/src/components/UserProfileForm/index.tsx +20 -18
  167. package/themes/original/src/components/UserVerification/index.tsx +178 -192
  168. package/themes/original/src/components/VerifyPhone/index.tsx +10 -7
  169. package/themes/original/src/components/VerifyPhone/styles.tsx +2 -1
  170. package/themes/original/src/components/Wallets/index.tsx +76 -9
  171. package/themes/original/src/components/Wallets/styles.tsx +21 -0
  172. package/themes/original/src/components/shared/HeaderTitle.tsx +21 -0
  173. package/themes/original/src/components/shared/OModal.tsx +4 -2
  174. package/themes/original/src/components/shared/index.tsx +2 -0
  175. package/themes/original/src/config/constants.tsx +6 -6
  176. package/themes/original/src/types/index.tsx +107 -9
  177. package/themes/original/src/utils/index.tsx +28 -2
  178. package/themes/single-business/src/components/AddressList/index.tsx +1 -1
  179. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +6 -6
  180. package/themes/single-business/src/components/UserProfile/index.tsx +1 -1
  181. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  182. package/src/components/StripeMethodForm/index.tsx +0 -174
@@ -7,11 +7,17 @@ import { SignupForm } from './src/components/SignupForm';
7
7
  import { ActiveOrders } from './src/components/ActiveOrders';
8
8
  import { AddressList } from './src/components/AddressList';
9
9
  import { AppleLogin } from './src/components/AppleLogin';
10
+ import { BusinessBasicInformation } from './src/components/BusinessBasicInformation';
11
+ import { BusinessProductsCategories } from './src/components/BusinessProductsCategories';
12
+ import { BusinessProductsList } from './src/components/BusinessProductsList';
10
13
  import { BusinessesListing } from './src/components/BusinessesListing';
11
14
  import { BusinessProductsListing } from './src/components/BusinessProductsListing';
12
15
  import { CartContent } from './src/components/CartContent';
13
16
  import { BusinessCart } from './src/components/BusinessCart';
14
17
  import { Checkout } from './src/components/Checkout';
18
+ import { Favorite } from './src/components/Favorite';
19
+ import { FavoriteList } from './src/components/FavoriteList';
20
+ import { FloatingButton } from './src/components/FloatingButton';
15
21
  import { ForgotPasswordForm } from './src/components/ForgotPasswordForm';
16
22
  import { MomentOption } from './src/components/MomentOption';
17
23
  import { OrdersOption } from './src/components/OrdersOption';
@@ -33,12 +39,91 @@ import { HelpOrder } from './src/components/HelpOrder';
33
39
  import { NetworkError } from './src/components/NetworkError';
34
40
  import { NotFoundSource } from './src/components/NotFoundSource';
35
41
  import { OrderTypeSelector } from './src/components/OrderTypeSelector';
42
+ import { SearchBar } from './src/components/SearchBar';
36
43
  import { Wallets } from './src/components/Wallets';
37
44
  import { PaymentOptionWallet } from './src/components/PaymentOptionWallet';
38
45
  import { ProductForm } from './src/components/ProductForm';
39
46
  import { UpsellingProducts } from './src/components/UpsellingProducts';
40
47
  import { UserVerification } from './src/components/UserVerification';
41
48
  import { BusinessListingSearch } from './src/components/BusinessListingSearch';
49
+ import { LastOrders } from './src/components/LastOrders';
50
+ import { MultiCheckout } from './src/components/MultiCheckout'
51
+ import { MultiOrdersDetails } from './src/components/MultiOrdersDetails'
52
+ import NavBar from './src/components/NavBar';
53
+ import { BusinessTypeFilter } from './src/components/BusinessTypeFilter';
54
+ import { BusinessController } from './src/components/BusinessController';
55
+ import { BusinessFeaturedController } from './src/components/BusinessFeaturedController';
56
+ import { HighestRatedBusinesses } from './src/components/HighestRatedBusinesses';
57
+ import { PaymentOptions } from './src/components/PaymentOptions';
58
+ import { DriverTips } from './src/components/DriverTips';
59
+ import { UserDetails } from './src/components/UserDetails';
60
+ import { OrderSummary } from './src/components/OrderSummary';
61
+ import { CartStoresListing } from './src/components/CartStoresListing';
62
+ import { PaymentOptionsWebView } from '../../src/components/PaymentOptionsWebView';
63
+ import { GoogleMap } from './src/components/GoogleMap';
64
+ import { SingleProductCard } from './src/components/SingleProductCard';
65
+ import { SingleOrderCard } from './src/components/SingleOrderCard';
66
+ import { UpsellingRedirect } from './src/components/BusinessProductsListing/UpsellingRedirect';
67
+ import { ProductItemAccordion } from './src/components/ProductItemAccordion';
68
+ import { BusinessItemAccordion } from './src/components/BusinessItemAccordion';
69
+ import { CouponControl } from './src/components/CouponControl';
70
+ import { TaxInformation } from './src/components/TaxInformation';
71
+ import { PlaceSpot } from './src/components/PlaceSpot';
72
+ import { Cart } from './src/components/Cart';
73
+ import { LanguageSelector } from './src/components/LanguageSelector';
74
+ import { PhoneInputNumber } from './src/components/PhoneInputNumber'
75
+ import { FacebookLogin } from './src/components/FacebookLogin';
76
+ import { VerifyPhone } from './src/components/VerifyPhone';
77
+ import { GoogleLogin } from './src/components/GoogleLogin';
78
+ import { PreviousOrders } from './src/components/PreviousOrders';
79
+ import { PaymentOptionCash } from './src/components/PaymentOptionCash';
80
+ import { StripeElementsForm } from './src/components/StripeElementsForm';
81
+ import { StripeCardsList } from './src/components/StripeCardsList';
82
+ import { ProductIngredient } from './src/components/ProductIngredient';
83
+ import { ProductOption } from './src/components/ProductOption';
84
+ import { ProductOptionSubOption } from './src/components/ProductOptionSubOption';
85
+ import { Sessions } from './src/components/Sessions';
86
+ import { SingleProductReview } from './src/components/SingleProductReview';
87
+ import { LogoutButton } from './src/components/LogoutButton';
88
+ import { UserFormDetailsUI } from './src/components/UserFormDetails';
89
+ import { WalletTransactionItem } from './src/components/WalletTransactionItem';
90
+ import { Promotions } from './src/components/Promotions'
91
+ import { USER_TYPE, ORDER_TYPES } from './src/config/constants'
92
+
93
+ import { OSBill, OSTable, OSCoupon, OSTotal, OSRow } from './src/components/OrderSummary/styles';
94
+
95
+ import { FormInput, FormSide, ButtonsWrapper, LoginWith, OTab, OTabs } from './src/components/LoginForm/styles';
96
+ import { OSItem, OSItemContent, OSItemActions } from './src/components/PaymentOptionStripe/styles';
97
+
98
+ import Alert from './src/providers/AlertProvider'
99
+
100
+ import {
101
+ LoginParams,
102
+ ProfileParams,
103
+ AddressListParams,
104
+ AddressFormParams,
105
+ SignupParams,
106
+ PhoneInputParams,
107
+ LanguageSelectorParams,
108
+ BusinessesListingParams,
109
+ HighestRatedBusinessesParams,
110
+ BusinessTypeFilterParams,
111
+ BusinessControllerParams,
112
+ BusinessProductsListingParams,
113
+ BusinessBasicInformationParams,
114
+ BusinessProductsCategoriesParams,
115
+ BusinessProductsListParams,
116
+ SingleProductCardParams,
117
+ BusinessInformationParams,
118
+ BusinessReviewsParams,
119
+ SearchBarParams,
120
+ NotFoundSourceParams,
121
+ OrdersOptionParams,
122
+ ActiveOrdersParams,
123
+ PreviousOrdersParams,
124
+ OrderDetailsParams,
125
+ ReviewDriverParams
126
+ } from './src/types';
42
127
 
43
128
  import { Toast } from './src/components/shared/OToast';
44
129
  import {
@@ -55,10 +140,13 @@ import {
55
140
  OAlert,
56
141
  OModal,
57
142
  OBottomPopup,
143
+ HeaderTitle
58
144
  } from './src/components/shared';
59
145
 
60
146
  import { Container } from './src/layouts/Container';
61
147
  import { SafeAreaContainer } from './src/layouts/SafeAreaContainer';
148
+ import { FloatingBottomContainer } from './src/layouts/FloatingBottomContainer';
149
+
62
150
  import {
63
151
  _retrieveStoreData,
64
152
  _setStoreData,
@@ -81,6 +169,8 @@ export {
81
169
  CartContent,
82
170
  BusinessCart,
83
171
  Checkout,
172
+ Favorite,
173
+ FavoriteList,
84
174
  ForgotPasswordForm,
85
175
  MomentOption,
86
176
  OrdersOption,
@@ -94,11 +184,13 @@ export {
94
184
  BusinessMenuList,
95
185
  UserProfile,
96
186
  MessageListing,
97
- Messages,
187
+ Messages,
98
188
  Help,
99
189
  HelpAccountAndPayment,
100
190
  HelpGuide,
101
191
  HelpOrder,
192
+ MultiCheckout,
193
+ MultiOrdersDetails,
102
194
  NetworkError,
103
195
  NotFoundSource,
104
196
  OrderTypeSelector,
@@ -108,6 +200,98 @@ export {
108
200
  UpsellingProducts,
109
201
  UserVerification,
110
202
  BusinessListingSearch,
203
+ BusinessBasicInformation,
204
+ BusinessProductsCategories,
205
+ BusinessProductsList,
206
+ FloatingButton,
207
+ SearchBar,
208
+ LastOrders,
209
+ BusinessTypeFilter,
210
+ BusinessController,
211
+ BusinessFeaturedController,
212
+ HighestRatedBusinesses,
213
+ PaymentOptions,
214
+ DriverTips,
215
+ UserDetails,
216
+ OrderSummary,
217
+ CartStoresListing,
218
+ PaymentOptionsWebView,
219
+ GoogleMap,
220
+ SingleProductCard,
221
+ SingleOrderCard,
222
+ UpsellingRedirect,
223
+ ProductItemAccordion,
224
+ BusinessItemAccordion,
225
+ CouponControl,
226
+ TaxInformation,
227
+ PlaceSpot,
228
+ Cart,
229
+ LanguageSelector,
230
+ PhoneInputNumber,
231
+ FacebookLogin,
232
+ VerifyPhone,
233
+ GoogleLogin,
234
+ PreviousOrders,
235
+ PaymentOptionCash,
236
+ StripeElementsForm,
237
+ StripeCardsList,
238
+ ProductIngredient,
239
+ ProductOption,
240
+ ProductOptionSubOption,
241
+ Sessions,
242
+ SingleProductReview,
243
+ LogoutButton,
244
+ UserFormDetailsUI,
245
+ WalletTransactionItem,
246
+ Promotions,
247
+ ORDER_TYPES,
248
+ USER_TYPE,
249
+
250
+ OSBill,
251
+ OSTable,
252
+ OSCoupon,
253
+ OSTotal,
254
+ OSRow,
255
+
256
+ FormInput,
257
+ FormSide,
258
+ ButtonsWrapper,
259
+ LoginWith,
260
+ OTab,
261
+ OTabs,
262
+
263
+ OSItem,
264
+ OSItemContent,
265
+ OSItemActions,
266
+
267
+ Alert,
268
+
269
+ //Types
270
+ LoginParams,
271
+ ProfileParams,
272
+ AddressListParams,
273
+ AddressFormParams,
274
+ SignupParams,
275
+ PhoneInputParams,
276
+ LanguageSelectorParams,
277
+ BusinessesListingParams,
278
+ HighestRatedBusinessesParams,
279
+ BusinessTypeFilterParams,
280
+ BusinessControllerParams,
281
+ BusinessProductsListingParams,
282
+ BusinessBasicInformationParams,
283
+ BusinessProductsCategoriesParams,
284
+ BusinessProductsListParams,
285
+ SingleProductCardParams,
286
+ BusinessInformationParams,
287
+ BusinessReviewsParams,
288
+ SearchBarParams,
289
+ NotFoundSourceParams,
290
+ OrdersOptionParams,
291
+ ActiveOrdersParams,
292
+ PreviousOrdersParams,
293
+ OrderDetailsParams,
294
+ ReviewDriverParams,
111
295
 
112
296
  // OComponents
113
297
  Toast,
@@ -124,10 +308,13 @@ export {
124
308
  OAlert,
125
309
  OModal,
126
310
  OBottomPopup,
311
+ HeaderTitle,
127
312
 
128
313
  // layout
129
314
  Container,
130
315
  SafeAreaContainer,
316
+ FloatingBottomContainer,
317
+ NavBar,
131
318
 
132
319
  // utils
133
320
  _retrieveStoreData,
@@ -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
- `
@@ -108,6 +108,9 @@ const AddressFormUI = (props: AddressFormParams) => {
108
108
  top: 12,
109
109
  zIndex: 1002,
110
110
  },
111
+ wrapperNavbar: Platform.OS === 'ios'
112
+ ? { paddingVertical: 0, paddingHorizontal: 40 }
113
+ : { paddingVertical: 20, paddingHorizontal: 40 }
111
114
  });
112
115
 
113
116
  const [, t] = useLanguage();
@@ -500,16 +503,18 @@ const AddressFormUI = (props: AddressFormParams) => {
500
503
  keyboardShouldPersistTaps='always'
501
504
  listViewDisplayed={false}
502
505
  >
503
- <NavBar
504
- title={t('WHERE_DO_WE_DELIVERY', 'Where do we delivery?')}
505
- titleAlign={'center'}
506
- onActionLeft={goToBack}
507
- showCall={false}
508
- paddingTop={20}
509
- btnStyle={{ paddingLeft: 40 }}
510
- titleStyle={{ fontSize: 14 }}
511
- titleWrapStyle={{ paddingHorizontal: 0 }}
512
- />
506
+ <View style={styles.wrapperNavbar}>
507
+ <NavBar
508
+ title={t('WHERE_DO_WE_DELIVERY', 'Where do we delivery?')}
509
+ titleAlign={'center'}
510
+ onActionLeft={goToBack}
511
+ showCall={false}
512
+ btnStyle={{ paddingLeft: 0 }}
513
+ style={{ marginTop: Platform.OS === 'ios' ? 0 : 30 }}
514
+ titleWrapStyle={{ paddingHorizontal: 0 }}
515
+ titleStyle={{ marginRight: 0, marginLeft: 0 }}
516
+ />
517
+ </View>
513
518
  <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
514
519
  <AddressFormContainer style={{ height: 600, overflow: 'scroll' }}>
515
520
  <View>
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect } from 'react'
2
2
  import { AddressList as AddressListController, useLanguage, useOrder, useSession } from 'ordering-components/native'
3
3
  import { AddressListContainer, AddressItem } from './styles'
4
- import { StyleSheet, View } from 'react-native'
4
+ import { Platform, RefreshControl, StyleSheet, View } from 'react-native'
5
5
  import { OButton, OText, OAlert, OModal, OIcon } from '../shared'
6
6
  import { Container } from '../../layouts/Container'
7
7
  import { AddressListParams } from '../../types'
@@ -27,7 +27,8 @@ const AddressListUI = (props: AddressListParams) => {
27
27
  actionStatus,
28
28
  isFromBusinesses,
29
29
  isFromProductsList,
30
- afterSignup
30
+ afterSignup,
31
+ loadAddresses
31
32
  } = props
32
33
 
33
34
  const theme = useTheme();
@@ -35,6 +36,7 @@ const AddressListUI = (props: AddressListParams) => {
35
36
  const [orderState] = useOrder()
36
37
  const [, t] = useLanguage()
37
38
  const [{ auth }] = useSession()
39
+ const [refreshing] = useState(false);
38
40
 
39
41
  const [isProfile, setIsProfile] = useState(isFromProfile || route?.params?.isFromProfile);
40
42
 
@@ -121,6 +123,12 @@ const AddressListUI = (props: AddressListParams) => {
121
123
  })
122
124
  }
123
125
 
126
+ const handleOnRefresh = () => {
127
+ if (!addressList.loading) {
128
+ loadAddresses();
129
+ }
130
+ }
131
+
124
132
  const goToBack = () => navigation?.canGoBack() && navigation.goBack()
125
133
  const onNavigationRedirect = (route: string, params?: any) => navigation.navigate(route, params)
126
134
 
@@ -135,22 +143,26 @@ const AddressListUI = (props: AddressListParams) => {
135
143
  }, [])
136
144
 
137
145
  return (
138
- <Container noPadding>
146
+ <Container
147
+ noPadding
148
+ refreshControl={
149
+ <RefreshControl
150
+ refreshing={refreshing}
151
+ onRefresh={() => handleOnRefresh()}
152
+ />
153
+ }
154
+ >
155
+ {isProfile && (
156
+ <NavBar
157
+ title={t('SAVED_PLACES', 'My saved places')}
158
+ titleAlign={'center'}
159
+ onActionLeft={goToBack}
160
+ showCall={false}
161
+ style={{ paddingHorizontal: 40, paddingVertical: Platform.OS === 'ios' ? 0 : 20, marginTop: Platform.OS === 'ios' ? 0 : 30 }}
162
+ />
163
+ )}
139
164
  {(!addressList.loading || (isFromProductsList || isFromBusinesses || isFromProfile || isProfile)) && (
140
165
  <AddressListContainer>
141
- {isProfile && (
142
- <NavBar
143
- title={t('MY_SAVED_PLACES', 'My saved places')}
144
- titleAlign={'center'}
145
- onActionLeft={() => goToBack()}
146
- showCall={false}
147
- btnStyle={{ paddingLeft: 0 }}
148
- paddingTop={0}
149
- isVertical
150
- titleWrapStyle={{ paddingHorizontal: 0 }}
151
- titleStyle={{ marginLeft: 0, marginRight: 0 }}
152
- />
153
- )}
154
166
  {
155
167
  route &&
156
168
  (
@@ -167,12 +179,12 @@ const AddressListUI = (props: AddressListParams) => {
167
179
  showCall={false}
168
180
  btnStyle={{ paddingLeft: 0 }}
169
181
  paddingTop={0}
170
- style={{ flexDirection: 'column', alignItems: 'flex-start' }}
182
+ style={{ marginTop: Platform.OS === 'ios' ? 0 : 40 }}
171
183
  titleWrapStyle={{ paddingHorizontal: 0 }}
172
184
  titleStyle={{ marginLeft: 0, marginRight: 0 }}
173
185
  />
174
186
  )}
175
- {addressList.loading && (
187
+ {addressList.loading && addressList?.addresses?.length === 0 && (
176
188
  <>
177
189
  {[...Array(5)].map((item, i) => (
178
190
  <Placeholder key={i} style={{ paddingVertical: 20 }} Animation={Fade}>
@@ -261,6 +273,32 @@ const AddressListUI = (props: AddressListParams) => {
261
273
  )}
262
274
  {!addressList.loading && !addressList.error && (
263
275
  <>
276
+ {addressList?.addresses?.length === 0 && (
277
+ <View
278
+ style={{
279
+ flexDirection: 'column',
280
+ paddingHorizontal: 10,
281
+ paddingTop: 20
282
+ }}
283
+ >
284
+ <OText
285
+ size={24}
286
+ lineHeight={36}
287
+ weight={Platform.OS === 'ios' ? '600' : 'bold'}
288
+ style={{
289
+ textAlign: 'center',
290
+ marginRight: 40,
291
+ color: theme.colors.textNormal,
292
+ paddingHorizontal: 0,
293
+ width: '100%',
294
+ marginLeft: 0
295
+ }}
296
+ >
297
+ {t('ADDRESS_LIST', 'Address List')}
298
+ </OText>
299
+ </View>
300
+ )}
301
+
264
302
  <OButton
265
303
  text={t('ADD_NEW_ADDRESS', 'Add new Address')}
266
304
  imgRightSrc=''