ordering-ui-react-native 0.15.24 → 0.15.26-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 (160) hide show
  1. package/package.json +5 -3
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessController/index.tsx +8 -2
  4. package/src/components/BusinessTypeFilter/index.tsx +12 -2
  5. package/src/components/BusinessTypeFilter/styles.tsx +1 -1
  6. package/src/components/BusinessesListing/index.tsx +1 -1
  7. package/src/components/Checkout/index.tsx +0 -1
  8. package/src/components/LanguageSelector/index.tsx +7 -2
  9. package/src/components/OrderDetails/index.tsx +2 -2
  10. package/src/components/PaymentOptions/index.tsx +9 -16
  11. package/src/components/PaymentOptionsWebView/index.tsx +123 -124
  12. package/src/components/SingleProductCard/index.tsx +16 -4
  13. package/src/components/StripeElementsForm/index.tsx +27 -48
  14. package/src/components/UserProfileForm/index.tsx +63 -6
  15. package/src/components/UserProfileForm/styles.tsx +8 -0
  16. package/src/components/VerifyPhone/styles.tsx +1 -2
  17. package/src/components/shared/OModal.tsx +1 -1
  18. package/src/config.json +0 -2
  19. package/src/hooks/useCountdownTimer.tsx +26 -0
  20. package/src/navigators/HomeNavigator.tsx +6 -0
  21. package/src/pages/BusinessProductsList.tsx +1 -0
  22. package/src/pages/BusinessesListing.tsx +1 -1
  23. package/src/pages/Checkout.tsx +1 -1
  24. package/src/pages/Sessions.tsx +22 -0
  25. package/src/types/index.tsx +5 -11
  26. package/src/utils/index.tsx +68 -1
  27. package/themes/business/index.tsx +2 -0
  28. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +103 -15
  29. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +6 -0
  30. package/themes/business/src/components/Chat/index.tsx +38 -86
  31. package/themes/business/src/components/Home/index.tsx +128 -55
  32. package/themes/business/src/components/Home/styles.tsx +8 -1
  33. package/themes/business/src/components/LoginForm/index.tsx +89 -2
  34. package/themes/business/src/components/LoginForm/styles.tsx +6 -0
  35. package/themes/business/src/components/NewOrderNotification/index.tsx +61 -98
  36. package/themes/business/src/components/OrderDetails/Business.tsx +2 -1
  37. package/themes/business/src/components/OrderDetails/Delivery.tsx +32 -15
  38. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +151 -89
  39. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +91 -17
  40. package/themes/business/src/components/OrderDetails/styles.tsx +7 -0
  41. package/themes/business/src/components/OrdersListManager/index.tsx +874 -0
  42. package/themes/business/src/components/OrdersListManager/styles.tsx +123 -0
  43. package/themes/business/src/components/OrdersListManager/utils.tsx +216 -0
  44. package/themes/business/src/components/OrdersOption/index.tsx +54 -50
  45. package/themes/business/src/components/PreviousOrders/index.tsx +75 -22
  46. package/themes/business/src/components/shared/OModal.tsx +1 -1
  47. package/themes/business/src/types/index.tsx +5 -1
  48. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  49. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  50. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  51. package/themes/kiosk/src/components/Cart/index.tsx +98 -24
  52. package/themes/kiosk/src/components/Cart/styles.tsx +6 -0
  53. package/themes/kiosk/src/components/CartBottomSheet/index.tsx +1 -1
  54. package/themes/kiosk/src/components/CartBottomSheet/styles.tsx +1 -1
  55. package/themes/kiosk/src/components/CartContent/index.tsx +13 -3
  56. package/themes/kiosk/src/components/CartItem/index.tsx +20 -8
  57. package/themes/kiosk/src/components/CustomerName/index.tsx +89 -88
  58. package/themes/kiosk/src/components/Intro/index.tsx +13 -13
  59. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  60. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  61. package/themes/kiosk/src/components/OrderDetails/index.tsx +136 -41
  62. package/themes/kiosk/src/components/OrderDetails/styles.tsx +5 -0
  63. package/themes/kiosk/src/components/OrderSummary/index.tsx +1 -1
  64. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +10 -12
  65. package/themes/kiosk/src/components/ProductForm/index.tsx +174 -125
  66. package/themes/kiosk/src/components/ProductForm/styles.tsx +1 -1
  67. package/themes/kiosk/src/components/ProductOption/index.tsx +1 -0
  68. package/themes/kiosk/src/components/ProductOption/styles.tsx +1 -0
  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 +178 -1
  73. package/themes/original/src/components/AddressForm/index.tsx +15 -10
  74. package/themes/original/src/components/AddressList/index.tsx +56 -18
  75. package/themes/original/src/components/AppleLogin/index.tsx +117 -78
  76. package/themes/original/src/components/BusinessBasicInformation/index.tsx +96 -45
  77. package/themes/original/src/components/BusinessBasicInformation/styles.tsx +28 -1
  78. package/themes/original/src/components/BusinessController/index.tsx +52 -22
  79. package/themes/original/src/components/BusinessController/styles.tsx +22 -0
  80. package/themes/original/src/components/BusinessFeaturedController/index.tsx +20 -1
  81. package/themes/original/src/components/BusinessFeaturedController/styles.tsx +23 -0
  82. package/themes/original/src/components/BusinessListingSearch/index.tsx +121 -7
  83. package/themes/original/src/components/BusinessListingSearch/styles.tsx +14 -1
  84. package/themes/original/src/components/BusinessMenuList/index.tsx +11 -4
  85. package/themes/original/src/components/BusinessPreorder/index.tsx +142 -122
  86. package/themes/original/src/components/BusinessProductsCategories/index.tsx +9 -7
  87. package/themes/original/src/components/BusinessProductsList/index.tsx +127 -20
  88. package/themes/original/src/components/BusinessProductsList/styles.tsx +29 -2
  89. package/themes/original/src/components/BusinessProductsListing/index.tsx +92 -37
  90. package/themes/original/src/components/BusinessProductsListing/styles.tsx +22 -0
  91. package/themes/original/src/components/BusinessReviews/index.tsx +4 -25
  92. package/themes/original/src/components/BusinessTypeFilter/index.tsx +1 -2
  93. package/themes/original/src/components/BusinessesListing/index.tsx +51 -58
  94. package/themes/original/src/components/Cart/index.tsx +19 -15
  95. package/themes/original/src/components/CartContent/index.tsx +2 -2
  96. package/themes/original/src/components/Checkout/index.tsx +42 -27
  97. package/themes/original/src/components/ForgotPasswordForm/index.tsx +84 -4
  98. package/themes/original/src/components/GoogleMap/index.tsx +1 -0
  99. package/themes/original/src/components/Help/index.tsx +21 -4
  100. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +97 -89
  101. package/themes/original/src/components/Home/index.tsx +1 -1
  102. package/themes/original/src/components/LastOrders/index.tsx +12 -1
  103. package/themes/original/src/components/LoginForm/Otp/index.tsx +90 -0
  104. package/themes/original/src/components/LoginForm/Otp/styles.tsx +7 -0
  105. package/themes/original/src/components/LoginForm/index.tsx +389 -156
  106. package/themes/original/src/components/LoginForm/styles.tsx +7 -4
  107. package/themes/original/src/components/LogoutButton/index.tsx +7 -1
  108. package/themes/original/src/components/MessageListing/index.tsx +10 -1
  109. package/themes/original/src/components/Messages/index.tsx +34 -25
  110. package/themes/original/src/components/Messages/styles.tsx +1 -3
  111. package/themes/original/src/components/MomentOption/index.tsx +10 -1
  112. package/themes/original/src/components/MomentOption/styles.tsx +1 -1
  113. package/themes/original/src/components/OrderDetails/index.tsx +35 -28
  114. package/themes/original/src/components/OrderDetails/styles.tsx +1 -2
  115. package/themes/original/src/components/OrderProgress/index.tsx +4 -4
  116. package/themes/original/src/components/OrderProgress/styles.tsx +1 -0
  117. package/themes/original/src/components/OrderSummary/index.tsx +3 -3
  118. package/themes/original/src/components/OrderTypeSelector/index.tsx +4 -2
  119. package/themes/original/src/components/OrdersOption/index.tsx +25 -33
  120. package/themes/original/src/components/OrdersOption/styles.tsx +0 -6
  121. package/themes/original/src/components/PaymentOptionCash/index.tsx +2 -2
  122. package/themes/original/src/components/PaymentOptionWallet/index.tsx +22 -24
  123. package/themes/original/src/components/PaymentOptionWallet/styles.tsx +1 -1
  124. package/themes/original/src/components/PaymentOptions/index.tsx +9 -19
  125. package/themes/original/src/components/PhoneInputNumber/index.tsx +1 -1
  126. package/themes/original/src/components/PreviousOrders/index.tsx +19 -13
  127. package/themes/original/src/components/ProductForm/index.tsx +76 -61
  128. package/themes/original/src/components/ProductForm/styles.tsx +2 -2
  129. package/themes/original/src/components/ProductItemAccordion/index.tsx +2 -2
  130. package/themes/original/src/components/ProductOptionSubOption/index.tsx +18 -12
  131. package/themes/original/src/components/Promotions/index.tsx +250 -0
  132. package/themes/original/src/components/Promotions/styles.tsx +60 -0
  133. package/themes/original/src/components/ReviewOrder/index.tsx +10 -9
  134. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  135. package/themes/original/src/components/Sessions/index.tsx +160 -0
  136. package/themes/original/src/components/Sessions/styles.tsx +15 -0
  137. package/themes/original/src/components/SingleProductCard/index.tsx +47 -21
  138. package/themes/original/src/components/SingleProductCard/styles.tsx +28 -1
  139. package/themes/original/src/components/StripeElementsForm/index.tsx +55 -72
  140. package/themes/original/src/components/TaxInformation/index.tsx +10 -4
  141. package/themes/original/src/components/UpsellingProducts/index.tsx +87 -71
  142. package/themes/original/src/components/UserDetails/index.tsx +4 -95
  143. package/themes/original/src/components/UserFormDetails/index.tsx +32 -31
  144. package/themes/original/src/components/UserProfile/index.tsx +62 -14
  145. package/themes/original/src/components/UserProfileForm/index.tsx +20 -18
  146. package/themes/original/src/components/VerifyPhone/index.tsx +10 -7
  147. package/themes/original/src/components/VerifyPhone/styles.tsx +2 -1
  148. package/themes/original/src/components/Wallets/index.tsx +76 -9
  149. package/themes/original/src/components/Wallets/styles.tsx +21 -0
  150. package/themes/original/src/components/shared/HeaderTitle.tsx +21 -0
  151. package/themes/original/src/components/shared/OModal.tsx +1 -1
  152. package/themes/original/src/components/shared/index.tsx +2 -0
  153. package/themes/original/src/config/constants.tsx +6 -6
  154. package/themes/original/src/types/index.tsx +62 -5
  155. package/themes/original/src/utils/index.tsx +28 -2
  156. package/themes/single-business/src/components/AddressList/index.tsx +1 -1
  157. package/themes/single-business/src/components/OrderTypeSelector/index.tsx +6 -6
  158. package/themes/single-business/src/components/UserProfile/index.tsx +1 -1
  159. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
  160. package/src/components/StripeMethodForm/index.tsx +0 -168
