ordering-ui-react-native 0.22.21 → 0.22.22-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.
- package/package.json +6 -7
- package/src/DeliveryApp.tsx +43 -1
- package/src/components/BusinessesListing/index.tsx +1 -1
- package/src/components/Checkout/index.tsx +40 -39
- package/src/components/StripeMethodForm/index.tsx +4 -2
- package/src/components/VerifyPhone/styles.tsx +1 -2
- package/src/context/OfflineActions/index.tsx +236 -0
- package/src/types/index.tsx +2 -1
- package/themes/business/index.tsx +2 -0
- package/themes/business/src/components/AcceptOrRejectOrder/index.tsx +9 -6
- package/themes/business/src/components/AcceptOrRejectOrder/styles.tsx +1 -0
- package/themes/business/src/components/BusinessController/index.tsx +8 -3
- package/themes/business/src/components/BusinessProductList/index.tsx +3 -2
- package/themes/business/src/components/Chat/index.tsx +15 -3
- package/themes/business/src/components/DriverMap/index.tsx +49 -26
- package/themes/business/src/components/FloatingButton/index.tsx +3 -2
- package/themes/business/src/components/GoogleMap/index.tsx +15 -8
- package/themes/business/src/components/LanguageSelector/index.tsx +2 -3
- package/themes/business/src/components/LanguageSelector/lang_country.json +515 -70
- package/themes/business/src/components/LogoutButton/index.tsx +1 -1
- package/themes/business/src/components/MapView/index.tsx +36 -17
- package/themes/business/src/components/NewOrderNotification/index.tsx +38 -19
- package/themes/business/src/components/OrderDetails/Business.tsx +47 -27
- package/themes/business/src/components/OrderDetails/Delivery.tsx +134 -53
- package/themes/business/src/components/OrderDetails/OrderContentComponent.tsx +128 -41
- package/themes/business/src/components/OrderDetails/OrderHeaderComponent.tsx +45 -18
- package/themes/business/src/components/OrderDetails/styles.tsx +39 -3
- package/themes/business/src/components/OrderDetails/usePrinterCommands.tsx +17 -16
- package/themes/business/src/components/OrderDetailsLogistic/index.tsx +3 -2
- package/themes/business/src/components/OrderSummary/index.tsx +6 -4
- package/themes/business/src/components/OrdersListManager/index.tsx +13 -1
- package/themes/business/src/components/OrdersOption/index.tsx +217 -156
- package/themes/business/src/components/PhoneInputNumber/index.tsx +8 -5
- package/themes/business/src/components/PreviousMessages/index.tsx +26 -3
- package/themes/business/src/components/PreviousOrders/OrderItem.tsx +39 -16
- package/themes/business/src/components/PreviousOrders/index.tsx +74 -66
- package/themes/business/src/components/PrinterEdition/MessageAlert.tsx +33 -0
- package/themes/business/src/components/PrinterEdition/index.tsx +431 -0
- package/themes/business/src/components/PrinterEdition/printerList.tsx +23 -0
- package/themes/business/src/components/PrinterEdition/styles.tsx +61 -0
- package/themes/business/src/components/PrinterSettings/index.tsx +162 -174
- package/themes/business/src/components/PrinterSettings/styles.tsx +14 -1
- package/themes/business/src/components/ProductItemAccordion/index.tsx +3 -2
- package/themes/business/src/components/ReviewCustomer/index.tsx +2 -0
- package/themes/business/src/components/StoresList/index.tsx +2 -2
- package/themes/business/src/components/UserProfileForm/index.tsx +55 -22
- package/themes/business/src/components/UserProfileForm/styles.tsx +7 -0
- package/themes/business/src/components/WebsocketStatus/index.tsx +2 -2
- package/themes/business/src/components/shared/OTextarea.tsx +8 -9
- package/themes/business/src/config/currency.tsx +1010 -0
- package/themes/business/src/hooks/useLocation.tsx +16 -12
- package/themes/business/src/layouts/SafeAreaContainer.tsx +35 -19
- package/themes/business/src/types/index.tsx +16 -4
- package/themes/business/src/utils/index.tsx +33 -3
- package/themes/doordash/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/doordash/src/components/LoginForm/index.tsx +1 -2
- package/themes/instacart/src/components/BusinessesListing/index.tsx +1 -1
- package/themes/kiosk/src/components/Checkout/index.tsx +6 -0
- package/themes/kiosk/src/components/NavBar/index.tsx +14 -14
- package/themes/kiosk/src/components/OptionCard/index.tsx +1 -1
- package/themes/kiosk/src/components/OrderTypeCardSelector/index.tsx +8 -10
- package/themes/kiosk/src/components/shared/OButton.tsx +5 -18
- package/themes/original/index.tsx +11 -0
- package/themes/original/src/components/AddressForm/index.tsx +32 -17
- package/themes/original/src/components/AddressList/index.tsx +8 -7
- package/themes/original/src/components/AppleLogin/index.tsx +4 -4
- package/themes/original/src/components/BusinessBasicInformation/index.tsx +5 -8
- package/themes/original/src/components/BusinessItemAccordion/index.tsx +13 -5
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchFooter.tsx +103 -92
- package/themes/original/src/components/BusinessListingSearch/BusinessSearchHeader.tsx +8 -6
- package/themes/original/src/components/BusinessListingSearch/index.tsx +1 -2
- package/themes/original/src/components/BusinessPreorder/index.tsx +46 -28
- package/themes/original/src/components/BusinessProductsList/SubcategoriesComponent/index.tsx +73 -70
- package/themes/original/src/components/BusinessProductsList/index.tsx +6 -7
- package/themes/original/src/components/BusinessProductsList/styles.tsx +0 -3
- package/themes/original/src/components/BusinessProductsListing/index.tsx +10 -6
- package/themes/original/src/components/BusinessTypeFilter/index.tsx +9 -8
- package/themes/original/src/components/BusinessesListing/Layout/Appointment/index.tsx +2 -1
- package/themes/original/src/components/BusinessesListing/Layout/Original/styles.tsx +1 -1
- package/themes/original/src/components/BusinessesListing/index.tsx +0 -1
- package/themes/original/src/components/Cart/index.tsx +46 -14
- package/themes/original/src/components/CartContent/index.tsx +2 -4
- package/themes/original/src/components/Checkout/index.tsx +127 -77
- package/themes/original/src/components/CitiesControl/index.tsx +0 -3
- package/themes/original/src/components/CouponControl/index.tsx +1 -3
- package/themes/original/src/components/DriverTips/index.tsx +1 -3
- package/themes/original/src/components/Favorite/index.tsx +1 -5
- package/themes/original/src/components/FavoriteList/index.tsx +0 -1
- package/themes/original/src/components/ForgotPasswordForm/index.tsx +5 -7
- package/themes/original/src/components/GiftCard/GiftCardUI/index.tsx +15 -17
- package/themes/original/src/components/GiftCard/PurchaseGiftCard/index.tsx +3 -7
- package/themes/original/src/components/GiftCard/RedeemGiftCard/index.tsx +24 -32
- package/themes/original/src/components/GiftCard/SendGiftCard/index.tsx +7 -9
- package/themes/original/src/components/GiftCard/VerticalGiftCardOrdersLayout/index.tsx +11 -12
- package/themes/original/src/components/GoogleMap/index.tsx +39 -18
- package/themes/original/src/components/Help/index.tsx +2 -0
- package/themes/original/src/components/HighestRatedBusinesses/index.tsx +1 -1
- package/themes/original/src/components/Home/index.tsx +3 -11
- package/themes/original/src/components/LoginForm/Otp/index.tsx +0 -3
- package/themes/original/src/components/LoginForm/index.tsx +12 -9
- package/themes/original/src/components/MessageListing/index.tsx +2 -1
- package/themes/original/src/components/Messages/index.tsx +27 -19
- package/themes/original/src/components/MomentOption/TimeListItem.tsx +56 -0
- package/themes/original/src/components/MomentOption/index.tsx +80 -51
- package/themes/original/src/components/MomentSelector/index.tsx +5 -2
- package/themes/original/src/components/MultiCartsPaymethodsAndWallets/index.tsx +7 -3
- package/themes/original/src/components/MultiCheckout/index.tsx +55 -27
- package/themes/original/src/components/MultiOrdersDetails/index.tsx +1 -0
- package/themes/original/src/components/MyOrders/index.tsx +2 -2
- package/themes/original/src/components/NavBar/index.tsx +7 -4
- package/themes/original/src/components/NetworkError/index.tsx +0 -5
- package/themes/original/src/components/NotFoundSource/index.tsx +0 -3
- package/themes/original/src/components/OrderDetails/OrderEta.tsx +4 -3
- package/themes/original/src/components/OrderDetails/OrderHistory.tsx +16 -11
- package/themes/original/src/components/OrderDetails/index.tsx +44 -21
- package/themes/original/src/components/OrderDetails/styles.tsx +0 -1
- package/themes/original/src/components/OrderProgress/index.tsx +4 -3
- package/themes/original/src/components/OrderSummary/index.tsx +29 -10
- package/themes/original/src/components/OrderTypeSelector/index.tsx +7 -6
- package/themes/original/src/components/OrdersOption/index.tsx +3 -6
- package/themes/original/src/components/PaymentOptionStripe/index.tsx +0 -5
- package/themes/original/src/components/PaymentOptionWallet/index.tsx +56 -56
- package/themes/original/src/components/PaymentOptions/index.tsx +4 -3
- package/themes/original/src/components/PhoneInputNumber/index.tsx +92 -7
- package/themes/original/src/components/PlaceSpot/index.tsx +1 -3
- package/themes/original/src/components/PreviousOrders/index.tsx +1 -2
- package/themes/original/src/components/ProductForm/ActionButton.tsx +17 -20
- package/themes/original/src/components/ProductForm/index.tsx +107 -102
- package/themes/original/src/components/ProductItemAccordion/index.tsx +50 -43
- package/themes/original/src/components/ProductItemAccordion/styles.tsx +0 -3
- package/themes/original/src/components/ProductOptionSubOption/index.tsx +16 -8
- package/themes/original/src/components/ProfessionalProfile/index.tsx +4 -5
- package/themes/original/src/components/Promotions/index.tsx +6 -9
- package/themes/original/src/components/ReviewDriver/index.tsx +1 -1
- package/themes/original/src/components/ReviewOrder/index.tsx +2 -2
- package/themes/original/src/components/ReviewProducts/index.tsx +1 -1
- package/themes/original/src/components/ReviewTrigger/index.tsx +2 -2
- package/themes/original/src/components/ServiceForm/index.tsx +52 -54
- package/themes/original/src/components/Sessions/index.tsx +3 -3
- package/themes/original/src/components/SignupForm/index.tsx +102 -88
- package/themes/original/src/components/SingleOrderCard/index.tsx +6 -4
- package/themes/original/src/components/SingleProductCard/index.tsx +5 -5
- package/themes/original/src/components/SingleProductCard/styles.tsx +0 -3
- package/themes/original/src/components/StripeCardForm/index.tsx +0 -3
- package/themes/original/src/components/StripeCardsList/index.tsx +16 -3
- package/themes/original/src/components/StripeElementsForm/index.tsx +76 -62
- package/themes/original/src/components/StripeElementsForm/naked.tsx +48 -1
- package/themes/original/src/components/StripeRedirectForm/index.tsx +0 -3
- package/themes/original/src/components/TaxInformation/index.tsx +3 -2
- package/themes/original/src/components/UpsellingProducts/UpsellingContent.tsx +10 -7
- package/themes/original/src/components/UpsellingProducts/UpsellingLayout.tsx +8 -3
- package/themes/original/src/components/UserDetails/index.tsx +17 -16
- package/themes/original/src/components/UserFormDetails/index.tsx +164 -135
- package/themes/original/src/components/UserProfile/index.tsx +9 -1
- package/themes/original/src/components/UserVerification/index.tsx +15 -4
- package/themes/original/src/components/Wallets/index.tsx +6 -3
- package/themes/original/src/components/WebsocketStatus/index.tsx +1 -4
- package/themes/original/src/components/shared/OAlert.tsx +2 -1
- package/themes/original/src/components/shared/OButton.tsx +5 -4
- package/themes/original/src/components/shared/OInput.tsx +4 -8
- package/themes/original/src/components/shared/OModal.tsx +7 -2
- package/themes/original/src/types/index.tsx +10 -3
- package/themes/original/src/utils/index.tsx +30 -1
- package/themes/uber-eats/src/components/BusinessesListing/index.tsx +1 -1
|
@@ -66,7 +66,9 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
66
66
|
isFromProductsList,
|
|
67
67
|
hasAddressDefault,
|
|
68
68
|
afterSignup,
|
|
69
|
-
businessSlug
|
|
69
|
+
businessSlug,
|
|
70
|
+
isFromCheckout,
|
|
71
|
+
onNavigationRedirect
|
|
70
72
|
} = props;
|
|
71
73
|
|
|
72
74
|
const theme = useTheme();
|
|
@@ -132,6 +134,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
132
134
|
const [configState] = useConfig();
|
|
133
135
|
const [orderState] = useOrder();
|
|
134
136
|
const { handleSubmit, errors, control, setValue } = useForm();
|
|
137
|
+
const [autoCompleteAddress, setAutoCompleteAddress] = useState(false)
|
|
135
138
|
|
|
136
139
|
const [toggleMap, setToggleMap] = useState(false);
|
|
137
140
|
const [alertState, setAlertState] = useState<{
|
|
@@ -172,6 +175,8 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
172
175
|
const isHideMap = theme?.address?.components?.map?.hidden
|
|
173
176
|
const isHideIcons = theme?.address?.components?.icons?.hidden
|
|
174
177
|
const continueAsGuest = () => navigation.navigate(!!businessSlug ? 'Business' : 'BusinessList', { isGuestUser: true });
|
|
178
|
+
const unaddressedTypes = configState?.configs?.unaddressed_order_types_allowed?.value.split('|').map((value: any) => Number(value)) || []
|
|
179
|
+
const isAllowUnaddressOrderType = unaddressedTypes.includes(orderState?.options?.type)
|
|
175
180
|
const goToBack = () => navigation?.canGoBack() && navigation.goBack();
|
|
176
181
|
|
|
177
182
|
const getAddressFormatted = (address: any) => {
|
|
@@ -351,9 +356,6 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
351
356
|
map_data: { library: 'google', place_id: data.place_id },
|
|
352
357
|
zip_code: data?.zip_code || null,
|
|
353
358
|
};
|
|
354
|
-
if (googleInput?.current) {
|
|
355
|
-
googleInput?.current?.setAddressText(addressSelected.address);
|
|
356
|
-
}
|
|
357
359
|
updateChanges(addressSelected);
|
|
358
360
|
};
|
|
359
361
|
|
|
@@ -371,6 +373,10 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
371
373
|
setToggleMap(!toggleMap);
|
|
372
374
|
};
|
|
373
375
|
|
|
376
|
+
const showFieldWithTheme = (name) => {
|
|
377
|
+
return !theme?.address?.components?.[name]?.hidden
|
|
378
|
+
}
|
|
379
|
+
|
|
374
380
|
useEffect(() => {
|
|
375
381
|
if (
|
|
376
382
|
orderState.loading &&
|
|
@@ -379,9 +385,11 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
379
385
|
auth &&
|
|
380
386
|
!afterSignup
|
|
381
387
|
) {
|
|
382
|
-
|
|
383
|
-
? navigation.
|
|
384
|
-
:
|
|
388
|
+
isFromCheckout
|
|
389
|
+
? navigation.goBack()
|
|
390
|
+
: !isFromProductsList
|
|
391
|
+
? navigation.navigate('BottomTab')
|
|
392
|
+
: navigation.navigate('Business');
|
|
385
393
|
}
|
|
386
394
|
}, [orderState?.options?.address]);
|
|
387
395
|
|
|
@@ -520,6 +528,12 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
520
528
|
setIsSignUpEffect(true);
|
|
521
529
|
}, [orderState.loading]);
|
|
522
530
|
|
|
531
|
+
useEffect(() => {
|
|
532
|
+
if (isAllowUnaddressOrderType) {
|
|
533
|
+
onNavigationRedirect && onNavigationRedirect(!!businessSlug ? 'Business' : 'BusinessList')
|
|
534
|
+
}
|
|
535
|
+
}, [isAllowUnaddressOrderType])
|
|
536
|
+
|
|
523
537
|
return (
|
|
524
538
|
<ScrollView
|
|
525
539
|
keyboardShouldPersistTaps='always'
|
|
@@ -565,6 +579,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
565
579
|
placeholder={t('ADD_ADDRESS', 'Add a address')}
|
|
566
580
|
onPress={(data, details: any) => {
|
|
567
581
|
handleChangeAddress(data, details);
|
|
582
|
+
setAutoCompleteAddress(true);
|
|
568
583
|
}}
|
|
569
584
|
query={{
|
|
570
585
|
key: googleMapsApiKey,
|
|
@@ -579,6 +594,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
579
594
|
target: { name: 'address', value: text },
|
|
580
595
|
});
|
|
581
596
|
setValue('address', text);
|
|
597
|
+
setAutoCompleteAddress(true)
|
|
582
598
|
}
|
|
583
599
|
setIsFirstTime(false);
|
|
584
600
|
setAddressEditing(text.length == 0);
|
|
@@ -666,13 +682,15 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
666
682
|
setSaveLocation={setSaveMapLocation}
|
|
667
683
|
handleToggleMap={handleToggleMap}
|
|
668
684
|
isIntGeoCoder
|
|
685
|
+
setAutoCompleteAddress={setAutoCompleteAddress}
|
|
686
|
+
autoCompleteAddress={autoCompleteAddress}
|
|
669
687
|
/>
|
|
670
688
|
</GoogleMapContainer>
|
|
671
689
|
</View>
|
|
672
690
|
)}
|
|
673
691
|
|
|
674
692
|
<View style={{ flexDirection: 'row', flexBasis: '50%' }}>
|
|
675
|
-
{showField &&
|
|
693
|
+
{showField?.('internal_number') && ((isRequiredField && isRequiredField('internal_number')) || showFieldWithTheme('internal_number')) && (
|
|
676
694
|
<Controller
|
|
677
695
|
control={control}
|
|
678
696
|
name="internal_number"
|
|
@@ -708,7 +726,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
708
726
|
isFocusHighlight
|
|
709
727
|
style={{
|
|
710
728
|
...styles.inputsStyle,
|
|
711
|
-
marginRight: showField('internal_number') && showField('zipcode') ? 24 : 0
|
|
729
|
+
marginRight: showField?.('internal_number') && showField?.('zipcode') ? 24 : 0
|
|
712
730
|
}}
|
|
713
731
|
forwardRef={internalNumberRef}
|
|
714
732
|
returnKeyType="next"
|
|
@@ -719,7 +737,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
719
737
|
/>
|
|
720
738
|
)}
|
|
721
739
|
|
|
722
|
-
{showField &&
|
|
740
|
+
{showField?.('zipcode') && ((isRequiredField && isRequiredField('zipcode')) || showFieldWithTheme('zipcode')) && (
|
|
723
741
|
<Controller
|
|
724
742
|
control={control}
|
|
725
743
|
name="zipcode"
|
|
@@ -764,7 +782,7 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
764
782
|
)}
|
|
765
783
|
</View>
|
|
766
784
|
|
|
767
|
-
{showField &&
|
|
785
|
+
{showField?.('address_notes') && ((isRequiredField && isRequiredField('address_notes')) || showFieldWithTheme('address_notes')) && (
|
|
768
786
|
<Controller
|
|
769
787
|
control={control}
|
|
770
788
|
name="address_notes"
|
|
@@ -845,9 +863,6 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
845
863
|
: t('LOADING', 'Loading')
|
|
846
864
|
}
|
|
847
865
|
onClick={handleSubmit(onSubmit)}
|
|
848
|
-
bgColor={theme.colors.primary}
|
|
849
|
-
borderColor={theme.colors.primary}
|
|
850
|
-
textStyle={{ color: theme.colors.white }}
|
|
851
866
|
isDisabled={formState.loading}
|
|
852
867
|
style={{ borderRadius: 7.6, shadowOpacity: 0 }}
|
|
853
868
|
showNextIcon
|
|
@@ -855,8 +870,9 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
855
870
|
) : (
|
|
856
871
|
<OButton
|
|
857
872
|
text={t('CANCEL', 'Cancel')}
|
|
858
|
-
bgColor={theme.colors.
|
|
859
|
-
borderColor={theme.colors.
|
|
873
|
+
bgColor={theme.colors.secundary}
|
|
874
|
+
borderColor={theme.colors.secundary}
|
|
875
|
+
textStyle={{ color: theme.colors.textNormal }}
|
|
860
876
|
style={{ borderRadius: 7.6, borderWidth: 1, shadowOpacity: 0 }}
|
|
861
877
|
onClick={() => navigation?.canGoBack() && navigation.goBack()}
|
|
862
878
|
/>
|
|
@@ -882,7 +898,6 @@ const AddressFormUI = (props: AddressFormParams) => {
|
|
|
882
898
|
)}
|
|
883
899
|
<OButton
|
|
884
900
|
text={t('SAVE', 'Save')}
|
|
885
|
-
textStyle={{ color: theme.colors.white }}
|
|
886
901
|
imgRightSrc={null}
|
|
887
902
|
style={{ marginHorizontal: 30, marginBottom: 10 }}
|
|
888
903
|
onClick={() => setSaveMapLocation(true)}
|
|
@@ -217,7 +217,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
217
217
|
onSaveAddress: handleSaveAddress,
|
|
218
218
|
isSelectedAfterAdd: true,
|
|
219
219
|
isFromProductsList: isFromProductsList,
|
|
220
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
220
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
221
|
+
isFromCheckout: route?.params?.isFromCheckout
|
|
221
222
|
}
|
|
222
223
|
) : onNavigationRedirect(
|
|
223
224
|
'AddressFormInitial',
|
|
@@ -228,7 +229,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
228
229
|
onSaveAddress: handleSaveAddress,
|
|
229
230
|
isSelectedAfterAdd: true,
|
|
230
231
|
isFromProductsList: isFromProductsList,
|
|
231
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
232
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
233
|
+
isFromCheckout: route?.params?.isFromCheckout
|
|
232
234
|
})}
|
|
233
235
|
>
|
|
234
236
|
<OIcon src={theme.images.general.pencil} width={16} style={{ marginHorizontal: 4 }} />
|
|
@@ -293,10 +295,7 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
293
295
|
<OButton
|
|
294
296
|
text={t('ADD_NEW_ADDRESS', 'Add new Address')}
|
|
295
297
|
imgRightSrc=''
|
|
296
|
-
bgColor={theme.colors.primary}
|
|
297
|
-
textStyle={{ color: theme.colors.white }}
|
|
298
298
|
style={styles.button}
|
|
299
|
-
borderColor={theme.colors.primary}
|
|
300
299
|
onClick={() => !afterSignup ? onNavigationRedirect(
|
|
301
300
|
'AddressForm',
|
|
302
301
|
{
|
|
@@ -305,7 +304,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
305
304
|
addressesList: addressList?.addresses,
|
|
306
305
|
nopadding: true,
|
|
307
306
|
isSelectedAfterAdd: true,
|
|
308
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
307
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
308
|
+
isFromCheckout: route?.params?.isFromCheckout
|
|
309
309
|
}) : onNavigationRedirect(
|
|
310
310
|
'AddressFormInitial',
|
|
311
311
|
{
|
|
@@ -314,7 +314,8 @@ const AddressListUI = (props: AddressListParams) => {
|
|
|
314
314
|
addressesList: addressList?.addresses,
|
|
315
315
|
nopadding: true,
|
|
316
316
|
isSelectedAfterAdd: true,
|
|
317
|
-
hasAddressDefault: !!orderState.options?.address?.location
|
|
317
|
+
hasAddressDefault: !!orderState.options?.address?.location,
|
|
318
|
+
isFormCheckout: route?.params?.isFromCheckout
|
|
318
319
|
})}
|
|
319
320
|
/>
|
|
320
321
|
</>
|
|
@@ -21,7 +21,7 @@ export const AppleLogin = (props: any) => {
|
|
|
21
21
|
const [{ configs }] = useConfig();
|
|
22
22
|
const [credentialStateForUser, updateCredentialStateForUser] = useState<any>(-1);
|
|
23
23
|
|
|
24
|
-
let user
|
|
24
|
+
let user: any = null
|
|
25
25
|
|
|
26
26
|
const buttonText = auth
|
|
27
27
|
? t('CONTINUE_WITH_APPLE', 'Logout with Apple')
|
|
@@ -53,7 +53,7 @@ export const AppleLogin = (props: any) => {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
const fetchAndUpdateCredentialState = async (updateCredentialStateForUser
|
|
56
|
+
const fetchAndUpdateCredentialState = async (updateCredentialStateForUser: any) => {
|
|
57
57
|
if (user === null) {
|
|
58
58
|
updateCredentialStateForUser('N/A');
|
|
59
59
|
} else {
|
|
@@ -66,7 +66,7 @@ export const AppleLogin = (props: any) => {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
const onIOSButtonPress = async (updateCredentialStateForUser
|
|
69
|
+
const onIOSButtonPress = async (updateCredentialStateForUser: any) => {
|
|
70
70
|
try {
|
|
71
71
|
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
72
72
|
requestedOperation: appleAuth.Operation.LOGIN,
|
|
@@ -79,7 +79,7 @@ export const AppleLogin = (props: any) => {
|
|
|
79
79
|
identityToken,
|
|
80
80
|
authorizationCode
|
|
81
81
|
} = appleAuthRequestResponse;
|
|
82
|
-
|
|
82
|
+
|
|
83
83
|
user = newUser;
|
|
84
84
|
|
|
85
85
|
fetchAndUpdateCredentialState(updateCredentialStateForUser).catch(error =>
|
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
SocialListWrapper
|
|
27
27
|
} from './styles';
|
|
28
28
|
import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';
|
|
29
|
-
const types = ['food', 'laundry', 'alcohol', 'groceries'];
|
|
30
29
|
|
|
31
30
|
let BusinessInformation: null | React.ElementType = null
|
|
32
31
|
let BusinessReviews: null | React.ElementType = null
|
|
@@ -36,6 +35,7 @@ export const BusinessBasicInformation = (
|
|
|
36
35
|
) => {
|
|
37
36
|
const { navigation, businessState, isBusinessInfoShow, logo, header, isPreOrder } = props;
|
|
38
37
|
const { business, loading } = businessState;
|
|
38
|
+
const types = business?.types && business?.types?.filter(({ enabled }) => (enabled)).map(({ name }) => (name))
|
|
39
39
|
|
|
40
40
|
const theme = useTheme();
|
|
41
41
|
const [orderState] = useOrder();
|
|
@@ -146,14 +146,11 @@ export const BusinessBasicInformation = (
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
const getBusinessType = () => {
|
|
149
|
-
if (
|
|
149
|
+
if (!types) return t('GENERAL', 'General');
|
|
150
150
|
const _types: any = [];
|
|
151
151
|
types.forEach(
|
|
152
|
-
(type) =>
|
|
153
|
-
|
|
154
|
-
_types.push(
|
|
155
|
-
t(`BUSINESS_TYPE_${type?.replace(/\s/g, '_')?.toUpperCase()}`, type),
|
|
156
|
-
),
|
|
152
|
+
(type: any) =>
|
|
153
|
+
_types.push(type)
|
|
157
154
|
);
|
|
158
155
|
return _types.join(', ');
|
|
159
156
|
};
|
|
@@ -455,7 +452,7 @@ export const BusinessBasicInformation = (
|
|
|
455
452
|
</BusinessInfoItem>
|
|
456
453
|
</View>
|
|
457
454
|
<WrapReviews>
|
|
458
|
-
{!isBusinessInfoShow && (
|
|
455
|
+
{!isBusinessInfoShow && !loading && (
|
|
459
456
|
<>
|
|
460
457
|
{isPreOrder && (!business?.professionals || business?.professionals?.length === 0) && (
|
|
461
458
|
<>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect } from 'react';
|
|
2
|
-
import { TouchableOpacity, View } from 'react-native';
|
|
2
|
+
import { TouchableOpacity, View, Vibration } from 'react-native';
|
|
3
3
|
import { useOrder, useLanguage, useUtils, useConfig, useEvent } from 'ordering-components/native';
|
|
4
4
|
import { useTheme } from 'styled-components/native';
|
|
5
5
|
import {
|
|
@@ -57,6 +57,9 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
57
57
|
return acc = acc
|
|
58
58
|
}, cart?.subtotal)
|
|
59
59
|
|
|
60
|
+
const bgStyle = (subtotalWithTaxes < cart?.minimum || !cart?.valid_address) ? theme.colors.secundary : theme.colors.primary
|
|
61
|
+
const textStyles = (subtotalWithTaxes < cart?.minimum || !cart?.valid_address) ? theme.colors.black : theme.colors.white
|
|
62
|
+
|
|
60
63
|
useEffect(() => {
|
|
61
64
|
if (isActive && !isFromUpselling) {
|
|
62
65
|
if (cart?.uuid !== viewedCart?.uuid) {
|
|
@@ -66,6 +69,11 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
66
69
|
}
|
|
67
70
|
}, [isActive, viewedCart])
|
|
68
71
|
|
|
72
|
+
const handleGoToStore = () => {
|
|
73
|
+
Vibration.vibrate(100)
|
|
74
|
+
props.onNavigationRedirect('Business', { store: cart?.business?.slug })
|
|
75
|
+
}
|
|
76
|
+
|
|
69
77
|
return (
|
|
70
78
|
<BIContainer isClosed={isClosed} isMultiCheckout={isMultiCheckout} checkoutVisible={!isActive && !isClosed && !!isProducts && !checkoutButtonDisabled}>
|
|
71
79
|
<BIHeader
|
|
@@ -79,7 +87,7 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
79
87
|
<View style={{ flexDirection: 'row' }}>
|
|
80
88
|
{props.onNavigationRedirect && !isClosed && !isGiftCart && (
|
|
81
89
|
<>
|
|
82
|
-
<TouchableOpacity onPress={() =>
|
|
90
|
+
<TouchableOpacity onPress={() => handleGoToStore()}>
|
|
83
91
|
<OText color={theme.colors.primary} size={12} lineHeight={18} style={{ textDecorationLine: 'underline' }}>{t('GO_TO_STORE', 'Go to store')}</OText>
|
|
84
92
|
</TouchableOpacity>
|
|
85
93
|
</>
|
|
@@ -153,11 +161,11 @@ export const BusinessItemAccordion = (props: any) => {
|
|
|
153
161
|
{cart?.valid_products && (
|
|
154
162
|
<OButton
|
|
155
163
|
onClick={handleClickCheckout}
|
|
156
|
-
textStyle={{ color:
|
|
164
|
+
textStyle={{ color: textStyles, textAlign: 'center', flex: 1 }}
|
|
157
165
|
style={{ width: 180, flexDirection: 'row', justifyContent: 'center', borderRadius: 7.6, shadowOpacity: 0 }}
|
|
158
166
|
text={t('CHECKOUT', 'Checkout')}
|
|
159
|
-
bgColor={
|
|
160
|
-
borderColor={
|
|
167
|
+
bgColor={bgStyle}
|
|
168
|
+
borderColor={bgStyle}
|
|
161
169
|
isDisabled={checkoutButtonDisabled}
|
|
162
170
|
/>
|
|
163
171
|
)}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { useLanguage, useOrder } from 'ordering-components/native'
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { useLanguage, useOrder, useConfig } from 'ordering-components/native'
|
|
3
3
|
import { ScrollView, StyleSheet, TouchableOpacity, View, Dimensions } from 'react-native'
|
|
4
4
|
import { useTheme } from 'styled-components/native'
|
|
5
5
|
import { OButton, OModal, OText } from '../shared'
|
|
@@ -38,6 +38,7 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
38
38
|
const [orderState] = useOrder()
|
|
39
39
|
|
|
40
40
|
const [, t] = useLanguage()
|
|
41
|
+
const [{ configs }] = useConfig()
|
|
41
42
|
|
|
42
43
|
const maxDeliveryFeeOptions = [15, 25, 35, 'default']
|
|
43
44
|
// const maxProductPriceOptions = [5, 10, 15, 'default']
|
|
@@ -57,6 +58,8 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
57
58
|
{ level: '5', content: '$$$$$' }
|
|
58
59
|
]
|
|
59
60
|
|
|
61
|
+
const filterOptionsEnabled = configs?.filter_search_options?.value?.split('|') || []
|
|
62
|
+
|
|
60
63
|
const styles = StyleSheet.create({
|
|
61
64
|
container: {
|
|
62
65
|
paddingHorizontal: 40,
|
|
@@ -165,90 +168,97 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
165
168
|
>
|
|
166
169
|
{t('FILTER', 'Filter')}
|
|
167
170
|
</OText>
|
|
168
|
-
|
|
169
|
-
<
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
171
|
+
{filterOptionsEnabled.includes('sort') && (
|
|
172
|
+
<SortContainer>
|
|
173
|
+
<OText weight='bold' mBottom={7} size={16}>
|
|
174
|
+
{t('SORT', 'Sort')}
|
|
175
|
+
</OText>
|
|
176
|
+
{sortItems?.filter(item => !(orderState?.options?.type === 1 && item?.value === 'pickup_time') && !(orderState?.options?.type === 2 && item?.value === 'delivery_time'))?.map(item => (
|
|
177
|
+
<TouchableOpacity
|
|
178
|
+
key={item?.value}
|
|
179
|
+
onPress={() => handleChangeFilters('orderBy', item?.value)}
|
|
180
|
+
style={{ marginBottom: 7 }}
|
|
181
|
+
>
|
|
182
|
+
<OText
|
|
183
|
+
weight={filters?.orderBy?.includes(item?.value) ? 'bold' : '500'}
|
|
184
|
+
mBottom={filters?.orderBy?.includes(item?.value) ? 5 : 0}
|
|
185
|
+
>
|
|
186
|
+
{item?.text} {(filters?.orderBy?.includes(item?.value)) && <>{filters?.orderBy?.includes('-') ? <AntDesignIcon name='caretup' /> : <AntDesignIcon name='caretdown' />}</>}
|
|
187
|
+
</OText>
|
|
188
|
+
</TouchableOpacity>
|
|
189
|
+
))}
|
|
190
|
+
</SortContainer>
|
|
191
|
+
)}
|
|
192
|
+
{filterOptionsEnabled.includes('brands') && (
|
|
193
|
+
|
|
194
|
+
<BrandContainer>
|
|
195
|
+
<OText
|
|
196
|
+
size={16}
|
|
197
|
+
weight='bold'
|
|
198
|
+
lineHeight={24}
|
|
199
|
+
style={{ marginBottom: 10 }}
|
|
177
200
|
>
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
201
|
+
{t('BRANDS', 'Brands')}
|
|
202
|
+
</OText>
|
|
203
|
+
{!brandList?.loading && !brandList?.error && brandList?.brands?.length > 0 && (
|
|
204
|
+
<ScrollView
|
|
205
|
+
style={{ maxHeight: 300, marginBottom: 10 }}
|
|
206
|
+
showsVerticalScrollIndicator={true}
|
|
207
|
+
nestedScrollEnabled={true}
|
|
181
208
|
>
|
|
182
|
-
{
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
209
|
+
{brandList?.brands.map((brand: any, i: number) => brand?.enabled && (
|
|
210
|
+
<BrandItem
|
|
211
|
+
key={i}
|
|
212
|
+
onPress={() => handleChangeBrandFilter(brand?.id)}
|
|
213
|
+
>
|
|
214
|
+
<OText
|
|
215
|
+
size={14}
|
|
216
|
+
weight={'400'}
|
|
217
|
+
lineHeight={24}
|
|
218
|
+
>
|
|
219
|
+
{brand?.name}
|
|
220
|
+
</OText>
|
|
221
|
+
{filters?.franchise_ids?.includes(brand?.id) && (
|
|
222
|
+
<AntDesignIcon
|
|
223
|
+
name='check'
|
|
224
|
+
color={theme.colors.success500}
|
|
225
|
+
size={16}
|
|
226
|
+
/>
|
|
227
|
+
)}
|
|
228
|
+
</BrandItem>
|
|
229
|
+
))}
|
|
230
|
+
</ScrollView>
|
|
231
|
+
)}
|
|
232
|
+
{!brandList?.loading && ((brandList?.brands?.filter((brand: any) => brand?.enabled))?.length === 0) && (
|
|
233
|
+
<OText size={14} weight='400'>{t('NO_RESULTS_FOUND', 'Sorry, no results found')}</OText>
|
|
234
|
+
)}
|
|
235
|
+
</BrandContainer>
|
|
236
|
+
)}
|
|
237
|
+
{filterOptionsEnabled.includes('price_range') && (
|
|
238
|
+
<PriceFilterWrapper>
|
|
239
|
+
<OText
|
|
240
|
+
size={16}
|
|
241
|
+
weight='bold'
|
|
242
|
+
lineHeight={24}
|
|
243
|
+
style={{ marginBottom: 5 }}
|
|
201
244
|
>
|
|
202
|
-
{
|
|
203
|
-
|
|
245
|
+
{t('PRICE_RANGE', 'Price range')}
|
|
246
|
+
</OText>
|
|
247
|
+
<View style={styles.priceContainer}>
|
|
248
|
+
{priceList.map((price: any, i: number) => (
|
|
249
|
+
<OButton
|
|
204
250
|
key={i}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
>
|
|
212
|
-
{brand?.name}
|
|
213
|
-
</OText>
|
|
214
|
-
{filters?.franchise_ids?.includes(brand?.id) && (
|
|
215
|
-
<AntDesignIcon
|
|
216
|
-
name='check'
|
|
217
|
-
color={theme.colors.success500}
|
|
218
|
-
size={16}
|
|
219
|
-
/>
|
|
220
|
-
)}
|
|
221
|
-
</BrandItem>
|
|
251
|
+
bgColor={(filters?.price_level === price?.level) ? theme.colors.primary : theme.colors.backgroundGray200}
|
|
252
|
+
onClick={() => handleChangePriceRange(price?.level)}
|
|
253
|
+
text={`${price.content} ${(filters?.price_level === price?.level) ? ' X' : ''}`}
|
|
254
|
+
style={styles.priceItem}
|
|
255
|
+
textStyle={{ fontSize: 10, color: (filters?.price_level === price?.level) ? theme.colors.white : theme.colors.textNormal }}
|
|
256
|
+
/>
|
|
222
257
|
))}
|
|
223
|
-
</
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
)}
|
|
228
|
-
</BrandContainer>
|
|
229
|
-
<PriceFilterWrapper>
|
|
230
|
-
<OText
|
|
231
|
-
size={16}
|
|
232
|
-
weight='bold'
|
|
233
|
-
lineHeight={24}
|
|
234
|
-
style={{ marginBottom: 5 }}
|
|
235
|
-
>
|
|
236
|
-
{t('PRICE_RANGE', 'Price range')}
|
|
237
|
-
</OText>
|
|
238
|
-
<View style={styles.priceContainer}>
|
|
239
|
-
{priceList.map((price: any, i: number) => (
|
|
240
|
-
<OButton
|
|
241
|
-
key={i}
|
|
242
|
-
bgColor={(filters?.price_level === price?.level) ? theme.colors.primary : theme.colors.backgroundGray200}
|
|
243
|
-
onClick={() => handleChangePriceRange(price?.level)}
|
|
244
|
-
text={`${price.content} ${(filters?.price_level === price?.level) ? ' X' : ''}`}
|
|
245
|
-
style={styles.priceItem}
|
|
246
|
-
textStyle={{ fontSize: 10, color: (filters?.price_level === price?.level) ? theme.colors.backgroundLight : theme.colors.textNormal }}
|
|
247
|
-
/>
|
|
248
|
-
))}
|
|
249
|
-
</View>
|
|
250
|
-
</PriceFilterWrapper>
|
|
251
|
-
{orderState?.options?.type === 1 && (
|
|
258
|
+
</View>
|
|
259
|
+
</PriceFilterWrapper>
|
|
260
|
+
)}
|
|
261
|
+
{orderState?.options?.type === 1 && filterOptionsEnabled.includes('max_delivery_fee') && (
|
|
252
262
|
<MaxSectionItem
|
|
253
263
|
filters={filters}
|
|
254
264
|
title={t('MAX_DELIVERY_FEE', 'Max delivery fee')}
|
|
@@ -257,7 +267,7 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
257
267
|
handleChangeFilters={handleChangeFilters}
|
|
258
268
|
/>
|
|
259
269
|
)}
|
|
260
|
-
{[1, 2].includes(orderState?.options?.type) && (
|
|
270
|
+
{[1, 2].includes(orderState?.options?.type) && filterOptionsEnabled.includes('max_delivery_time') && (
|
|
261
271
|
<MaxSectionItem
|
|
262
272
|
filters={filters}
|
|
263
273
|
title={orderState?.options?.type === 1 ? t('MAX_DELIVERY_TIME', 'Max delivery time') : t('MAX_PICKUP_TIME', 'Max pickup time')}
|
|
@@ -266,14 +276,16 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
266
276
|
handleChangeFilters={handleChangeFilters}
|
|
267
277
|
/>
|
|
268
278
|
)}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
279
|
+
{filterOptionsEnabled.includes('max_distance') && (
|
|
280
|
+
<MaxSectionItem
|
|
281
|
+
filters={filters}
|
|
282
|
+
title={t('MAX_DISTANCE', 'Max distance')}
|
|
283
|
+
options={maxDistanceOptions}
|
|
284
|
+
filter='max_distance'
|
|
285
|
+
handleChangeFilters={handleChangeFilters}
|
|
286
|
+
/>
|
|
287
|
+
)}
|
|
288
|
+
{businessTypes?.length > 0 && filterOptionsEnabled.includes('business_categories') && (
|
|
277
289
|
<TagsContainer>
|
|
278
290
|
<OText weight='bold' mBottom={7} size={16}>{t('BUSINESS_CATEGORIES', 'Business categories')}</OText>
|
|
279
291
|
<View style={styles.businessTypesContainer}>
|
|
@@ -284,7 +296,7 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
284
296
|
onClick={() => handleChangeActiveBusinessType(type)}
|
|
285
297
|
text={`${t(`BUSINESS_TYPE_${type.name.replace(/\s/g, '_').toUpperCase()}`, type.name)} ${filters?.business_types?.includes(type?.id) ? 'X' : ''}`}
|
|
286
298
|
style={styles.categoryStyle}
|
|
287
|
-
textStyle={{ fontSize: 10, color: (filters?.business_types?.includes(type?.id) || (type?.id === null && filters?.business_types?.length === 0)) ?
|
|
299
|
+
textStyle={{ fontSize: 10, color: (filters?.business_types?.includes(type?.id) || (type?.id === null && filters?.business_types?.length === 0)) ? theme.colors.white : theme.colors.textNormal }}
|
|
288
300
|
/>
|
|
289
301
|
))}
|
|
290
302
|
</View>
|
|
@@ -296,7 +308,6 @@ export const BusinessSearchFooter = (props: any) => {
|
|
|
296
308
|
<OButton
|
|
297
309
|
text={t('APPLY', 'Apply')}
|
|
298
310
|
parentStyle={styles.applyButton}
|
|
299
|
-
textStyle={{ color: '#fff' }}
|
|
300
311
|
onClick={() => handleApplyFilters()}
|
|
301
312
|
/>
|
|
302
313
|
</View>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { useLanguage } from 'ordering-components/native'
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { useLanguage, useConfig } from 'ordering-components/native'
|
|
3
3
|
import { View, Platform, StyleSheet, Dimensions } from 'react-native'
|
|
4
4
|
import { HeaderTitle, OButton, OText } from '../shared'
|
|
5
5
|
import { SearchBar } from '../SearchBar';
|
|
@@ -20,6 +20,8 @@ export const BusinessSearchHeader = (props: any) => {
|
|
|
20
20
|
} = props
|
|
21
21
|
const theme = useTheme()
|
|
22
22
|
const [, t] = useLanguage()
|
|
23
|
+
const [{ configs }] = useConfig()
|
|
24
|
+
|
|
23
25
|
const noResults = (!businessesSearchList.loading && !businessesSearchList.lengthError && businessesSearchList?.businesses?.length === 0)
|
|
24
26
|
const isChewLayout = theme?.header?.components?.layout?.type?.toLowerCase() === 'chew'
|
|
25
27
|
const hideBrowse = theme?.bar_menu?.components?.browse?.hidden
|
|
@@ -47,13 +49,11 @@ export const BusinessSearchHeader = (props: any) => {
|
|
|
47
49
|
borderWidth: 0,
|
|
48
50
|
width: 26,
|
|
49
51
|
height: 26,
|
|
50
|
-
backgroundColor: '#FFF',
|
|
51
|
-
borderColor: '#FFF',
|
|
52
|
-
shadowColor: '#FFF',
|
|
53
52
|
paddingLeft: 0,
|
|
54
53
|
paddingRight: 0,
|
|
55
54
|
marginTop: 50,
|
|
56
55
|
}}
|
|
56
|
+
useArrow
|
|
57
57
|
onClick={() => props.navigation.goBack()}
|
|
58
58
|
icon={AntDesignIcon}
|
|
59
59
|
iconProps={{
|
|
@@ -63,7 +63,9 @@ export const BusinessSearchHeader = (props: any) => {
|
|
|
63
63
|
/>
|
|
64
64
|
)}
|
|
65
65
|
<HeaderTitle ph={20} text={t('SEARCH', 'Search')} />
|
|
66
|
-
|
|
66
|
+
{configs?.filter_search_options?.value !== '' && (
|
|
67
|
+
<AntDesignIcon name='filter' size={18} style={{ marginLeft: 'auto', marginTop: Platform.OS === 'ios' ? 35 : 55, paddingHorizontal: 20 }} onPress={() => handleOpenfilters()} />
|
|
68
|
+
)}
|
|
67
69
|
</View>
|
|
68
70
|
<BContainer
|
|
69
71
|
style={{ paddingHorizontal: 20 }}
|