ordering-ui-react-native 0.17.89 → 0.17.91

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-react-native",
3
- "version": "0.17.89",
3
+ "version": "0.17.91",
4
4
  "description": "Reusable components made in react native",
5
5
  "main": "src/index.tsx",
6
6
  "author": "ordering.inc",
@@ -131,7 +131,7 @@ export const OrderCreating = (props: any) => {
131
131
  <OText size={14}>{address}</OText>
132
132
  </LocationWrapper>
133
133
  )}
134
- {cart && (
134
+ {cart && !orderState?.options?.moment && (
135
135
  <DeliveryWrapper>
136
136
  <DeliveryContentWrapper>
137
137
  <SimpleIcon
@@ -175,4 +175,4 @@ export const OrderCreating = (props: any) => {
175
175
  )}
176
176
  </OrderCreatingContainer>
177
177
  )
178
- }
178
+ }
@@ -95,7 +95,7 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
95
95
  upper: {
96
96
  flex: 1,
97
97
  zIndex: 1001,
98
- paddingTop: isPage ? 30 : 80,
98
+ paddingTop: isPage ? 30 : 50,
99
99
  marginBottom: 10,
100
100
  backgroundColor: theme.colors.backgroundPage
101
101
  },
@@ -418,7 +418,7 @@ export const AcceptOrRejectOrder = (props: AcceptOrRejectOrderParams) => {
418
418
  </Header>
419
419
 
420
420
  {action === 'accept' && (
421
- <View style={{ height: 400, justifyContent: 'center' }}>
421
+ <View style={{ height: 300, justifyContent: 'center' }}>
422
422
  <Timer onPress={() => openTimerIOnput()}>
423
423
  <OText weight="600" style={{ textAlign: 'center' }} size={55}>
424
424
  {hour}
@@ -1,6 +1,6 @@
1
- import React, { useEffect } from 'react'
1
+ import React, { useEffect, useState } from 'react'
2
2
  import { formatSeconds } from '../../../utils'
3
- import { StyleSheet, TouchableOpacity } from 'react-native';
3
+ import { StyleSheet, TouchableOpacity, Alert } from 'react-native';
4
4
  import { useCountdownTimer } from '../../../../../../src/hooks/useCountdownTimer';
5
5
  import { useLanguage } from 'ordering-components/native';
6
6
  import { OTPContainer } from './styles';
@@ -16,11 +16,13 @@ export const Otp = (props: otpParams) => {
16
16
  onSubmit,
17
17
  handleLoginOtp,
18
18
  setAlertState,
19
- pinCount
19
+ pinCount,
20
+ formState
20
21
  } = props
21
22
 
22
23
  const theme = useTheme();
23
24
  const [, t] = useLanguage();
25
+ const [code, setCode] = useState('')
24
26
  const [otpLeftTime, _, resetOtpLeftTime]: any = useCountdownTimer(
25
27
  600, willVerifyOtpState)
26
28
 
@@ -44,6 +46,30 @@ export const Otp = (props: otpParams) => {
44
46
  }
45
47
  }, [otpLeftTime])
46
48
 
49
+ useEffect(() => {
50
+ if (!formState?.loading && formState?.result?.error) {
51
+ Alert.alert(
52
+ t('ERROR', 'Error'),
53
+ typeof formState.result?.result === 'string'
54
+ ? formState.result?.result
55
+ : formState.result?.result[0],
56
+ [
57
+ {
58
+ text: t('ACCEPT', 'Accept'),
59
+ onPress: () => {},
60
+ style: 'cancel'
61
+ },
62
+ ],
63
+ { cancelable: false }
64
+ )
65
+
66
+ if (code.length === (pinCount || 6)) {
67
+ setCode('')
68
+ }
69
+
70
+ }
71
+ }, [formState])
72
+
47
73
  const loginStyle = StyleSheet.create({
48
74
  underlineStyleBase: {
49
75
  width: 45,
@@ -72,6 +98,8 @@ export const Otp = (props: otpParams) => {
72
98
  onCodeFilled={(code: string) => handleLoginOtp(code)}
73
99
  selectionColor={theme.colors.primary}
74
100
  editable
101
+ code={code}
102
+ onCodeChanged={(code: string) => setCode(code)}
75
103
  />
76
104
  <TouchableOpacity onPress={() => handleOnSubmit()} disabled={otpLeftTime > 520}>
77
105
  <OText size={16} mBottom={30} color={otpLeftTime > 520 ? theme.colors.disabled : theme.colors.primary}>
@@ -280,7 +280,6 @@ const LoginFormUI = (props: LoginParams) => {
280
280
 
281
281
  const handleLoginOtp = (code: string) => {
282
282
  handleButtonLoginClick({ code })
283
- setWillVerifyOtpState(false)
284
283
  }
285
284
 
286
285
  const closeAlert = () => {
@@ -329,27 +328,17 @@ const LoginFormUI = (props: LoginParams) => {
329
328
  showToast(ToastType.Info, t('TRY_AGAIN', 'Please try again'))
330
329
  return
331
330
  }
332
- formState?.result?.result &&
333
- showToast(
334
- ToastType.Error,
335
- loginTab === 'email' && typeof formState.result?.result === 'string'
336
- ? getTraduction(formState.result?.result)
337
- : loginTab === 'email' &&
338
- typeof formState.result?.result !== 'string'
339
- ? getTraduction(formState.result?.result[0])
340
- : loginTab === 'cellphone' &&
341
- typeof formState.result?.result === 'string'
342
- ? getTraduction(formState.result?.result).replace(
343
- t('USER', 'user').toLowerCase(),
344
- t('PHONE_NUMER', 'Phone number'),
345
- )
346
- : getTraduction(formState.result?.result[0]).replace(
347
- t('USER', 'user').toLowerCase(),
348
- t('PHONE_NUMER', 'Phone number'),
349
- ),
350
- );
331
+ formState.result?.result && showToast(
332
+ ToastType.Error,
333
+ typeof formState.result?.result === 'string'
334
+ ? formState.result?.result
335
+ : formState.result?.result[0]
336
+ )
351
337
  setSubmitted(false)
352
338
  }
339
+ if (!formState?.loading && !formState?.result?.error) {
340
+ setWillVerifyOtpState(false)
341
+ }
353
342
  }, [formState]);
354
343
 
355
344
  useEffect(() => {
@@ -929,6 +918,7 @@ const LoginFormUI = (props: LoginParams) => {
929
918
  handleLoginOtp={handleLoginOtp}
930
919
  onSubmit={handleLogin}
931
920
  setAlertState={setAlertState}
921
+ formState={formState}
932
922
  />
933
923
  </OModal>
934
924
  <Alert
@@ -36,7 +36,8 @@ export interface otpParams {
36
36
  setWillVerifyOtpState: (val : boolean) => void,
37
37
  onSubmit: () => void,
38
38
  handleLoginOtp: (code : string) => void,
39
- setAlertState: any
39
+ setAlertState: any,
40
+ formState?: any
40
41
  }
41
42
  export interface ProfileParams {
42
43
  navigation?: any;
@@ -116,10 +116,6 @@ const LoginFormUI = (props: LoginParams) => {
116
116
  }
117
117
 
118
118
  if (values?.project_name) {
119
- setOrdering({
120
- ...ordering,
121
- project: values?.project_name
122
- })
123
119
  _setStoreData('project_name', values?.project_name)
124
120
  setFormsStateValues({
125
121
  ...formsStateValues,
@@ -240,13 +240,16 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
240
240
  <SearchBar
241
241
  lazyLoad
242
242
  {...(isChewLayout && { height: 55 })}
243
- inputStyle={{ ...styles.searchInput, ...Platform.OS === 'ios' ? {} : { paddingBottom: 4 } }}
244
- placeholder={`${t('SEARCH_BUSINESSES', 'Search Businesses')} / ${t('TYPE_AT_LEAST_3_CHARACTERS', 'type at least 3 characters')}`}
243
+ inputStyle={{ ...styles.searchInput }}
244
+ placeholder={t('SEARCH_BUSINESSES', 'Search Businesses')}
245
245
  onSearch={(val: string) => handleChangeTermValue(val)}
246
246
  value={termValue}
247
247
  iconCustomRight={<AntDesignIcon name='filter' size={16} style={{ bottom: 2 }} onPress={() => handleOpenfilters()} />}
248
248
  />
249
249
  </SearchWrapper>
250
+ <OText size={12} lineHeight={20} color={theme.colors.textThird} mLeft={5}>
251
+ {t('TYPE_AT_LEAST_3_CHARACTERS', 'Type at least 3 characters')}
252
+ </OText>
250
253
  {
251
254
  noResults && (
252
255
  <View>
@@ -273,11 +276,13 @@ export const BusinessListingSearchUI = (props: BusinessSearchParams) => {
273
276
  />
274
277
  )}
275
278
 
276
- <OptionTitle isBusinessesSearchList={!!businessesSearchList}>
277
- <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={10}>
278
- {t('BUSINESSES', 'Businesses')}
279
- </OText>
280
- </OptionTitle>
279
+ {businessesSearchList.businesses?.length > 0 && (
280
+ <OptionTitle isBusinessesSearchList={!!businessesSearchList}>
281
+ <OText size={16} lineHeight={24} weight={'500'} color={theme.colors.textNormal} mBottom={10}>
282
+ {t('BUSINESSES', 'Businesses')}
283
+ </OText>
284
+ </OptionTitle>
285
+ )}
281
286
  <ScrollView horizontal showsHorizontalScrollIndicator={false}>
282
287
  {businessesSearchList.businesses?.length > 0 && businessesSearchList.businesses.map((business: any, i: number) => (
283
288
  <View
@@ -315,9 +315,11 @@ const CartUI = (props: any) => {
315
315
  <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => setOpenTaxModal({ open: true, data: offer, type: 'offer_target_3' })}>
316
316
  <AntIcon name='infocirlceo' size={16} color={theme.colors.primary} />
317
317
  </TouchableOpacity>
318
- <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
319
- <AntIcon name='closecircle' size={16} color={theme.colors.primary} />
320
- </TouchableOpacity>
318
+ {!offer?.type && (
319
+ <TouchableOpacity style={{ marginLeft: 3 }} onPress={() => onRemoveOffer(offer?.id)}>
320
+ <AntIcon name='closecircle' size={16} color={theme.colors.primary} />
321
+ </TouchableOpacity>
322
+ )}
321
323
  </OSRow>
322
324
  <OText size={12} lineHeight={18}>
323
325
  - {parsePrice(offer?.summary?.discount)}
@@ -352,6 +354,12 @@ const CartUI = (props: any) => {
352
354
  </OSTable>
353
355
  ))
354
356
  }
357
+ {orderState?.options?.type === 1 && cart?.delivery_price > 0 && cart?.delivery_price_with_discount >= 0 && !hideDeliveryFee && (
358
+ <OSTable>
359
+ <OText size={12} lineHeight={18}>{t('DELIVERY_FEE_AFTER_DISCOUNT', 'Delivery Fee After Discount')}</OText>
360
+ <OText size={12} lineHeight={18}>{parsePrice(cart?.delivery_price_with_discount)}</OText>
361
+ </OSTable>
362
+ )}
355
363
  {cart?.driver_tip > 0 && !hideDriverTip && (
356
364
  <OSTable>
357
365
  <OText size={12} lineHeight={18}>
@@ -401,12 +409,13 @@ const CartUI = (props: any) => {
401
409
  uuid={cart?.uuid}
402
410
  businessId={cart?.business_id}
403
411
  driverTipsOptions={!driverTipsOptions.includes(0) ? [0, ...driverTipsOptions] : driverTipsOptions}
404
- isFixedPrice={parseInt(configs?.driver_tip_type?.value, 10) === 1 || !!parseInt(configs?.driver_tip_use_custom?.value, 10)}
412
+ isFixedPrice={parseInt(configs?.driver_tip_type?.value, 10) === 1}
405
413
  isDriverTipUseCustom={!!parseInt(configs?.driver_tip_use_custom?.value, 10)}
406
- driverTip={parseInt(configs?.driver_tip_type?.value, 10) === 1 || !!parseInt(configs?.driver_tip_use_custom?.value, 10)
414
+ driverTip={parseInt(configs?.driver_tip_type?.value, 10) === 1
407
415
  ? cart?.driver_tip
408
416
  : cart?.driver_tip_rate}
409
417
  useOrderContext
418
+ cart={cart}
410
419
  />
411
420
  </DriverTipsContainer>
412
421
  )}
@@ -558,12 +558,13 @@ const CheckoutUI = (props: any) => {
558
558
  uuid={cartUuid}
559
559
  businessId={cart?.business_id}
560
560
  driverTipsOptions={!driverTipsOptions.includes(0) ? [0, ...driverTipsOptions] : driverTipsOptions}
561
- isFixedPrice={parseInt(configs?.driver_tip_type?.value, 10) === 1 || !!parseInt(configs?.driver_tip_use_custom?.value, 10)}
561
+ isFixedPrice={parseInt(configs?.driver_tip_type?.value, 10) === 1}
562
562
  isDriverTipUseCustom={!!parseInt(configs?.driver_tip_use_custom?.value, 10)}
563
- driverTip={parseInt(configs?.driver_tip_type?.value, 10) === 1 || !!parseInt(configs?.driver_tip_use_custom?.value, 10)
563
+ driverTip={parseInt(configs?.driver_tip_type?.value, 10) === 1
564
564
  ? cart?.driver_tip
565
565
  : cart?.driver_tip_rate}
566
566
  useOrderContext
567
+ cart={cart}
567
568
  />
568
569
  </ChDriverTips>
569
570
  </ChSection>
@@ -23,16 +23,19 @@ const DriverTipsUI = (props: any) => {
23
23
  driverTip,
24
24
  driverTipsOptions,
25
25
  optionSelected,
26
- isFixedPrice,
26
+ cart,
27
27
  isDriverTipUseCustom,
28
- handlerChangeOption
28
+ handlerChangeOption,
29
+ isFixedPrice
29
30
  } = props;
30
31
 
31
32
  const [{ parsePrice }] = useUtils();
33
+ const theme = useTheme();
32
34
  const [, t] = useLanguage();
33
35
  const [{ configs }] = useConfig();
34
-
35
- const theme = useTheme();
36
+ const [customTip, setCustomTip] = useState((isDriverTipUseCustom && !driverTipsOptions.includes(driverTip)) ?? false)
37
+ const currentTip = customTip ? parseFloat(driverTip || 0) > 0 : (!customTip && !driverTipsOptions.includes(driverTip) && parseFloat(driverTip || 0)) > 0
38
+ const [value, setvalue] = useState('');
36
39
 
37
40
  const style = StyleSheet.create({
38
41
  semicircle: {
@@ -48,53 +51,59 @@ const DriverTipsUI = (props: any) => {
48
51
  }
49
52
  })
50
53
 
51
- const [value, setvalue] = useState('');
52
-
53
- const placeholderCurrency = (configs?.currency_position?.value || 'left') === 'left'
54
+ const placeholderCurrency = !isFixedPrice ? `0%` : (configs?.currency_position?.value || 'left') === 'left'
54
55
  ? `${configs?.format_number_currency?.value}0`
55
56
  : `0${configs?.format_number_currency?.value}`
56
57
 
57
58
  const handleChangeDriverTip = (val: any) => {
58
59
  const tip = Number(val)
59
60
  if ((isNaN(tip) || tip < 0)) {
60
- setvalue(value)
61
- return
61
+ setvalue(value)
62
+ return
62
63
  }
63
64
  setvalue(val)
64
65
  }
65
-
66
+
66
67
  return (
67
68
  <DTContainer>
68
69
  <DTLabel>
69
70
  {t('CUSTOM_DRIVER_TIP_MESSAGE', '100% of these tips go directly to your driver')}
70
71
  </DTLabel>
71
72
  <DTWrapperTips>
72
- {!isDriverTipUseCustom && driverTipsOptions.map((option: any, i: number) => (
73
+ {driverTipsOptions.map((option: any, i: number) => (
73
74
  <TouchableOpacity
74
75
  key={i}
75
- onPress={() => handlerChangeOption(option)}
76
+ onPress={() => {
77
+ handlerChangeOption(option)
78
+ setCustomTip(false)
79
+ }}
76
80
  >
77
81
  <DTCard
78
82
  style={style.semicircle}
79
- isActive={option === optionSelected}
83
+ isActive={(option === driverTip && !customTip)}
80
84
  >
81
- <OText size={12} numberOfLines={2} color={option === optionSelected ? '#FFF' : theme.colors.textSecondary}>
85
+ <OText size={12} numberOfLines={2} color={(option === driverTip && !customTip) ? '#FFF' : theme.colors.textSecondary}>
82
86
  {`${isFixedPrice ? parsePrice(option) : `${option}%`}`}
83
87
  </OText>
84
88
  </DTCard>
85
89
  </TouchableOpacity>
86
90
  ))}
91
+ {isDriverTipUseCustom && (
92
+ <TouchableOpacity
93
+ onPress={() => setCustomTip(true)}
94
+ >
95
+ <DTCard
96
+ style={style.semicircle}
97
+ isActive={customTip}
98
+ >
99
+ <OText size={12} numberOfLines={2} color={customTip ? '#FFF' : theme.colors.textSecondary}>
100
+ {t('CUSTOM_TIP', 'Custom')}
101
+ </OText>
102
+ </DTCard>
103
+ </TouchableOpacity>
104
+ )}
87
105
  </DTWrapperTips>
88
- {(!isDriverTipUseCustom && !driverTipsOptions.includes(driverTip) && driverTip > 0) && (
89
- <OText
90
- color={theme.colors.error}
91
- size={16}
92
- style={{ marginTop: 10, textAlign: 'center' }}
93
- >
94
- {t('CUSTOM_DRIVER_TIP_AMOUNT', 'The driver\'s current tip comes from a custom option')}
95
- </OText>
96
- )}
97
- {isDriverTipUseCustom && (
106
+ {customTip && (
98
107
  <DTForm>
99
108
  <DTWrapperInput>
100
109
  <OInput
@@ -120,17 +129,18 @@ const DriverTipsUI = (props: any) => {
120
129
  }}
121
130
  />
122
131
  </DTWrapperInput>
123
- {parseFloat(driverTip || 0) > 0 && (
124
- <OText
125
- color={theme.colors.error}
126
- size={16}
127
- style={{ marginTop: 10, textAlign: 'center' }}
128
- >
129
- {t('CURRENT_DRIVER_TIP_AMOUNT', 'Current driver tip amount')}: {parsePrice(driverTip)}
130
- </OText>
131
- )}
132
132
  </DTForm>
133
133
  )}
134
+ {currentTip && (
135
+ <OText
136
+ color={theme.colors.primary}
137
+ size={16}
138
+ style={{ marginTop: 10, textAlign: 'center' }}
139
+ >
140
+ {t('CURRENT_DRIVER_TIP_AMOUNT', 'Current driver tip amount')}{!isFixedPrice &&
141
+ ` (${driverTip}%)`}: {isFixedPrice ? parsePrice(driverTip) : parsePrice(cart?.driver_tip)}
142
+ </OText>
143
+ )}
134
144
  </DTContainer>
135
145
  )
136
146
  }
@@ -147,18 +147,16 @@ export const MyOrders = (props: any) => {
147
147
  )}
148
148
  {selectedOption === 'orders' && (
149
149
  <>
150
- {ordersLength?.activeOrdersLength !== 0 && (
151
- <View style={{ paddingHorizontal: isChewLayout ? 20 : 40 }}>
152
- <OrdersOption
153
- {...props}
154
- activeOrders
155
- ordersLength={ordersLength}
156
- setOrdersLength={setOrdersLength}
157
- setRefreshOrders={setRefreshOrders}
158
- refreshOrders={refreshOrders}
159
- />
160
- </View>
161
- )}
150
+ <View style={{ paddingHorizontal: isChewLayout ? 20 : 40 }}>
151
+ <OrdersOption
152
+ {...props}
153
+ activeOrders
154
+ ordersLength={ordersLength}
155
+ setOrdersLength={setOrdersLength}
156
+ setRefreshOrders={setRefreshOrders}
157
+ refreshOrders={refreshOrders}
158
+ />
159
+ </View>
162
160
  <View style={{ paddingHorizontal: isChewLayout ? 20 : 40 }}>
163
161
  <OrdersOption
164
162
  {...props}
@@ -26,7 +26,7 @@ export const PreviousProductsOrdered = (props: PreviousProductsOrderedParams) =>
26
26
  const ProductList = ({ style }: any) => {
27
27
  return (
28
28
  <>
29
- {products?.map((product: any) => (
29
+ {products?.filter((product : any) => product?.business?.available)?.map((product: any) => (
30
30
  <SingleProductCard
31
31
  key={product?.id}
32
32
  isProductId
@@ -3,7 +3,6 @@ import { OrderList, useLanguage, useOrder, ToastType, useToast } from 'ordering-
3
3
  import { useTheme } from 'styled-components/native';
4
4
  import { useFocusEffect } from '@react-navigation/native'
5
5
  import { OText, OButton } from '../shared'
6
- import { NotFoundSource } from '../NotFoundSource'
7
6
  import { ActiveOrders } from '../ActiveOrders'
8
7
  import { PreviousOrders } from '../PreviousOrders'
9
8
  import { PreviousBusinessOrdered } from './PreviousBusinessOrdered'
@@ -73,22 +72,22 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
73
72
  useEffect(() => {
74
73
  if (loading || error) return
75
74
  const ordersReduced = _orders.map((order: any) => order?.cart_group_id
76
- ? _orders
77
- .filter((_order: any) => _order?.cart_group_id === order?.cart_group_id)
78
- .map((_o: any, _: any, _ordersList: any) => {
79
- const obj = {
80
- ..._o,
81
- id: _ordersList.map(o => o.id),
82
- review: _o.review,
83
- user_review: _o.user_review,
84
- total: _ordersList.reduce((acc: any, o: any) => acc + o.summary.total, 0),
85
- business: _ordersList.map((o: any) => o.business),
86
- business_id: _ordersList.map((o: any) => o.business_id),
87
- products: _ordersList.map((o: any) => o.products)
88
- }
89
- return obj
90
- }).find((o: any) => o)
91
- : order)
75
+ ? _orders
76
+ .filter((_order: any) => _order?.cart_group_id === order?.cart_group_id)
77
+ .map((_o: any, _: any, _ordersList: any) => {
78
+ const obj = {
79
+ ..._o,
80
+ id: _ordersList.map(o => o.id),
81
+ review: _o.review,
82
+ user_review: _o.user_review,
83
+ total: _ordersList.reduce((acc: any, o: any) => acc + o.summary.total, 0),
84
+ business: _ordersList.map((o: any) => o.business),
85
+ business_id: _ordersList.map((o: any) => o.business_id),
86
+ products: _ordersList.map((o: any) => o.products)
87
+ }
88
+ return obj
89
+ }).find((o: any) => o)
90
+ : order)
92
91
  const orders = ordersReduced?.filter((order: any) => {
93
92
  if (!order?.cart_group_id) return true
94
93
  const isDuplicate = uniqueOrders.includes(order?.cart_group_id)
@@ -193,7 +192,7 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
193
192
 
194
193
  </NoOrdersWrapper>
195
194
  )}
196
- {(ordersLength?.activeOrdersLength > 0 || ordersLength?.previousOrdersLength > 0) && (
195
+ {((ordersLength?.activeOrdersLength > 0 && activeOrders) || (ordersLength?.previousOrdersLength > 0 && !activeOrders)) && (
197
196
  <>
198
197
  {((titleContent && ((isBusiness && businessOrderIds?.length > 0) || isProducts)) || !titleContent) && (
199
198
  <OptionTitle titleContent={!!titleContent} isBusinessesSearchList={!!businessesSearchList}>
@@ -206,17 +205,6 @@ const OrdersOptionUI = (props: OrdersOptionParams) => {
206
205
  </OText>
207
206
  </OptionTitle>
208
207
  )}
209
-
210
- {!(ordersLength?.activeOrdersLength === 0 && ordersLength?.previousOrdersLength === 0) &&
211
- !loading &&
212
- orders.filter((order: any) => orderStatus.includes(order.status)).length === 0 &&
213
- (
214
- <NotFoundSource
215
- content={t('NO_RESULTS_FOUND', 'Sorry, no results found')}
216
- image={imageFails}
217
- conditioned
218
- />
219
- )}
220
208
  </>
221
209
  )}
222
210
  {isBusiness && !!businessesSearchList && businesses?.loading && (
@@ -16,4 +16,5 @@ export const DurationWrapper = styled.View`
16
16
 
17
17
  export const Container = styled.View`
18
18
  padding-top: ${(props: any) => props.pdng};
19
+ margin-bottom: 50px;
19
20
  `