ordering-ui-react-native 0.14.38 → 0.14.40-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 (56) hide show
  1. package/package.json +2 -2
  2. package/src/components/BusinessItemAccordion/index.tsx +2 -2
  3. package/src/components/BusinessProductsListing/index.tsx +10 -26
  4. package/src/components/Cart/index.tsx +136 -62
  5. package/src/components/Cart/styles.tsx +7 -0
  6. package/src/components/Checkout/index.tsx +32 -168
  7. package/src/components/OrderDetails/index.tsx +102 -34
  8. package/src/components/OrderDetails/styles.tsx +7 -0
  9. package/src/components/OrderSummary/index.tsx +142 -58
  10. package/src/components/OrderSummary/styles.tsx +10 -2
  11. package/src/components/PaymentOptions/index.tsx +3 -1
  12. package/src/components/PaymentOptionsWebView/index.tsx +150 -0
  13. package/src/components/ProductForm/index.tsx +7 -9
  14. package/src/components/SingleProductCard/index.tsx +1 -1
  15. package/src/components/StripeElementsForm/index.tsx +28 -13
  16. package/src/components/TaxInformation/index.tsx +58 -26
  17. package/src/components/UpsellingProducts/index.tsx +13 -31
  18. package/src/components/VerifyPhone/styles.tsx +1 -2
  19. package/src/components/shared/OIcon.tsx +4 -1
  20. package/src/index.tsx +2 -0
  21. package/src/navigators/HomeNavigator.tsx +6 -0
  22. package/src/pages/ProductDetails.tsx +55 -0
  23. package/src/types/index.tsx +2 -0
  24. package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
  25. package/themes/kiosk/src/components/Cart/index.tsx +14 -21
  26. package/themes/kiosk/src/components/CartItem/index.tsx +9 -7
  27. package/themes/kiosk/src/components/CustomerName/index.tsx +2 -1
  28. package/themes/kiosk/src/components/Intro/index.tsx +4 -4
  29. package/themes/kiosk/src/components/OptionCard/index.tsx +11 -6
  30. package/themes/kiosk/src/components/PaymentOptions/index.tsx +46 -44
  31. package/themes/original/src/components/BusinessItemAccordion/index.tsx +12 -9
  32. package/themes/original/src/components/BusinessItemAccordion/styles.tsx +3 -2
  33. package/themes/original/src/components/BusinessProductsListing/index.tsx +8 -4
  34. package/themes/original/src/components/BusinessesListing/index.tsx +100 -75
  35. package/themes/original/src/components/Cart/index.tsx +122 -24
  36. package/themes/original/src/components/Cart/styles.tsx +8 -1
  37. package/themes/original/src/components/Checkout/index.tsx +38 -3
  38. package/themes/original/src/components/Help/index.tsx +1 -1
  39. package/themes/original/src/components/Home/index.tsx +5 -3
  40. package/themes/original/src/components/MessageListing/index.tsx +4 -2
  41. package/themes/original/src/components/OrderDetails/index.tsx +114 -42
  42. package/themes/original/src/components/OrderDetails/styles.tsx +8 -1
  43. package/themes/original/src/components/OrderProgress/index.tsx +2 -1
  44. package/themes/original/src/components/OrderSummary/index.tsx +132 -23
  45. package/themes/original/src/components/OrderSummary/styles.tsx +7 -0
  46. package/themes/original/src/components/PaymentOptionWallet/index.tsx +6 -2
  47. package/themes/original/src/components/PaymentOptions/index.tsx +8 -2
  48. package/themes/original/src/components/ProductForm/index.tsx +63 -65
  49. package/themes/original/src/components/ProductForm/styles.tsx +6 -0
  50. package/themes/original/src/components/ProductOptionSubOption/index.tsx +3 -2
  51. package/themes/original/src/components/SingleProductCard/index.tsx +21 -11
  52. package/themes/original/src/components/SingleProductCard/styles.tsx +4 -0
  53. package/themes/original/src/components/StripeElementsForm/index.tsx +28 -13
  54. package/themes/original/src/components/TaxInformation/index.tsx +59 -27
  55. package/themes/original/src/components/UpsellingProducts/index.tsx +26 -18
  56. package/themes/original/src/types/index.tsx +2 -0