@@ -8,26 +8,26 @@ export const ORDER_TYPES = [
8
8
  {
9
9
  value: 1,
10
10
  content: 'DELIVERY',
11
- description: 'DELIVERY_DESCRIPTION'
11
+ description: 'ORDERTYPE_DESCRIPTION_DELIVERY'
12
12
  },
13
13
  {
14
14
  value: 2,
15
15
  content: 'PICKUP',
16
- description: 'PICKUP_DESCRIPTION',
16
+ description: 'ORDERTYPE_DESCRIPTION_PICKUP',
17
17
  },
18
18
  {
19
19
  value: 3,
20
20
  content: 'EAT_IN',
21
- description: 'EAT_IN_DESCRIPTION',
21
+ description: 'ORDERTYPE_DESCRIPTION_EATIN',
22
22
  },
23
23
  {
24
24
  value: 4,
25
25
  content: 'CURBSIDE',
26
- description: 'CURBSIDE_DESCRIPTION',
26
+ description: 'ORDERTYPE_DESCRIPTION_CURBSIDE',
27
27
  },
28
28
  {
29
29
  value: 5,
30
30
  content: 'DRIVE_THRU',
31
- description: 'DRIVE_THRU_DESCRIPTION',
31
+ description: 'ORDERTYPE_DESCRIPTION_DRIVETHRU',
32
32
  }
33
- ]
33
+ ]
@@ -17,6 +17,14 @@ export interface LoginParams {
17
17
  handleSendVerifyCode?: any;
18
18
  handleCheckPhoneCode?: any;
19
19
  notificationState?: any;
20
+ handleReCaptcha?: any;
21
+ enableReCaptcha?: any;
22
+ otpType?: string,
23
+ setOtpType: (type : string) => void,
24
+ generateOtpCode: (values ?: any) => void,
25
+ useLoginOtpEmail?: boolean,
26
+ useLoginOtpCellphone?: boolean,
27
+ useLoginOtp?: boolean
20
28
  }
