ordering-ui-react-native 0.21.76 → 0.21.77-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 (164) hide show
  1. package/package.json +6 -7
  2. package/src/DeliveryApp.tsx +43 -1
  3. package/src/components/BusinessesListing/index.tsx +1 -1
  4. package/src/components/PaymentOptionsWebView/index.tsx +1 -0
  5. package/src/components/StripeMethodForm/index.tsx +6 -4
  6. package/src/components/VerifyPhone/styles.tsx +1 -2
  7. package/src/types/index.tsx +3 -1
  8. package/themes/business/index.tsx +4 -0
  9. package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
  10. package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
  11. package/themes/business/src/components/BusinessProductList/index.tsx +2 -1
  12. package/themes/business/src/components/Chat/index.tsx +3 -1
  13. package/themes/business/src/components/DriverMap/index.tsx +44 -27
  14. package/themes/business/src/components/GoogleMap/index.tsx +15 -8
  15. package/themes/business/src/components/Home/index.tsx +5 -1
  16. package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
  17. package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
  18. package/themes/business/src/components/LogoutButton/index.tsx +1 -1
  19. package/themes/business/src/components/MapView/index.tsx +36 -17
  20. package/themes/business/src/components/NewOrderNotification/index.tsx +74 -24
  21. package/themes/business/src/components/OrderDetails/Business.tsx +65 -7
  22. package/themes/business/src/components/OrderDetails/Delivery.tsx +35 -20
  23. package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +110 -40
  24. package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +61 -35
  25. package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
  26. package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +220 -0
  27. package/themes/business/src/components/OrderSummary/index.tsx +222 -72
  28. package/themes/business/src/components/OrdersListManager/index.tsx +9 -1
  29. package/themes/business/src/components/OrdersOption/index.tsx +247 -159
  30. package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
  31. package/themes/business/src/components/PreviousMessages/index.tsx +12 -0
  32. package/themes/business/src/components/PreviousOrders/OrderItem.tsx +25 -15
  33. package/themes/business/src/components/PreviousOrders/index.tsx +5 -3
  34. package/themes/business/src/components/PrinterEdition/index.tsx +363 -0
  35. package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
  36. package/themes/business/src/components/PrinterSettings/index.tsx +267 -0
  37. package/themes/business/src/components/PrinterSettings/styles.tsx +30 -0
  38. package/themes/business/src/components/ProductItemAccordion/index.tsx +2 -2
  39. package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
  40. package/themes/business/src/components/Sessions/index.tsx +187 -0
  41. package/themes/business/src/components/Sessions/styles.tsx +20 -0
  42. package/themes/business/src/components/StoresList/index.tsx +2 -2
  43. package/themes/business/src/components/UserFormDetails/index.tsx +111 -107
  44. package/themes/business/src/components/UserProfileForm/index.tsx +85 -49
  45. package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
  46. package/themes/business/src/components/shared/OInput.tsx +2 -0
  47. package/themes/business/src/components/shared/OTextarea.tsx +8 -9
  48. package/themes/business/src/hooks/useLocation.tsx +5 -4
  49. package/themes/business/src/types/index.tsx +22 -4
  50. package/themes/business/src/utils/index.tsx +19 -1
  51. package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
  52. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  53. package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
  54. package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
  55. package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
  56. package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
  57. package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
  58. package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
  59. package/themes/original/index.tsx +13 -1
  60. package/themes/original/src/components/AddressDetails/index.tsx +20 -10
  61. package/themes/original/src/components/AddressForm/index.tsx +32 -17
  62. package/themes/original/src/components/AddressList/index.tsx +8 -7
  63. package/themes/original/src/components/AnalyticsSegment/index.tsx +6 -6
  64. package/themes/original/src/components/AppleLogin/index.tsx +4 -4
  65. package/themes/original/src/components/BusinessBasicInformation/index.tsx +6 -9
  66. package/themes/original/src/components/BusinessController/index.tsx +12 -7
  67. package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
  68. package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +2 -3
  69. package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +1 -3
  70. package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
  71. package/themes/original/src/components/BusinessPreorder/index.tsx +20 -15
  72. package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +5 -5
  73. package/themes/original/src/components/BusinessProductsList/index.tsx +3 -3
  74. package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
  75. package/themes/original/src/components/BusinessProductsListing/index.tsx +20 -8
  76. package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
  77. package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
  78. package/themes/original/src/components/BusinessesListing/Layout/Original/index.tsx +1 -1
  79. package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
  80. package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
  81. package/themes/original/src/components/Cart/index.tsx +39 -12
  82. package/themes/original/src/components/CartContent/index.tsx +21 -8
  83. package/themes/original/src/components/Checkout/index.tsx +32 -20
  84. package/themes/original/src/components/CitiesControl/index.tsx +0 -3
  85. package/themes/original/src/components/CouponControl/index.tsx +1 -3
  86. package/themes/original/src/components/DriverTips/index.tsx +1 -3
  87. package/themes/original/src/components/Favorite/index.tsx +1 -5
  88. package/themes/original/src/components/FavoriteList/index.tsx +0 -1
  89. package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
  90. package/themes/original/src/components/GiftCard/GiftCardOrdersList/index.tsx +64 -0
  91. package/themes/original/src/components/GiftCard/GiftCardOrdersList/styles.tsx +8 -0
  92. package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
  93. package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
  94. package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
  95. package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
  96. package/themes/original/src/components/GiftCard/SingleGiftCard/index.tsx +101 -0
  97. package/themes/original/src/components/GiftCard/SingleGiftCard/styles.tsx +4 -0
  98. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +82 -0
  99. package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/styles.tsx +9 -0
  100. package/themes/original/src/components/GoogleMap/index.tsx +39 -18
  101. package/themes/original/src/components/Help/index.tsx +2 -0
  102. package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
  103. package/themes/original/src/components/Home/index.tsx +2 -10
  104. package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
  105. package/themes/original/src/components/LoginForm/index.tsx +4 -7
  106. package/themes/original/src/components/MessageListing/index.tsx +1 -0
  107. package/themes/original/src/components/Messages/index.tsx +8 -7
  108. package/themes/original/src/components/MomentOption/index.tsx +13 -2
  109. package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
  110. package/themes/original/src/components/MultiCheckout/index.tsx +112 -90
  111. package/themes/original/src/components/MultiOrdersDetails/index.tsx +20 -14
  112. package/themes/original/src/components/MyOrders/index.tsx +21 -26
  113. package/themes/original/src/components/NavBar/index.tsx +4 -2
  114. package/themes/original/src/components/NetworkError/index.tsx +0 -5
  115. package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
  116. package/themes/original/src/components/OrderDetails/OrderEta.tsx +1 -1
  117. package/themes/original/src/components/OrderDetails/OrderHistory.tsx +5 -7
  118. package/themes/original/src/components/OrderDetails/index.tsx +26 -9
  119. package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
  120. package/themes/original/src/components/OrderProgress/index.tsx +22 -3
  121. package/themes/original/src/components/OrderSummary/index.tsx +23 -5
  122. package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
  123. package/themes/original/src/components/OrdersOption/index.tsx +2 -4
  124. package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
  125. package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
  126. package/themes/original/src/components/PaymentOptions/index.tsx +46 -5
  127. package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
  128. package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
  129. package/themes/original/src/components/ProductForm/ActionButton.tsx +16 -19
  130. package/themes/original/src/components/ProductForm/index.tsx +108 -105
  131. package/themes/original/src/components/ProductItemAccordion/index.tsx +55 -49
  132. package/themes/original/src/components/ProductItemAccordion/styles.tsx +3 -4
  133. package/themes/original/src/components/ProductOptionSubOption/index.tsx +8 -1
  134. package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
  135. package/themes/original/src/components/Promotions/index.tsx +6 -9
  136. package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
  137. package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
  138. package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
  139. package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
  140. package/themes/original/src/components/ServiceForm/index.tsx +52 -54
  141. package/themes/original/src/components/Sessions/index.tsx +3 -3
  142. package/themes/original/src/components/SignupForm/index.tsx +86 -78
  143. package/themes/original/src/components/SingleOrderCard/index.tsx +1 -2
  144. package/themes/original/src/components/SingleProductCard/index.tsx +5 -6
  145. package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
  146. package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
  147. package/themes/original/src/components/StripeCardsList/index.tsx +10 -35
  148. package/themes/original/src/components/StripeElementsForm/index.tsx +78 -59
  149. package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
  150. package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
  151. package/themes/original/src/components/TaxInformation/index.tsx +3 -2
  152. package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
  153. package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
  154. package/themes/original/src/components/UserFormDetails/index.tsx +98 -87
  155. package/themes/original/src/components/UserProfile/index.tsx +11 -2
  156. package/themes/original/src/components/Wallets/index.tsx +6 -3
  157. package/themes/original/src/components/WebsocketStatus/index.tsx +169 -0
  158. package/themes/original/src/components/WebsocketStatus/styles.tsx +28 -0
  159. package/themes/original/src/components/shared/OAlert.tsx +2 -1
  160. package/themes/original/src/components/shared/OButton.tsx +5 -4
  161. package/themes/original/src/components/shared/OInput.tsx +4 -8
  162. package/themes/original/src/types/index.tsx +5 -1
  163. package/themes/original/src/utils/index.tsx +12 -1
  164. package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