@@ -8,7 +8,7 @@ import {
8
8
  useValidationFields,
9
9
  } from 'ordering-components/native';
10
10
  import { useTheme } from 'styled-components/native';
11
- import { CContainer, CheckoutAction } from './styles';
11
+ import { CContainer, CheckoutAction, Divider } from './styles';
12
12
 
13
13
  import { OSBill, OSTable, OSCoupon, OSTotal, OSRow } from '../OrderSummary/styles';
14
14
 
@@ -23,6 +23,7 @@ import { ActivityIndicator, TouchableOpacity, View } from 'react-native';
23
23
  import AntIcon from 'react-native-vector-icons/AntDesign'
24
24
  import { TaxInformation } from '../TaxInformation';
25
25
  import { CartStoresListing } from '../CartStoresListing';
26
+ import { OAlert } from '../../../../../src/components/shared'
26
27
 
27
28
  const CartUI = (props: any) => {
28
29
  const {
@@ -36,7 +37,8 @@ const CartUI = (props: any) => {
36
37
  setIsCartsLoading,
37
38
  handleChangeComment,
38
39
  commentState,
39
- onNavigationRedirect
40
+ onNavigationRedirect,
41
+ handleRemoveOfferClick
40
42
  } = props
41
43
 
42
44
  const theme = useTheme();
@@ -50,7 +52,8 @@ const CartUI = (props: any) => {
50
52
  const [openUpselling, setOpenUpselling] = useState(false)
51
53
  const [openChangeStore, setOpenChangeStore] = useState(false)
52
54
  const [canOpenUpselling, setCanOpenUpselling] = useState(false)
53
- const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, data: null })
55
+ const [openTaxModal, setOpenTaxModal] = useState<any>({ open: false, data: null, type: '' })
56
+ const [confirm, setConfirm] = useState<any>({ open: false, content: null, handleOnAccept: null, id: null, title: null })
54
57
 
55
58
  const isCartPending = cart?.status === 2
56
59
  const isCouponEnabled = validationFields?.fields?.checkout?.coupon?.enabled
@@ -69,12 +72,12 @@ const CartUI = (props: any) => {
69
72
  const handleEditProduct = (product: any) => {
70
73
  onNavigationRedirect('ProductDetails', {
71
74
  businessId,
72
- isCartProduct: true,
75
+ isCartProduct: true,
73
76
  productCart: product,
74
77
  businessSlug: cart?.business?.slug,
75
78
  categoryId: product?.category_id,
76
79
  productId: product?.id,
77
- })
80
+ })
78
81
  }
79
82
 
80
83
  const handleClearProducts = async () => {
@@ -109,6 +112,22 @@ const CartUI = (props: any) => {
109
112
  }
110
113
  }
111
114
 