21
29
  export interface ProfileParams {
22
30
  navigation?: any;
@@ -37,6 +45,8 @@ export interface ProfileParams {
37
45
  verifyPhoneState?: any;
38
46
  setCheckPhoneCodeState?: any;
39
47
  isVerifiedPhone?: any;
48
+ handleRemoveAccount?: any;
49
+ removeAccountState?: any;
40
50
  }
41
51
 
42
52
  export interface AddressListParams {
@@ -55,6 +65,7 @@ export interface AddressListParams {
55
65
  isFromProductsList?: boolean;
56
66
  afterSignup?: boolean;
57
67
  isFromCheckout?: boolean
68
+ loadAddresses: () => void
58
69
  }
59
70
 
60
71
  export interface AddressFormParams {
@@ -100,6 +111,8 @@ export interface SignupParams {
100
111
  handleCheckPhoneCode?: any;
101
112
  notificationState?: any;
102
113
  handleChangePromotions: () => void;
114
+ enableReCaptcha?: boolean;
115
+ handleReCaptcha?: () => void;
103
116
  }
104
117
 
105
118
  export interface PhoneInputParams {
@@ -116,6 +129,7 @@ export interface PhoneInputParams {
116
129
  flagStyle?: any;
117
130
  isDisabled?: any;
118
131
  isStartValidation?: any;
132
+ changeCountry?: any;
119
133
  }
120
134
 
121
135
  export interface LanguageSelectorParams {
@@ -139,6 +153,7 @@ export interface BusinessesListingParams {
139
153
  defaultBusinessType?: any;
140
154
  franchiseId?: any;
141
155
  businessId?: any;
156
+ isGuestUser?: any;
142
157
  }
143
158
  export interface HighestRatedBusinessesParams {
144
159
  businessesList: { businesses: Array<any>, loading: boolean, error: null | string };
@@ -157,7 +172,7 @@ export interface BusinessTypeFilterParams {
157
172
  setBusinessTypes?: any
158
173
  }
159
174
  export interface BusinessControllerParams {
160
- key?: number;
175
+ key?: string | number;
161
176
  business?: any;
162
177
  handleCustomClick?: any;
163
178
  orderType?: any;
@@ -166,7 +181,15 @@ export interface BusinessControllerParams {
166
181
  businessWillCloseSoonMinutes?: number
167
182
  isBusinessClose?: number,
168
183
  navigation?: any,
169
- style?: ViewStyle
184
+ style?: ViewStyle,
185
+ businessHeader?: string,
186
+ businessFeatured?: boolean,
187
+ businessLogo?: string,
188
+ businessReviews?: any,
189
+ businessDeliveryPrice?: number,
190
+ businessDeliveryTime?: string,
191
+ businessPickupTime?: string,
192
+ businessDistance?: number
170
193
  }
171
194
  export interface BusinessProductsListingParams {
172
195
  navigation?: any;
@@ -214,6 +237,7 @@ export interface BusinessProductsCategoriesParams {
214
237
  }
215
238
  export interface BusinessProductsListParams {
216
239
  errors?: any;
240
+ isFiltMode?: any;
217
241
  businessId?: number;
218
242
  category?: any;
219
243
  categories: Array<any>;
@@ -228,7 +252,11 @@ export interface BusinessProductsListParams {
228
252
  handleCancelSearch?: () => void,
229
253
  categoriesLayout?: any,
230
254
  setCategoriesLayout?: any,
231
- currentCart?: any
255
+ currentCart?: any,
256
+ setSubcategoriesSelected?: any,
257
+ subcategoriesSelected?: any,
258
+ onClickCategory?: any,
259
+ lazyLoadProductsRecommended?: boolean,
232
260
  }
233
261
  export interface SingleProductCardParams {
234
262
  businessId: any,
@@ -284,7 +312,9 @@ export interface OrdersOptionParams {
284
312
  ordersLength: { activeOrdersLength: number, previousOrdersLength: number },
285
313
  setSelectedOrderId?: any,
286
314
  setOpenMessges?: any,
287
- loadMoreStatus?: boolean
315
+ loadMoreStatus?: boolean,
316
+ refreshOrders?: boolean,
317
+ setRefreshOrders?: (value : boolean) => void
288
318
  }
289
319
  export interface ActiveOrdersParams {
290
320
  orders?: any,
@@ -470,6 +500,7 @@ export interface OrderTypeSelectParams {
470
500
  defaultValue?: number;
471
501
  configTypes?: Array<any>;
472
502
  orderTypes: Array<any>;
503
+ setOrderTypeValue?: (value : number) => any
473
504
  }
474
505
  export interface UpsellingProductsParams {
475
506
  isCustomMode?: boolean;
@@ -543,7 +574,8 @@ export interface BusinessSearchParams {
543
574
  filters: any,
544
575
  businessTypes: Array<number>,
545
576
  setFilters: (filters: any) => void,
546
- lazySearch?: boolean
577
+ lazySearch?: boolean,
578
+ brandList?: any;
547
579
  }
548
580
 
549
581
  export interface NoNetworkParams {
@@ -558,3 +590,28 @@ export interface PlaceSpotParams {
558
590
  getPlacesList?: any,
559
591
  setOpenPlaceModal?: any
560
592
  }
593
+
594
+ export interface PromotionParams {
595
+ navigation: any,
596
+ offersState: any,
597
+ handleSearchValue: any,
598
+ searchValue: string,
599
+ offerSelected: any,
600
+ setOfferSelected: any,
601
+ loadOffers: any
602
+ }
603
+ export interface SessionsParams {
604
+ navigation: any,
605
+ sessionsList: any,
606
+ actionState: any,
607
+ handleDeleteSession: any,
608
+ handleDeleteAllSessions: any
609
+ }
610
+
611
+ export interface otpParams {
612
+ willVerifyOtpState: boolean,
613
+ setWillVerifyOtpState: (val : boolean) => void,
614
+ onSubmit: () => void,
615
+ handleLoginOtp: (code : string) => void,
616
+ setAlertState: any
617
+ }
@@ -33,7 +33,8 @@ export const getTraduction = (key: string) => {
33
33
  ERROR_PLACE_PAY_WITH_CARD1: 'An error occurred while trying to pay by card',
34
34
  ERROR_PLACE_PAY_WITH_PAYPAL_CAPTURE: 'An error occurred while trying to pay by PayPal',
35
35
  ERROR_ADD_PRODUCT_VERY_FAR_FOR_DELIVERY: 'Error adding product, very far for delivery',
36
- ERROR_PRODUCT_NOT_FOUND: 'Error with the product'
36
+ ERROR_PRODUCT_NOT_FOUND: 'Error with the product',
37
+ ERROR_INVALID_OFFER: 'The offer doesn\'t exist'
37
38
  }
38
39
 
39
40
  return keyList[key] ? t(key, keyList[key]) : t(key)
@@ -170,6 +171,15 @@ export const getTypesText = (value: number) => {
170
171
  return ret?.content;
171
172
  }
172
173
 
174
+ /**
175
+ * List shape for ribbon
176
+ */
177
+ export const shape = {
178
+ rectangle: 'rectangle',
179
+ rectangleRound: 'rectangle_round',
180
+ capsuleShape: 'capsule_shape'
181
+ }
182
+
173
183
  /**
174
184
  * Function to transform degree to radian
175
185
  * @param {number} value for transform
@@ -202,4 +212,20 @@ export const formatUrlVideo = (url : string) => {
202
212
  const match = url.match(regExp)
203
213
  const id = (match && match[7].length === 11) ? match[7] : false
204
214
  return `https://www.youtube-nocookie.com/embed/${id}`
205
- }
215
+ }
216
+
217
+ export const formatSeconds = (seconds : number) => {
218
+ // Hours, minutes and seconds
219
+ var hrs = ~~(seconds / 3600)
220
+ var mins = ~~((seconds % 3600) / 60)
221
+ var secs = ~~seconds % 60
222
+
223
+ // Output like '1:01' or '4:03:59' or '123:03:59'
224
+ var ret = ''
225
+ if (hrs > 0) {
226
+ ret += '' + hrs + ':' + (mins < 10 ? '0' : '')
227
+ }
228
+ ret += '' + mins + ':' + (secs < 10 ? '0' : '')
229
+ ret += '' + secs
230
+ return ret
231
+ }
@@ -140,7 +140,7 @@ const AddressListUI = (props: AddressListParams) => {
140
140
  <AddressListContainer>
141
141
  {isProfile && (
142
142
  <NavBar
143
- title={t('MY_SAVED_PLACES', 'My saved places')}
143
+ title={t('SAVED_PLACES', 'My saved places')}
144
144
  titleAlign={'center'}
145
145
  onActionLeft={() => goToBack()}
146
146
  showCall={false}
@@ -58,7 +58,7 @@ const OrderTypeSelectorUI = (props: OrderTypeSelectParams) => {
58
58
  btnStyle={{ paddingLeft: 0 }}
59
59
  paddingTop={0}
60
60
  style={{ paddingBottom: 0 }}
61
- title={t('HOW_WILL_YOUR_ORDER_TYPE', 'How will your order type?')}
61
+ title={t('HOW_WILL_YOU_DELIVERY_TYPE', 'How will your order type?')}
62
62
  titleAlign={'center'}
63
63
  titleStyle={{ fontSize: 14 }}
64
64
  />
@@ -97,27 +97,27 @@ export const OrderTypeSelector = (props: any) => {
97
97
  {
98
98
  value: 1,
99
99
  content: t('DELIVERY', 'Delivery'),
100
- description: t('ORDERTYPE_DESCRIPTION_DELIVERY', 'Lorem ipsum dolor sit amet, consectetur.')
100
+ description: t('ORDERTYPE_DESCRIPTION_DELIVERY', 'Delivery description')
101
101
  },
102
102
  {
103
103
  value: 2,
104
104
  content: t('PICKUP', 'Pickup'),
105
- description: t('ORDERTYPE_DESCRIPTION_PICKUP', 'Lorem ipsum dolor sit amet, consectetur.')
105
+ description: t('ORDERTYPE_DESCRIPTION_PICKUP', 'Pickup description')
106
106
  },
107
107
  {
108
108
  value: 3,
109
109
  content: t('EAT_IN', 'Eat in'),
110
- description: t('ORDERTYPE_DESCRIPTION_EATIN', 'Lorem ipsum dolor sit amet, consectetur.')
110
+ description: t('ORDERTYPE_DESCRIPTION_EATIN', 'Eat in description')
111
111
  },
112
112
  {
113
113
  value: 4,
114
114
  content: t('CURBSIDE', 'Curbside'),
115
- description: t('ORDERTYPE_DESCRIPTION_CURBSIDE', 'Lorem ipsum dolor sit amet, consectetur.')
115
+ description: t('ORDERTYPE_DESCRIPTION_CURBSIDE', 'Curbside description')
116
116
  },
117
117
  {
118
118
  value: 5,
119
119
  content: t('DRIVE_THRU', 'Drive thru'),
120
- description: t('ORDERTYPE_DESCRIPTION_DRIVETHRU', 'Lorem ipsum dolor sit amet, consectetur.')
120
+ description: t('ORDERTYPE_DESCRIPTION_DRIVETHRU', 'Drive Thru description')
121
121
  }
122
122
  ]
123
123
  }
@@ -154,7 +154,7 @@ const ProfileListUI = (props: ProfileParams) => {
154
154
  <Actions>
155
155
  <ListItem onPress={() => onRedirect('AddressList', { isFromProfile: true, isGoBack: true })} activeOpacity={0.7}>
156
156
  <OIcon src={theme.images.general.pin} width={16} color={theme.colors.textNormal} style={{ marginEnd: 14 }} />
157
- <OText size={14} lineHeight={24} weight={'400'} color={theme.colors.textNormal}>{t('MY_SAVED_PLACES', 'My saved places')}</OText>
157
+ <OText size={14} lineHeight={24} weight={'400'} color={theme.colors.textNormal}>{t('SAVED_PLACES', 'My saved places')}</OText>
158
158
  </ListItem>
159
159
  <ListItem onPress={() => navigation.navigate('Help', {})} activeOpacity={0.7}>
160
160
  <OIcon src={theme.images.general.help} width={16} color={theme.colors.textNormal} style={{ marginEnd: 14 }} />
@@ -144,7 +144,7 @@ const BusinessesListingUI = (props: BusinessesListingParams) => {
144
144
  {isFarAway && (
145
145
  <FarAwayMessage style={styles.farAwayMsg}>
146
146
  <Ionicons name='md-warning-outline' style={styles.iconStyle} />
147
- <OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', 'You are far from this address')}</OText>
147
+ <OText size={12} numberOfLines={1} ellipsizeMode={'tail'} color={theme.colors.textNormal}>{t('YOU_ARE_FAR_FROM_ADDRESS', 'Your are far from this address')}</OText>
148
148
  </FarAwayMessage>
149
149
  )}
150
150
  <View style={styles.wrapperOrderOptions}>
@@ -1,168 +0,0 @@
1
- import React, { useState, useEffect } from 'react'
2
- import { useLanguage } from 'ordering-components/native'
3
- import { useGooglePay, ApplePayButton, useApplePay } from '@stripe/stripe-react-native'
4
- import { OButton } from '../shared';
5
- import { Platform, View } from 'react-native';
6
- import { StripeMethodFormParams } from '../../types';
7
- import Spinner from 'react-native-loading-spinner-overlay';
8
- import { android_app_id } from '../../config.json'
9
- export const StripeMethodForm = (props: StripeMethodFormParams) => {
10
- const {
11
- cart,
12
- handleSource,
13
- onCancel,
14
- setErrors,
15
- paymethod,
16
- devMode
17
- } = props
18
- const { initGooglePay, createGooglePayPaymentMethod, loading } = useGooglePay();
19
- const { presentApplePay, isApplePaySupported } = useApplePay();
20
- const [initialized, setInitialized] = useState(false);
21
- const [loadingGooglePayment, setLoadingGooglePayment] = useState(false)
22
- const [, t] = useLanguage()
23
-
24
- useEffect(() => {
25
- if (paymethod !== 'google_pay' || !initGooglePay) return
26
- if (Platform.OS === 'ios') {
27
- setErrors(t('GOOGLE_PAY_NOT_SUPPORTED', 'Google pay not supported'))
28
- return
29
- }
30
- const initialize = async () => {
31
- try {
32
- const { error } = await initGooglePay({
33
- testEnv: devMode,
34
- merchantName: android_app_id,
35
- countryCode: 'US',
36
- billingAddressConfig: {
37
- format: 'FULL',
38
- isPhoneNumberRequired: true,
39
- isRequired: false,
40
- },
41
- existingPaymentMethodRequired: false,
42
- isEmailRequired: true,
43
- });
44
-
45
- if (error) {
46
- setErrors(error.code + ' - ' + error.message);
47
- return;
48
- }
49
- setInitialized(true);
50
- } catch (err: any) {
51
- setErrors('Catch ' + err?.message)
52
- }
53
- }
54
- initialize();
55
- }, [initGooglePay]);
56
-
57
- useEffect(() => {
58
- if (paymethod !== 'apple_pay') return
59
- if (Platform.OS === 'android') {
60
- setErrors(t('APPLE_PAY_NOT_SUPPORTED', 'Apple pay not supported'))
61
- return
62
- }
63
- }, [])
64
-
65
- const createPaymentMethod = async () => {
66
- setLoadingGooglePayment(true)
67
- const { error, paymentMethod } = await createGooglePayPaymentMethod({
68
- amount: cart?.balance ?? cart?.total,
69
- currencyCode: 'USD',
70
- });
71
- if (error) {
72
- setErrors(error.code + ' - ' + error.message);
73
- setLoadingGooglePayment(false)
74
- return;
75
- } else if (paymentMethod) {
76
- handleSource({
77
- ...paymentMethod?.Card,
78
- id: paymentMethod.id,
79
- type: paymentMethod.type,
80
- source_id: paymentMethod?.id,
81
- card: {
82
- brand: paymentMethod.Card.brand,
83
- last4: paymentMethod.Card.last4
84
- }
85
- })
86
- onCancel()
87
- setLoadingGooglePayment(false)
88
- }
89
- };
90
-
91
- const pay = async () => {
92
- if (!isApplePaySupported) {
93
- setErrors(t('APPLE_PAY_NOT_SUPPORTED', 'Apple pay not supported'))
94
- return
95
- }
96
-
97
- const { error, paymentMethod } = await presentApplePay({
98
- cartItems: cart?.products?.map((product: any) => ({ label: product?.name, amount: product?.price?.toString?.() })),
99
- country: 'US',
100
- currency: 'USD',
101
- shippingMethods: [
102
- {
103
- amount: cart?.balance?.toString() ?? cart?.total?.toString?.(),
104
- identifier: 'DPS',
105
- label: 'Courier',
106
- detail: 'Delivery',
107
- type: 'final',
108
- },
109
- ],
110
-
111
- requiredShippingAddressFields: ['emailAddress', 'phoneNumber'],
112
- requiredBillingContactFields: ['phoneNumber', 'name'],
113
- });
114
- if (error) {
115
- setErrors(error.code + ' - ' + error.message);
116
- } else if (paymentMethod) {
117
- handleSource({
118
- ...paymentMethod?.Card,
119
- id: paymentMethod.id,
120
- type: paymentMethod.type,
121
- source_id: paymentMethod?.id,
122
- card: {
123
- brand: paymentMethod.Card.brand,
124
- last4: paymentMethod.Card.last4
125
- }
126
- })
127
- onCancel()
128
- }
129
- }
130
-
131
- return (
132
- <>
133
- {paymethod === 'google_pay' ? (
134
- <View>
135
- <OButton
136
- textStyle={{
137
- color: '#fff'
138
- }}
139
- imgRightSrc={null}
140
- onClick={createPaymentMethod}
141
- isDisabled={loading || !initialized}
142
- text={t('PAY_WITH_GOOGLE_PAY', 'Pay with Google Pay')}
143
- isLoading={loading || !initialized}
144
- style={{ marginTop: 20 }}
145
- />
146
- </View>
147
- ) : (
148
- <View>
149
- {isApplePaySupported && (
150
- <ApplePayButton
151
- onPress={pay}
152
- type="plain"
153
- buttonStyle="black"
154
- borderRadius={4}
155
- style={{
156
- width: '100%',
157
- height: 50,
158
- }}
159
- />
160
- )}
161
- </View>
162
- )}
163
- <Spinner
164
- visible={loadingGooglePayment}
165
- />
166
- </>
167
- )
168
- }