@@ -26,16 +26,13 @@ export const StripeCardsListUI = (props: any) => {
26
26
  const {
27
27
  onSelectCard,
28
28
  deleteCard,
29
- cardSelected,
30
29
  cardsList,
31
30
  handleCardClick,
32
31
  onOpen,
33
- onCancel,
34
32
  gateway,
35
- setCardsList,
36
- addCardOpen,
37
- isOpenMethod,
38
- handlePaymethodDataChange
33
+ paySelected,
34
+ newCardAdded,
35
+ addNewCardAsDefault
39
36
  } = props;
40
37
 
41
38
  const theme = useTheme();
@@ -59,6 +56,12 @@ export const StripeCardsListUI = (props: any) => {
59
56
  }
60
57
  }, [cardsList?.loading])
61
58
 
59
+ useEffect(() => {
60
+ if (newCardAdded && addNewCardAsDefault) {
61
+ handleCardSelected(newCardAdded)
62
+ }
63
+ }, [JSON.stringify(newCardAdded)])
64
+
62
65
  return (
63
66
  <>
64
67
  {token && !cardsList.loading && cardsList.cards && cardsList.cards.length === 0 && (
@@ -98,10 +101,9 @@ export const StripeCardsListUI = (props: any) => {
98
101
  >
99
102
  {cardsList.cards.map((card: any) => (
100
103
  <OSItem key={card.id} isUnique={cardsList.cards.length} isInvalid={!card?.zipcode && validateZipcodeCard}>
101
- {console.log(card?.zipcode && validateZipcodeCard)}
102
104
  <OSItemContent onPress={() => handleCardSelected(card)}>
103
105
  <View style={styles.viewStyle}>
104
- {card.id === cardSelected?.id ? (
106
+ {(card.id === paySelected?.data?.id) ? (
105
107
  <OIcon
106
108
  src={theme.images.general.radio_act}
107
109
  width={16}
@@ -148,33 +150,6 @@ export const StripeCardsListUI = (props: any) => {
148
150
  ))}
149
151
  </ScrollView>
150
152
  )}
151
- <OModal
152
- entireModal
153
- title={t('ADD_CREDIT_OR_DEBIT_CARD', 'Add credit or debit card')}
154
- open={addCardOpen?.stripe}
155
- onClose={onCancel}
156
- style={{ backgroundColor: 'red' }}
157
- >
158
- <KeyboardAvoidingView
159
- behavior={Platform.OS == 'ios' ? 'padding' : 'height'}
160
- keyboardVerticalOffset={Platform.OS == 'ios' ? 0 : 0}
161
- enabled={Platform.OS === 'ios' ? true : false}
162
- >
163
- <StripeElementsForm
164
- openCarts={props.openCarts}
165
- toSave
166
- businessId={props.businessId}
167
- businessIds={props.businessIds}
168
- publicKey={props.publicKey || isOpenMethod?.paymethod?.credentials?.publishable}
169
- setCardsList={setCardsList}
170
- cardsList={cardsList}
171
- requirements={props.clientSecret}
172
- handleCardClick={handleCardClick}
173
- onSelectCard={handlePaymethodDataChange}
174
- onCancel={onCancel}
175
- />
176
- </KeyboardAvoidingView>
177
- </OModal>
178
153
  </>
179
154
  )
180
155
  }
@@ -9,7 +9,7 @@ import {
9
9
  } from '@stripe/stripe-react-native';
10
10
  import { useTheme } from 'styled-components/native';
11
11
  import { ErrorMessage } from './styles';
12
-
12
+ import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
13
13
  import { StripeElementsForm as StripeFormController } from './naked';
14
14
  import { OButton, OText } from '../shared';
15
15
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
@@ -17,7 +17,7 @@ import { StripeMethodForm } from '../../../../../src/components/StripeMethodForm
17
17
 
18
18
  const StripeElementsFormUI = (props: any) => {
19
19
  const {
20
- publicKey,
20
+ publicKeyState,
21
21
  handleSource,
22
22
  values,
23
23
  businessId,
@@ -33,7 +33,12 @@ const StripeElementsFormUI = (props: any) => {
33
33
  placeByMethodPay,
34
34
  methodPaySupported,
35
35
  setPlaceByMethodPay,
36
- cartTotal
36
+ cartTotal,
37
+ publicKeyAddCard,
38
+ urlscheme,
39
+ androidAppId,
40
+ businessNames,
41
+ setNewCardAdded
37
42
  } = props;
38
43
 
39
44
  const theme = useTheme();
@@ -52,6 +57,7 @@ const StripeElementsFormUI = (props: any) => {
52
57
  const [isKeyboardShow, setIsKeyboardShow] = useState(false);
53
58
  const zipCodeEnabled = validationFields?.fields?.card?.zipcode?.enabled
54
59
  const zipCodeRequired = validationFields?.fields?.card?.zipcode?.required
60
+ const isToSave = methodsPay?.includes(paymethod) ? publicKeyState?.key : (publicKeyAddCard || publicKeyState?.key)
55
61
  const styles = StyleSheet.create({
56
62
  container: {
57
63
  width: '100%',
@@ -145,6 +151,10 @@ const StripeElementsFormUI = (props: any) => {
145
151
  const _isNewCard = index === 0
146
152
  stripeTokenHandler(setupIntent?.paymentMethodId, user, businessId, _isNewCard);
147
153
  })
154
+ setNewCardAdded?.({
155
+ ...card,
156
+ id: setupIntent?.paymentMethodId
157
+ })
148
158
  } else {
149
159
  stripeTokenHandler(setupIntent?.paymentMethodId, user, businessId);
150
160
  }
@@ -197,69 +207,79 @@ const StripeElementsFormUI = (props: any) => {
197
207
 
198
208
  return (
199
209
  <View style={{ ...styles.container, height: methodsPay?.includes(paymethod) ? 'auto' : height - top - bottom - 60 - (isKeyboardShow ? 250 : 0) }}>
200
- {publicKey ? (
201
- <View style={{ flex: 1 }}>
202
- <StripeProvider
203
- publishableKey={publicKey}
204
- merchantIdentifier={merchantId}
205
- urlScheme={merchantId}
206
- >
207
- {methodsPay?.includes(paymethod) ? (
208
- <StripeMethodForm
209
- handleSource={handleSource}
210
- onCancel={onCancel}
211
- cart={cart}
212
- cartTotal={cartTotal}
213
- setErrors={setErrors}
214
- paymethod={paymethod}
215
- devMode={publicKey?.includes('test')}
216
- setMethodPaySupported={setMethodPaySupported}
217
- placeByMethodPay={placeByMethodPay}
218
- methodPaySupported={methodPaySupported}
219
- setPlaceByMethodPay={setPlaceByMethodPay}
220
- />
221
- ) : (
222
- <CardField
223
- postalCodeEnabled={zipCodeEnabled}
224
- cardStyle={{
225
- backgroundColor: '#FFFFFF',
226
- textColor: '#000000',
227
- borderWidth: 1,
228
- borderRadius: 8,
229
- borderColor: theme.colors.border
230
- }}
231
- style={{
232
- width: '100%',
233
- height: 50,
234
- marginVertical: 30,
235
- zIndex: 9999,
236
- }}
237
- onCardChange={(cardDetails: any) => setCard(cardDetails)}
238
- />
239
- )}
240
- </StripeProvider>
241
- {!!errors && (
210
+ {publicKeyState.loading ? (
211
+ <Placeholder Animation={Fade}>
212
+ <PlaceholderLine height={50} style={{ marginTop: 20 }} />
213
+ </Placeholder>
214
+ ) : (
215
+ <>
216
+ {publicKeyState?.key ? (
217
+ <View style={{ flex: 1 }}>
218
+ <StripeProvider
219
+ publishableKey={isToSave}
220
+ merchantIdentifier={merchantId}
221
+ urlscheme={`${urlscheme}://checkout/${cart?.uuid}`}
222
+ >
223
+ {methodsPay?.includes(paymethod) ? (
224
+ <StripeMethodForm
225
+ handleSource={handleSource}
226
+ onCancel={onCancel}
227
+ cart={cart}
228
+ cartTotal={cartTotal}
229
+ setErrors={setErrors}
230
+ paymethod={paymethod}
231
+ devMode={publicKeyState?.key?.includes('test')}
232
+ setMethodPaySupported={setMethodPaySupported}
233
+ placeByMethodPay={placeByMethodPay}
234
+ methodPaySupported={methodPaySupported}
235
+ setPlaceByMethodPay={setPlaceByMethodPay}
236
+ androidAppId={androidAppId}
237
+ businessNames={businessNames}
238
+ />
239
+ ) : (
240
+ <CardField
241
+ postalCodeEnabled={zipCodeEnabled}
242
+ cardStyle={{
243
+ backgroundColor: '#FFFFFF',
244
+ textColor: '#000000',
245
+ borderWidth: 1,
246
+ borderRadius: 8,
247
+ borderColor: theme.colors.border
248
+ }}
249
+ style={{
250
+ width: '100%',
251
+ height: 50,
252
+ marginVertical: 30,
253
+ zIndex: 9999,
254
+ }}
255
+ onCardChange={(cardDetails: any) => setCard(cardDetails)}
256
+ />
257
+ )}
258
+ </StripeProvider>
259
+ {!!errors && (
260
+ <ErrorMessage>
261
+ <OText
262
+ size={20}
263
+ color={theme.colors.error}
264
+ style={{ marginTop: 20, textAlign: 'center' }}
265
+ >
266
+ {errors}
267
+ </OText>
268
+ </ErrorMessage>
269
+ )}
270
+ </View>
271
+ ) : (
242
272
  <ErrorMessage>
243
273
  <OText
244
274
  size={20}
245
275
  color={theme.colors.error}
246
- style={{ marginTop: 20, textAlign: 'center' }}
276
+ style={{ marginTop: 20 }}
247
277
  >
248
- {errors}
278
+ {t('SOMETHING_WRONG', 'Something is wrong!')}
249
279
  </OText>
250
280
  </ErrorMessage>
251
281
  )}
252
- </View>
253
- ) : (
254
- <ErrorMessage>
255
- <OText
256
- size={20}
257
- color={theme.colors.error}
258
- style={{ marginTop: 20 }}
259
- >
260
- {t('SOMETHING_WRONG', 'Something is wrong!')}
261
- </OText>
262
- </ErrorMessage>
282
+ </>
263
283
  )}
264
284
  {!methodsPay?.includes(paymethod) && (
265
285
  <OButton
@@ -267,7 +287,6 @@ const StripeElementsFormUI = (props: any) => {
267
287
  bgColor={isCompleted ? theme.colors.primary : theme.colors.backgroundGray}
268
288
  borderColor={isCompleted ? theme.colors.primary : theme.colors.backgroundGray}
269
289
  style={styles.btnAddStyle}
270
- textStyle={{ color: 'white' }}
271
290
  imgRightSrc={null}
272
291
  onClick={() => handleSaveCard()}
273
292
  isDisabled={!isCompleted}
@@ -13,6 +13,7 @@ export const StripeElementsForm = (props: any) => {
13
13
  const [ordering] = useApi();
14
14
  const [{ token }] = useSession();
15
15
  const [state, setState] = useState({ loading: false, loadingAdd: false, error: null, requirements: null });
16
+ const [publicKeyState, setPublicKeyState] = useState({ key: props.publicKey, loading: true, error: null })
16
17
 
17
18
  const getRequirements = async () => {
18
19
  try {
@@ -52,7 +53,7 @@ export const StripeElementsForm = (props: any) => {
52
53
  const result = await fetch(`${ordering.root}/payments/stripe/cards`, {
53
54
  method: 'POST',
54
55
  headers: {
55
- Authorization: `Bearer ${user?.session?.access_token}`,
56
+ Authorization: `Bearer ${token}`,
56
57
  'Content-Type': 'application/json'
57
58
  },
58
59
  body: JSON.stringify({
@@ -85,6 +86,51 @@ export const StripeElementsForm = (props: any) => {
85
86
  }
86
87
  }
87
88
 
89
+ /**
90
+ * Method to get stripe credentials from API
91
+ */
92
+ const getCredentials = async () => {
93
+ try {
94
+ setPublicKeyState({
95
+ ...publicKeyState,
96
+ loading: true
97
+ })
98
+ const { content: { result, error } } = await ordering.setAccessToken(token).paymentCards().getCredentials()
99
+ if (!error) {
100
+ setPublicKeyState({
101
+ loading: false,
102
+ key: result.publishable,
103
+ error: null
104
+ })
105
+ } else {
106
+ setPublicKeyState({
107
+ ...publicKeyState,
108
+ loading: false,
109
+ error: result
110
+ })
111
+ }
112
+ } catch (error) {
113
+ setPublicKeyState({
114
+ ...publicKeyState,
115
+ loading: false,
116
+ error: error.message
117
+ })
118
+ }
119
+ }
120
+
121
+ useEffect(() => {
122
+ if (!token) return
123
+ if (props.publicKey) {
124
+ setPublicKeyState({
125
+ loading: false,
126
+ key: props.publicKey,
127
+ error: null
128
+ })
129
+ } else {
130
+ getCredentials()
131
+ }
132
+ }, [token, props.publicKey])
133
+
88
134
  useEffect(() => {
89
135
  if (!token || state.requirements) return
90
136
  toSave && getRequirements()
@@ -96,6 +142,7 @@ export const StripeElementsForm = (props: any) => {
96
142
  values={state}
97
143
  requirements={state.requirements}
98
144
  stripeTokenHandler={stripeTokenHandler}
145
+ publicKeyState={publicKeyState}
99
146
  />
100
147
  )
101
148
  }
@@ -138,9 +138,6 @@ const StripeRedirectFormUI = (props: any) => {
138
138
  <OButton
139
139
  // text={formState.isSubmitting ? t('LOADING', 'Loading...') : t('OK', 'OK')}
140
140
  text={t('OK', 'OK')}
141
- bgColor={theme.colors.primary}
142
- borderColor={theme.colors.primary}
143
- textStyle={{ color: 'white' }}
144
141
  imgRightSrc={null}
145
142
  // isDisabled={formState.isSubmitting}
146
143
  // onClick={() => handleSubmit(onSubmit)}
@@ -14,7 +14,8 @@ interface taxInformationParams {
14
14
  percentage?: number,
15
15
  id: number,
16
16
  discounts?: any,
17
- rate_type?: number
17
+ rate_type?: number,
18
+ target?: string
18
19
  },
19
20
  products: Array<any>,
20
21
  type: string
@@ -34,7 +35,7 @@ export const TaxInformation = (props: taxInformationParams) => {
34
35
  const offersHideArray = ['offer_target_2', 'offer_target_3']
35
36
  const hideProductsSectionOffers = offersHideArray.includes(type)
36
37
  const dataHideArray : Array<string | number> = ['platform', 'business']
37
- const hideProductsSectionData = dataHideArray.includes(data.type)
38
+ const hideProductsSectionData = dataHideArray.includes(data.type) || data?.target === 'delivery_fee'
38
39
 
39
40
  const getFilterValidation = (product: any) => {
40
41
  return (
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from 'react'
2
- import { Platform, StyleSheet, View } from 'react-native'
2
+ import { Platform, StyleSheet, View, Vibration } from 'react-native'
3
3
  import {
4
4
  useLanguage,
5
5
  useOrder,
@@ -20,7 +20,7 @@ import IconAntDesign from 'react-native-vector-icons/AntDesign';
20
20
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
21
21
  import { UpsellingLayout } from './UpsellingLayout';
22
22
 
23
- export const UpsellingContent = (props : any) => {
23
+ export const UpsellingContent = (props: any) => {
24
24
  const {
25
25
  onGoBack,
26
26
  handleUpsellingPage,
@@ -44,12 +44,10 @@ export const UpsellingContent = (props : any) => {
44
44
  const commentDelayTime = isChewLayout ? 500 : null
45
45
 
46
46
  const cartList = (carts && Object.values(carts).filter((_cart: any) => _cart?.products?.length > 0 && _cart.uuid !== cart?.uuid)) || []
47
-
47
+
48
48
  const styles = StyleSheet.create({
49
49
  closeUpsellingButton: {
50
50
  borderRadius: 7.6,
51
- borderColor: theme.colors.primary,
52
- backgroundColor: theme.colors.primary,
53
51
  borderWidth: 1,
54
52
  alignSelf: 'center',
55
53
  height: 44,
@@ -92,6 +90,11 @@ export const UpsellingContent = (props : any) => {
92
90
  setShowTitle(contentOffset.y > 30)
93
91
  }
94
92
 
93
+ const handleClickCheckout = () => {
94
+ Vibration.vibrate(100)
95
+ handleUpsellingPage(cart)
96
+ }
97
+
95
98
  return (
96
99
  <>
97
100
  <View style={styles.wrapperNavbar}>
@@ -160,9 +163,9 @@ export const UpsellingContent = (props : any) => {
160
163
  <OButton
161
164
  imgRightSrc=''
162
165
  text={t('CHECKOUT', 'Checkout')}
166
+ textStyle={{ fontSize: 14 }}
163
167
  style={{ ...styles.closeUpsellingButton }}
164
- textStyle={{ color: theme.colors.white, fontSize: 14 }}
165
- onClick={() => handleUpsellingPage(cart)}
168
+ onClick={() => handleClickCheckout()}
166
169
  />
167
170
  </View>
168
171
  </>
@@ -25,6 +25,9 @@ export const UpsellingLayout = (props : any) => {
25
25
  const [{ parsePrice }] = useUtils()
26
26
  const [, t] = useLanguage()
27
27
 
28
+ const hideProductDummyLogo = theme?.business_view?.components?.products?.components?.product?.components?.dummy?.hidden
29
+
30
+
28
31
  const styles = StyleSheet.create({
29
32
  imageStyle: {
30
33
  width: 73,
@@ -66,9 +69,11 @@ export const UpsellingLayout = (props : any) => {
66
69
  <OText size={10} color={theme.colors.primary}>{t('ADD', 'Add')}</OText>
67
70
  </AddButton>
68
71
  </View>
69
- <View>
70
- <OIcon url={product?.images || theme?.images?.dummies?.product} style={styles.imageStyle} />
71
- </View>
72
+ {(product?.images || !hideProductDummyLogo) && (
73
+ <View>
74
+ <OIcon url={product?.images || theme?.images?.dummies?.product} style={styles.imageStyle} />
75
+ </View>
76
+ )}
72
77
  </Item>
73
78
  )) : (
74
79
  <OText>