115
+ const getIncludedTaxesDiscounts = () => {
116
+ return cart?.taxes?.filter((tax: any) => tax?.type === 1)?.reduce((carry: number, tax: any) => carry + (tax?.summary?.tax_after_discount ?? tax?.summary?.tax), 0)
117
+ }
118
+
119
+ const onRemoveOffer = (id: number) => {
120
+ setConfirm({
121
+ open: true,
122
+ content: [t('QUESTION_DELETE_OFFER', 'Are you sure that you want to delete the offer?')],
123
+ title: t('OFFER', 'Offer'),
124
+ handleOnAccept: () => {
125
+ setConfirm({ ...confirm, open: false })
126
+ handleRemoveOfferClick(id)
127
+ }
128
+ })
129
+ }
130
+
112
131
  const walletName: any = {
113
132
  cash: {
114
133
  name: t('PAY_WITH_CASH_WALLET', 'Pay with Cash Wallet'),
@@ -166,7 +185,7 @@ const CartUI = (props: any) => {
166
185
  {parsePrice(cart?.subtotal + getIncludedTaxes())}
167
186
  </OText>
168
187
  </OSTable>
169
- {cart?.discount > 0 && cart?.total >= 0 && (
188
+ {cart?.discount > 0 && cart?.total >= 0 && cart?.offers?.length === 0 && (
170
189
  <OSTable>
171
190
  {cart?.discount_type === 1 ? (
172
191
  <OText size={12} lineHeight={18}>
@@ -179,19 +198,51 @@ const CartUI = (props: any) => {
179
198
  <OText size={12} lineHeight={18}>- {parsePrice(cart?.discount || 0)}</OText>
180
199
  </OSTable>
181
200
  )}
201
+ {
202
+ cart?.offers?.length > 0 && cart?.offers?.filter((offer: any) => offer?.target === 1)?.map((offer: any) => (
203
+ <OSTable key={offer.id}>
204
+ <OSRow>
205
+ <OText size={12} lineHeight={18}>{offer.name}</OText>
206
+ {offer.rate_type === 1 && (
207
+ <OText size={12} lineHeight={18}>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
208
+ )}
209
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_1' })}>
210
+ <AntIcon name='exclamationcircleo' size={18} color={theme.colors.primary} />
211
+ </TouchableOpacity>
212
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
213
+ <AntIcon name='closecircle' size={18} color={theme.colors.primary} />
214
+ </TouchableOpacity>
215
+ </OSRow>
216
+ <OText size={12} lineHeight={18}>
217
+ - {parsePrice(offer?.summary?.discount)}
218
+ </OText>
219
+ </OSTable>
220
+ ))
221
+ }
222
+ <Divider />
223
+ {cart?.subtotal_with_discount > 0 && cart?.discount > 0 && cart?.total >= 0 && (
224
+ <OSTable>
225
+ <OText size={12} lineHeight={18} numberOfLines={1}>{t('SUBTOTAL_WITH_DISCOUNT', 'Subtotal with discount')}</OText>
226
+ {cart?.business?.tax_type === 1 ? (
227
+ <OText size={12} lineHeight={18}>{parsePrice(cart?.subtotal_with_discount + getIncludedTaxesDiscounts() ?? 0)}</OText>
228
+ ) : (
229
+ <OText size={12} lineHeight={18}>{parsePrice(cart?.subtotal_with_discount ?? 0)}</OText>
230
+ )}
231
+ </OSTable>
232
+ )}
182
233
  {
183
234
  cart.taxes?.length > 0 && cart.taxes.filter((tax: any) => tax.type === 2 && tax?.rate !== 0).map((tax: any) => (
184
235
  <OSTable key={tax.id}>
185
236
  <OSRow>
186
- <OText numberOfLines={1} >
237
+ <OText size={12} lineHeight={18} numberOfLines={1} >
187
238
  {tax.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}{' '}
188
239
  {`(${verifyDecimals(tax?.rate, parseNumber)}%)`}{' '}
189
240
  </OText>
190
- <TouchableOpacity onPress={() => setOpenTaxModal({ open: true, data: tax })} >
241
+ <TouchableOpacity onPress={() => setOpenTaxModal({ open: true, data: tax, type: 'tax' })} >
191
242
  <AntIcon name='exclamationcircleo' size={18} color={theme.colors.primary} />
192
243
  </TouchableOpacity>
193
244
  </OSRow>
194
- <OText>{parsePrice(tax?.summary?.tax || 0)}</OText>
245
+ <OText size={12} lineHeight={18}>{parsePrice(tax?.summary?.tax_after_discount ?? tax?.summary?.tax ?? 0)}</OText>
195
246
  </OSTable>
196
247
  ))
197
248
  }
@@ -199,33 +250,66 @@ const CartUI = (props: any) => {
199
250
  cart?.fees?.length > 0 && cart?.fees?.filter((fee: any) => !(fee.fixed === 0 && fee.percentage === 0)).map((fee: any) => (
200
251
  <OSTable key={fee?.id}>
201
252
  <OSRow>
202
- <OText numberOfLines={1} size={12} lineHeight={18}>
253
+ <OText size={12} lineHeight={18} numberOfLines={1}>
203
254
  {fee.name || t('INHERIT_FROM_BUSINESS', 'Inherit from business')}{' '}
204
255
  ({parsePrice(fee?.fixed)} + {fee?.percentage}%){' '}
205
256
  </OText>
206
- <TouchableOpacity onPress={() => setOpenTaxModal({ open: true, data: fee })} >
257
+ <TouchableOpacity onPress={() => setOpenTaxModal({ open: true, data: fee, type: 'fee' })} >
207
258
  <AntIcon name='exclamationcircleo' size={18} color={theme.colors.primary} />
208
259
  </TouchableOpacity>
209
260
  </OSRow>
210
- <OText>{parsePrice(fee?.summary?.fixed + fee?.summary?.percentage || 0)}</OText>
261
+ <OText size={12} lineHeight={18}>{parsePrice(fee?.summary?.fixed + (fee?.summary?.percentage_after_discount ?? fee?.summary?.percentage) ?? 0)}</OText>
262
+ </OSTable>
263
+ ))
264
+ }
265
+ {
266
+ cart?.offers?.length > 0 && cart?.offers?.filter((offer: any) => offer?.target === 3)?.map((offer: any) => (
267
+ <OSTable key={offer.id}>
268
+ <OSRow>
269
+ <OText size={12} lineHeight={18}>{offer.name}</OText>
270
+ {offer.rate_type === 1 && (
271
+ <OText size={12} lineHeight={18}>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
272
+ )}
273
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_3' })}>
274
+ <AntIcon name='exclamationcircleo' size={18} color={theme.colors.primary} />
275
+ </TouchableOpacity>
276
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
277
+ <AntIcon name='closecircle' size={18} color={theme.colors.primary} />
278
+ </TouchableOpacity>
279
+ </OSRow>
280
+ <OText size={12} lineHeight={18}>
281
+ - {parsePrice(offer?.summary?.discount)}
282
+ </OText>
211
283
  </OSTable>
212
284
  ))
213
285
  }
214
- {cart?.service_fee > 0 && !cart?.fees?.length && (
215
- <OSTable>
216
- <OText size={12} lineHeight={18}>
217
- {t('SERVICE_FEE', 'Service Fee')}
218
- {`(${verifyDecimals(cart?.business?.service_fee, parseNumber)}%)`}
219
- </OText>
220
- <OText size={12} lineHeight={18}>{parsePrice(cart?.service_fee)}</OText>
221
- </OSTable>
222
- )}
223
286
  {orderState?.options?.type === 1 && cart?.delivery_price > 0 && (
224
287
  <OSTable>
225
288
  <OText size={12} lineHeight={18}>{t('DELIVERY_FEE', 'Delivery Fee')}</OText>
226
289
  <OText size={12} lineHeight={18}>{parsePrice(cart?.delivery_price)}</OText>
227
290
  </OSTable>
228
291
  )}
292
+ {
293
+ cart?.offers?.length > 0 && cart?.offers?.filter((offer: any) => offer?.target === 2)?.map((offer: any) => (
294
+ <OSTable key={offer.id}>
295
+ <OSRow>
296
+ <OText size={12} lineHeight={18}>{offer.name}</OText>
297
+ {offer.rate_type === 1 && (
298
+ <OText size={12} lineHeight={18}>{`(${verifyDecimals(offer?.rate, parsePrice)}%)`}</OText>
299
+ )}
300
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_2' })}>
301
+ <AntIcon name='exclamationcircleo' size={18} color={theme.colors.primary} />
302
+ </TouchableOpacity>
303
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
304
+ <AntIcon name='closecircle' size={18} color={theme.colors.primary} />
305
+ </TouchableOpacity>
306
+ </OSRow>
307
+ <OText size={12} lineHeight={18}>
308
+ - {parsePrice(offer?.summary?.discount)}
309
+ </OText>
310
+ </OSTable>
311
+ ))
312
+ }
229
313
  {cart?.driver_tip > 0 && (
230
314
  <OSTable>
231
315
  <OText size={12} lineHeight={18}>
@@ -265,7 +349,7 @@ const CartUI = (props: any) => {
265
349
  {t('TOTAL', 'Total')}
266
350
  </OText>
267
351
  <OText size={14} lineHeight={21} weight={'600'}>
268
- {parsePrice(cart?.balance ?? cart?.total)}
352
+ {parsePrice(cart?.total >= 0 ? cart?.total : 0)}
269
353
  </OText>
270
354
  </OSTable>
271
355
  </OSTotal>
@@ -339,11 +423,25 @@ const CartUI = (props: any) => {
339
423
  </OModal>
340
424
  <OModal
341
425
  open={openTaxModal.open}
342
- onClose={() => setOpenTaxModal({ open: false, data: null })}
426
+ onClose={() => setOpenTaxModal({ open: false, data: null, type: '' })}
343
427
  entireModal
428
+ title={`${openTaxModal.data?.name ||
429
+ t('INHERIT_FROM_BUSINESS', 'Inherit from business')} ${openTaxModal.data?.rate_type !== 2 ? `(${typeof openTaxModal.data?.rate === 'number' ? `${openTaxModal.data?.rate}%` : `${parsePrice(openTaxModal.data?.fixed ?? 0)} + ${openTaxModal.data?.percentage}%`})` : ''} `}
344
430
  >
345
- <TaxInformation data={openTaxModal.data} products={cart.products} />
431
+ <TaxInformation
432
+ type={openTaxModal.type}
433
+ data={openTaxModal.data}
434
+ products={cart?.products}
435
+ />
346
436
  </OModal>
437
+ <OAlert
438
+ open={confirm.open}
439
+ title={confirm.title}
440
+ content={confirm.content}
441
+ onAccept={confirm.handleOnAccept}
442
+ onCancel={() => setConfirm({ ...confirm, open: false, title: null })}
443
+ onClose={() => setConfirm({ ...confirm, open: false, title: null })}
444
+ />
347
445
  </CContainer>
348
446
  )
349
447
  }
@@ -1,4 +1,4 @@
1
- import styled, { css } from 'styled-components/native';
1
+ import styled from 'styled-components/native';
2
2
 
3
3
  export const CContainer = styled.View`
4
4
  /* border-bottom: 1px solid #F0F0F0; */
@@ -26,3 +26,10 @@ export const CheckoutAction = styled.View`
26
26
  margin-top: 10px;
27
27
  margin-bottom: 10px;
28
28
  `
29
+
30
+ export const Divider = styled.View`
31
+ border-color: #EAEAEA;
32
+ border-width: 1px;
33
+ margin-top: 5px;
34
+ margin-bottom: 10px;
35
+ `
@@ -49,6 +49,7 @@ import NavBar from '../NavBar';
49
49
  import { OrderSummary } from '../OrderSummary';
50
50
  import { getTypesText } from '../../utils';
51
51
  import { CartStoresListing } from '../CartStoresListing';
52
+ import { PaymentOptionsWebView } from '../../../../../src/components/PaymentOptionsWebView';
52
53
 
53
54
  const mapConfigs = {
54
55
  mapZoom: 16,
@@ -83,6 +84,7 @@ const CheckoutUI = (props: any) => {
83
84
  deliveryOptionSelected,
84
85
  instructionsOptions,
85
86
  handleChangeDeliveryOption,
87
+ currency
86
88
  } = props
87
89
 
88
90
  const theme = useTheme();
@@ -114,10 +116,11 @@ const CheckoutUI = (props: any) => {
114
116
 
115
117
  const [, { showToast }] = useToast();
116
118
  const [, t] = useLanguage();
117
- const [{ user }] = useSession();
119
+ const [{ user, token }] = useSession();
120
+ const [ordering] = useApi()
118
121
  const [{ configs }] = useConfig();
119
122
  const [{ parsePrice, parseDate }] = useUtils();
120
- const [{ options, carts, loading }] = useOrder();
123
+ const [{ options, carts, loading }, { confirmCart }] = useOrder();
121
124
  const [validationFields] = useValidationFields();
122
125
 
123
126
  const [errorCash, setErrorCash] = useState(false);
@@ -126,6 +129,10 @@ const CheckoutUI = (props: any) => {
126
129
  const [phoneUpdate, setPhoneUpdate] = useState(false);
127
130
  const [openChangeStore, setOpenChangeStore] = useState(false)
128
131
  const [isDeliveryOptionModalVisible, setIsDeliveryOptionModalVisible] = useState(false)
132
+ const [showGateway, setShowGateway] = useState<any>({ closedByUsed: false, open: false });
133
+ const [webviewPaymethod, setWebviewPaymethod] = useState<any>(null)
134
+
135
+ const isWalletEnabled = configs?.wallet_enabled?.value === '1' && (configs?.wallet_cash_enabled?.value === '1' || configs?.wallet_credit_point_enabled?.value === '1')
129
136
 
130
137
  const driverTipsOptions = typeof configs?.driver_tip_options?.value === 'string'
131
138
  ? JSON.parse(configs?.driver_tip_options?.value) || []
@@ -154,6 +161,16 @@ const CheckoutUI = (props: any) => {
154
161
  setIsUserDetailsEdit(true)
155
162
  }
156
163
 
164
+ const handlePaymentMethodClick = (paymethod: any) => {
165
+ setShowGateway({ closedByUser: false, open: true })
166
+ setWebviewPaymethod(paymethod)
167
+ }
168
+
169
+ const onFailPaypal = async () => {
170
+ if (showGateway.closedByUser === true) {
171
+ await confirmCart(cart.uuid)
172
+ }
173
+ }
157
174
  const changeDeliveryOption = (option: any) => {
158
175
  handleChangeDeliveryOption(option)
159
176
  setIsDeliveryOptionModalVisible(false)
@@ -214,6 +231,10 @@ const CheckoutUI = (props: any) => {
214
231
  }
215
232
  }, [cart?.products])
216
233
 
234
+ useEffect(() => {
235
+ onFailPaypal()
236
+ }, [showGateway.closedByUser])
237
+
217
238
  return (
218
239
  <>
219
240
  <Container noPadding>
@@ -501,6 +522,7 @@ const CheckoutUI = (props: any) => {
501
522
  setErrorCash={setErrorCash}
502
523
  onNavigationRedirect={onNavigationRedirect}
503
524
  paySelected={paymethodSelected}
525
+ handlePaymentMethodClickCustom={handlePaymentMethodClick}
504
526
  />
505
527
  </ChPaymethods>
506
528
  </ChSection>
@@ -510,6 +532,7 @@ const CheckoutUI = (props: any) => {
510
532
  <WalletPaymentOptionContainer>
511
533
  <PaymentOptionWallet
512
534
  cart={cart}
535
+ businessId={cart?.business_id}
513
536
  />
514
537
  </WalletPaymentOptionContainer>
515
538
  )}
@@ -546,7 +569,7 @@ const CheckoutUI = (props: any) => {
546
569
  <OrderSummary
547
570
  cart={cart}
548
571
  isCartPending={cart?.status === 2}
549
- onNavigationRedirect={onNavigationRedirect}
572
+ onNavigationRedirect={onNavigationRedirect}
550
573
  />
551
574
  </>
552
575
  )}
@@ -619,6 +642,18 @@ const CheckoutUI = (props: any) => {
619
642
  iosBottom={20}
620
643
  />
621
644
  )}
645
+ {webviewPaymethod?.gateway === 'paypal' && showGateway.open && (
646
+ <PaymentOptionsWebView
647
+ onNavigationRedirect={onNavigationRedirect}
648
+ uri={`${ordering.root}/html/paypal_react_native`}
649
+ user={user}
650
+ token={token}
651
+ cart={cart}
652
+ currency={currency}
653
+ webviewPaymethod={webviewPaymethod}
654
+ setShowGateway={setShowGateway}
655
+ />
656
+ )}
622
657
  </>
623
658
  )
624
659
  }
@@ -48,7 +48,7 @@ export const Help = (props: HelpParams) => {
48
48
 
49
49
  <LastOrdersContainer>
50
50
  <OText size={18} weight={600}>{t('LAST_ORDERS', 'Last Orders')}</OText>
51
- <LastOrders businessId={props.businessId} onRedirect={onRedirect} />
51
+ <LastOrders {...props} onRedirect={onRedirect} />
52
52
  </LastOrdersContainer>
53
53
  </>
54
54
  )
@@ -5,11 +5,11 @@ import { StyleSheet, View } from 'react-native';
5
5
  import { OButton, OIcon, OText } from '../shared';
6
6
  import { LanguageSelector } from '../LanguageSelector';
7
7
  import { TouchableOpacity } from 'react-native-gesture-handler';
8
- import { useWindowDimensions } from 'react-native';
8
+ import { useWindowDimensions, Platform } from 'react-native';
9
9
 
10
10
  export const Home = (props: any) => {
11
11
  const { onNavigationRedirect } = props;
12
- const { width } = useWindowDimensions();
12
+ const { width, height } = useWindowDimensions();
13
13
  const [, t] = useLanguage();
14
14
  const [orderState] = useOrder();
15
15
 
@@ -18,7 +18,9 @@ export const Home = (props: any) => {
18
18
  return (
19
19
  <View style={styles.container}>
20
20
  <View>
21
- <LanguageSelector />
21
+ <View style={{paddingTop: (height <= 756 && Platform.OS !== 'ios') ? (height * 0.05) : 0 }}>
22
+ <LanguageSelector />
23
+ </View>
22
24
  <OIcon
23
25
  src={theme.images.logos.logotypeInvert}
24
26
  style={{
@@ -1,5 +1,5 @@
1
1
  import React, { useState, useEffect } from 'react'
2
- import { useLanguage, useOrder, ToastType, useToast, OrderList, OrderDetails as OrderDetailsConTableoller } from 'ordering-components/native'
2
+ import { useLanguage, useOrder, ToastType, useToast, OrderList, OrderDetails as OrderDetailsConTableoller, useBusiness } from 'ordering-components/native'
3
3
  import { useTheme } from 'styled-components/native';
4
4
  import { useFocusEffect } from '@react-navigation/native'
5
5
  import { OText, OModal } from '../shared'
@@ -214,6 +214,7 @@ const OrderMessageUI = (props: any) => {
214
214
  }
215
215
 
216
216
  export const OrderListing = (props: OrdersOptionParams) => {
217
+ const [businessState] = useBusiness();
217
218
  const OrderListingProps = {
218
219
  ...props,
219
220
  UIComponent: OrdersOptionUI,
@@ -224,6 +225,7 @@ export const OrderListing = (props: OrdersOptionParams) => {
224
225
  pageSize: 10,
225
226
  controlType: 'infinity'
226
227
  },
228
+ businessId: businessState?.business?.id,
227
229
  profileMessages: true,
228
230
  orderBy: 'last_direct_message_at',
229
231
  orderDirection: 'asc'
@@ -287,6 +289,7 @@ export const MessageListing = (props: MessageListingParams) => {
287
289
  setSelectedOrderId={setSelectedOrderId}
288
290
  setOrderList={setOrderListStatus}
289
291
  setOpenMessges={setOpenMessges}
292
+ franchiseId={props.franchiseId}
290
293
  />
291
294
  {openMessages && seletedOrder && (
292
295
  <OModal
@@ -304,4 +307,3 @@ export const MessageListing = (props: MessageListingParams) => {
304
307
  </MessageListingWrapper>
305
308
  )
306
309
  }
307
-